Grpc 协议配置无法升级到 gradle 7.0 的最新版本,但可以在 gradle 4.2 中升级

Grpc protoc configuration cannot upgrade to latest version with gradle 7.0 but possible in gradle 4.2

这是我在 build.gradle 中的协议设置,可在 gradle 4.2

中使用
protobuf {
    protoc { artifact = 'com.google.protobuf:protoc:3.10.0' }
    plugins {
        javalite { artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0" }
        grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.25.0' // CURRENT_GRPC_VERSION
        }
    }
    generateProtoTasks {
        all().each { task ->
            task.plugins {
                javalite {}
                grpc { // Options added to --grpc_out
                    option 'lite' }
            }
        }
    }
}

为什么它不只在 gradle 7.0 中构建?

当前文档中描述的 protoc 设置是:

protobuf {
    protoc { artifact = 'com.google.protobuf:protoc:3.12.0' }
    plugins {
        grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.36.0' // CURRENT_GRPC_VERSION
        }
    }
    generateProtoTasks {
        all().each { task ->
            task.builtins {
                java { option 'lite' }
            }
            task.plugins {
                grpc { // Options added to --grpc_out
                    option 'lite' }
            }
        }
    }
}

与您所拥有的主要区别在于 task.plugins 和设置模式 'lite' 中缺少定义,并且使用 grpc-java 库而不是 java-lite .