settings.gradle:
include 'core'
include 'plugin'
build.gradle:
project('core') {
apply plugin: 'java'
configurations {
alternateCompile.extendsFrom compile
alternateRuntime.extendsFrom runtime
alternateArchives.extendsFrom alternateRuntime
}
sourceSets {
alternate {
java {
srcDir 'src/alt/java'
}
compileClasspath += main.output
}
}
task alternateJar(type: Jar) {
classifier 'alternate'
from sourceSets.alternate.output
}
artifacts {
alternateArchives alternateJar
}
}
project('plugin') {
apply plugin: 'java'
dependencies {
compile project(path: ':core', configuration: 'alternateArchives')
}
task listJars << {
configurations.compile.each {
println it.name
}
}
}
console output
> gradle -q :plugin:listJars
core.jar
core-alternate.jar