Reputation: 38988
I'm new to Gradle and it still seems a little magic to me.
In my project we do not use the default sourceDirs because we separate the different kinds of tests:
configure(subprojects) {
sourceSets {
test {
java.srcDir('src/test/unit/java')
resources.srcDir('src/test/unit/resources')
}
integrationTest {
java.srcDir('src/test/integration/java')
resources.srcDir('src/test/integration/resources')
}
concurrencyTest {
java.srcDir('src/test/concurrency/java')
resources.srcDir('src/test/concurrency/resources')
}
componentTest {
java.srcDir('src/test/component/java')
resources.srcDir('src/test/component/resources')
}
}
}
I'm trying to configure a scala test source directory. My attempt:
apply plugin: 'scala'
configure(subprojects) {
sourceSets {
test {
java.srcDir('src/test/unit/java')
scala.srcDir('src/test/unit/scala')
resources.srcDir('src/test/unit/resources')
}
...
The result:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\projects\...\build.gradle' line: 109
# note, this is the line "sourceSets {"
* What went wrong:
A problem occurred evaluating root project 'X'.
> Could not find method sourceSets() for arguments [build_5ft63n6d7svimaibmkfq56rbrk$_run_closure4_closure18@573ed6c3] on root project 'X'.
I've tried a few other variants but cannot get it to work. Can someone help please?
Upvotes: 0
Views: 415
Reputation: 123960
The sourceSets
extension is added by language plugins like scala
, but you didn't apply the scala
plugin to the subprojects. Hence the error.
PS: Instead of configure(subprojects) { ... }
, you can just use subprojects { ... }
.
Upvotes: 1