I have an integration test source set in gradle, and it is dependent on my main classes being compiled. I set that up by doing
integrationTestClasses.dependsOn 'classes'
Is this the way to do it, or is there a way to setup dependencies on source sets so this happens automatically? In my configurations
block I already have
integrationTestCompile { extendsFrom testCompile } integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime }
What's missing is:
dependencies { integrationTestCompile sourceSets.main.output }
With this in place, task dependencies should be established automatically.
It is also possible to establish the dependency chain when defining the sourceSets. This worked to setup the "main" sourceSet to depend on a "generated" sourceSet:
// Default sourceSets already created by the java plugin: src/main and src/test // Default content for each sourceSet: /java and /resources sourceSets { // Adding src/generated generated // Setting src/main to depend on the dependencies and output of src/generated main { compileClasspath += generated.compileClasspath + generated.output } }
The same principle should work to setup "integrationTest" to depend on "main".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With