【发布时间】:2022-01-17 10:24:04
【问题描述】:
我有一个分发具有不同子项目的项目,我想完成以下任务:
- (根)
- 客户
- 模块 A
- 模块 B
- 模块 C
- 型号
我想放
protoc {
artifact = 'com.google.protobuf:protoc:3.5.0'
}
plugins {
grpc {
artifact = "io.grpc:protoc-gen-grpc-java:1.7.0"
}
}
generateProtoTasks {
all()*.plugins {
grpc {}
}
} }
dependencies {
compile "com.google.api.grpc:proto-google-common-protos:1.0.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"
}
用于模块 A、B 和 C。
现在我的根目录中有以下内容build.gradle
subprojects{
apply plugin: 'java'
sourceCompatibility = 1.8
group 'project'
version '0.0.1-SNAPSHOT'
jar {
manifest {
attributes 'Main-Class': "com.project.${project.name}.App"
}
doFirst {
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } }
}
}
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.9.5'
}
}
所以每个子项目都使用java插件,并且有定义依赖和jar任务。 我怎样才能只为某些子项目放置第一个块?
我尝试使用Multi-project Builds - Gradle 中的变量,但无法在subprojects 块中访问它。
提前谢谢你。我真的对正确使用 Gradle 很感兴趣,而且在简单的 Android/Java 项目之外很难进入它。随意包含我应该阅读的任何文档:)
编辑:
谢谢。如果我之前没有搜索,我就不会在这里发布。显然我错过了关键字“子集”,它会给我你链接的解决方案。
【问题讨论】: