You can filter the subprojects of your build by applied plugin. In your example this would look like this:
def javaProjects() {
subprojects.findAll { project ->
project.plugins.hasPlugin('java')
}
}
configure(javaProjects()) {
sourceSets {
integTest {
java.srcDir file('src/integration-test/java')
resources.srcDir file('src/integration-test/resources')
compileClasspath = sourceSets.main.output + configurations.integTest
runtimeClasspath = output + compileClasspath
}
}
}