0
我有一个项目中,我有两个不同的“子项目”,主库和在目录结构中的编程语言,像这样的编译器:摇篮包括源文件
我的身材。 gradle这个看起来是这样的:
sourceSets
{
library
{
java
{
srcDir 'src/library'
srcDir 'src/asm'
}
}
compiler
{
java
{
srcDir 'src/compiler'
}
}
//...
}
// ...
task buildLib(type: Jar, dependsOn: 'classes') {
from sourceSets.library.output
classifier = 'dyvil-library'
}
task buildCompiler(type: Jar, dependsOn: 'classes') {
from sourceSets.compiler.output
classifier = 'dyvil-compiler'
}
我的问题是,每当我尝试运行buildCompiler
任务,构建失败,Java编译器给了我几百错误在编译器源代码引用的库类的地方。我已经试图让编译器依赖库类如下:
task buildCompiler(type: Jar, dependsOn: [ 'classes', 'libraryClasses' ]) {
from sourceSets.compiler.output
classifier = 'dyvil-compiler'
}
但是这并没有帮助。我知道我可以在理论上的srcDirs
从sourceSets.library
复制到sourceSets.compiler
这样的:
compiler
{
java
{
srcDir 'src/library'
srcDir 'src/asm'
srcDir 'src/compiler'
}
}
但是,这似乎是显而易见的原因是一个坏主意。
编译编译器时是否还有另一种方法来包含库中的源文件(duh)?