web-dev-qa-db-ja.com

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 {

    }
}

誰かがここで助けることができますか

17
guenhter

次のことを試してください。

Java.sourceSets.create("src/gen/Java")

それがあなたが必要とするものであることを願っています!

11
s1m0nw1

@ s1m0nw1の答えは、新しいソースセットを追加するのに正しいです。しかし、既存のソースセットに新しいソースフォルダを追加するだけであれば、これを使用できます:

Java.sourceSets["main"].Java {
    srcDir("src/gen/Java")
}
12
guenhter

「test-integration」という名前のソースセットとソースディレクトリsrc/test-integration/kotlinを追加したいと思いました。私は既存の2つの答えを組み合わせることでそれを達成することができました。

Java.sourceSets.create("test-integration").Java {
    srcDir("src/test-integration/kotlin")
}
4
CorayThan

Gradle 4.10.2で私のために働きました:

sourceSets.create("integrationTest") {
    Java.srcDir("src/integrationTest/Java")
    Java.srcDir("build/generated/source/apt/integrationTest")
    resources.srcDir("src/integrationTest/resources")
}
4

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ブロックでも使用できます。

0
joeaniu