web-dev-qa-db-fra.com

Comment ajouter un nouvel ensemble de sources avec Gradle Kotlin-DSL

Je veux ajouter un ensemble de sources src/gen/Java. Avec groovy c'est assez facile et déjà décrit dans https://discuss.gradle.org/t/how-to-use-gradle-with-generated-sources/9401/5

sourceSets {
   gen {
        Java.srcDir "src/gen/Java"
    }
}

Mais je suis resté avec le kotlin-dsl pour en ajouter un nouveau. Tout ce que j'ai, c'est:

Java {
    sourceSets {

    }
}

Quelqu'un peut-il aider ici à

17
guenhter

Vous devriez essayer ce qui suit:

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

J'espère que c'est ce dont vous avez besoin!

11
s1m0nw1

La réponse de @ s1m0nw1 est correcte pour ajouter un nouvel ensemble de sources. Mais pour simplement ajouter un nouveau dossier source dans un ensemble de sources existant, cela peut être utilisé:

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

Je voulais ajouter un ensemble source avec le nom "test-intégration" et le répertoire source src/test-integration/kotlin. J'ai pu y parvenir en combinant les deux réponses préexistantes:

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

A travaillé pour moi sur 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
Andrei Urvantcev

A travaillé pour moi sur 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")
}

Les codes ci-dessus peuvent également être utilisés dans le bloc subprojects.

0
joeaniu