Есть ли способ скомпилировать Python Protobuf, используя Gradle на Windows? - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь использовать gradle для компиляции прототипов файлов в python, задача, которая кажется тривиальной для java, но по какой-то причине не работает для python, используя то, что я до сих пор пробовал.

ранее я скомпилировал .proto файлы в java, используя этот учебник: https://github.com/google/protobuf-gradle-plugin но по какой-то причине, похоже, нет аналогичного решения для компиляции Python. Я все еще могу скомпилировать его вручную, используя CLI, но я действительно хотел бы создать решение, которое не требует выполнения каких-либо действий вручную или установки protoc на компьютере пользователя. В этой теме я нашел отрывок: https://github.com/google/protobuf-gradle-plugin/issues/52, но, похоже, он мне не подходит.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.9'
    }
}

plugins {
    id 'java'
    id "com.google.protobuf" version "0.8.8"
    id 'application'
}

group 'foo.bar'
mainClassName = 'some.class.name'
version '1.0.2'

apply plugin: 'eclipse'
apply plugin: 'maven-publish'
apply plugin: 'java'
apply plugin: 'com.google.protobuf'
apply plugin: 'idea'


repositories {
    mavenCentral()
}

dependencies {
    compile "com.google.protobuf:protobuf-java:3.6.0"
    compile("io.grpc:grpc-netty:1.7.0")
    compile("io.grpc:grpc-protobuf:1.7.0")
    compile("io.grpc:grpc-stub:1.7.0")
}

buildDir = "$rootProject.buildDir"

protobuf {
    protoc {
        artifact = "com.google.protobuf:protoc:3.6.0"
    }
    plugins {
        grpc_java {
            artifact = "io.grpc:protoc-gen-grpc-java:1.17.1"
        }
        grpc_python {
            path = "python -m grpc_tools.protoc"
        }
    }


    generateProtoTasks {
        all()*.builtins {
            java {}
            python {}
        }
        all()*.plugins {
            grpc_java {
                outputSubDir = "java"
            }
            grpc_python {
                outputSubDir = "python"
            }
        }
    }
    generatedFilesBaseDir = "$buildDir/generated/src"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...