对于一个项目,我有一个自定义配置,它应该只是扩展默认配置,包括java源和依赖关系。
这就是目前的样子:
configurations {
// Tools inherits everything from default and adds on
toolsCompile.extendsFrom(compile)
}
sourceSets {
main {
java {
srcDirs = ['src']
}
}
tools {
java {
// Tools extends on the core sources
srcDirs = sourceSets.main.java.srcDirs + ['src-tools']
}
}
}
dependencies {
compile libs.a
compile libs.b
compile libs.c
// Tools adds on the dependencies of the default configuration
toolsCompile libs.d
toolsCompile libs.e
}
我知道我也可以使用子项目。在尝试之后,我放弃了它,因为我无法与Eclipse集成插件一起正常工作(从命令行使用时它可以正常工作)。
我对上述解决方案有几个问题:
tools.java.srcDirs
的方式是否正确?有更优雅的方式吗?
编辑:显然它不正确,因为gradle eclipse
会为.classpath
生成一个src
重复条目。请帮帮忙?tools
配置后,我知道我可以将其用作来自其他项目的依赖项,例如compile project(path: ':myproject', configuration: 'tools')
。如果我想要为assemble
配置获取tools
任务的输出,我需要添加什么?我必须为此做一个明确的任务吗?任务toolsClasses
是自动创建的,但不是toolsAssemble
或toolsBuild
。