如何使用 gradle kotlin-dsl 添加新的源集
How to add new sourceset with gradle kotlin-dsl
我想添加源集src/gen/java
。使用 groovy 这很容易,并且已在 https://discuss.gradle.org/t/how-to-use-gradle-with-generated-sources/9401/5
中进行了描述
sourceSets {
gen {
java.srcDir "src/gen/java"
}
}
但我坚持使用 kotlin-dsl 来添加一个新的。我只有:
java {
sourceSets {
}
}
谁能帮忙
您应该尝试以下操作:
java.sourceSets.create("src/gen/java")
希望这是你需要的!
@s1m0nw1 的回答是正确的,添加了一个新的源集。
但是要在现有源集中添加一个新的源文件夹,可以使用:
java.sourceSets["main"].java {
srcDir("src/gen/java")
}
我想添加名称为 "test-integration" 且源目录为 src/test-integration/kotlin
的源集。我能够通过结合两个预先存在的答案来实现这一点:
java.sourceSets.create("test-integration").java {
srcDir("src/test-integration/kotlin")
}
为我工作 Gradle 4.10.2:
sourceSets.create("integrationTest") {
java.srcDir("src/integrationTest/java")
java.srcDir("build/generated/source/apt/integrationTest")
resources.srcDir("src/integrationTest/resources")
}
为我工作 Gradle 4.10.2:
sourceSets.getByName("main") {
java.srcDir("src/main/java")
java.srcDir("src/main/kotlin")
}
sourceSets.getByName("test") {
java.srcDir("src/test/java")
java.srcDir("src/test/kotlin")
}
以上代码也可以在subprojects
块中使用。
这是我之前的:
main.kotlin.srcDirs = main.java.srcDirs = ['src']
test.kotlin.srcDirs = test.java.srcDirs = ['test']
main.resources.srcDirs = ['resources']
test.resources.srcDirs = ['testresources']
以上内容现在翻译为:
sourceSets {
main {
java {
srcDirs("src")
}
resources {
srcDirs("resources")
}
}
test {
java {
srcDirs("test")
}
resources {
srcDirs("testresources")
}
}}
kotlin-dsl
sourceSets {
this.getByName("androidTest"){
//Adds the given source directory to this set.
this.java.srcDir("src/mock/java")
}
this.getByName("test"){
this.java.srcDir("src/mock/java")
}
}
我想添加源集src/gen/java
。使用 groovy 这很容易,并且已在 https://discuss.gradle.org/t/how-to-use-gradle-with-generated-sources/9401/5
sourceSets {
gen {
java.srcDir "src/gen/java"
}
}
但我坚持使用 kotlin-dsl 来添加一个新的。我只有:
java {
sourceSets {
}
}
谁能帮忙
您应该尝试以下操作:
java.sourceSets.create("src/gen/java")
希望这是你需要的!
@s1m0nw1 的回答是正确的,添加了一个新的源集。 但是要在现有源集中添加一个新的源文件夹,可以使用:
java.sourceSets["main"].java {
srcDir("src/gen/java")
}
我想添加名称为 "test-integration" 且源目录为 src/test-integration/kotlin
的源集。我能够通过结合两个预先存在的答案来实现这一点:
java.sourceSets.create("test-integration").java {
srcDir("src/test-integration/kotlin")
}
为我工作 Gradle 4.10.2:
sourceSets.create("integrationTest") {
java.srcDir("src/integrationTest/java")
java.srcDir("build/generated/source/apt/integrationTest")
resources.srcDir("src/integrationTest/resources")
}
为我工作 Gradle 4.10.2:
sourceSets.getByName("main") {
java.srcDir("src/main/java")
java.srcDir("src/main/kotlin")
}
sourceSets.getByName("test") {
java.srcDir("src/test/java")
java.srcDir("src/test/kotlin")
}
以上代码也可以在subprojects
块中使用。
这是我之前的:
main.kotlin.srcDirs = main.java.srcDirs = ['src']
test.kotlin.srcDirs = test.java.srcDirs = ['test']
main.resources.srcDirs = ['resources']
test.resources.srcDirs = ['testresources']
以上内容现在翻译为:
sourceSets {
main {
java {
srcDirs("src")
}
resources {
srcDirs("resources")
}
}
test {
java {
srcDirs("test")
}
resources {
srcDirs("testresources")
}
}}
kotlin-dsl
sourceSets {
this.getByName("androidTest"){
//Adds the given source directory to this set.
this.java.srcDir("src/mock/java")
}
this.getByName("test"){
this.java.srcDir("src/mock/java")
}
}