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)?