我正在尝试为我的自定义编程语言构建library.jar
。该库包含Java类和用该语言编写的类。我已经设法编译编译器,在这些类上运行它并在名为dbin
的文件夹中生成输出文件。
- src
- ...
- build
- ...
- dbin
- Foo.class
- Custom.dyo // <- the new file type
- build.gradle
我想要实现的是将dbin
目录中的所有文件复制到Jar文件中,并尝试使用以下脚本:
task buildLib(type: Jar, dependsOn: [ 'classes', 'compileDyvilLibrary' ]) {
from sourceSets.library.output
// Include Compiler Output
from fileTree(dir: 'dbin', includes: [ '**/*.class', '**/*.dyo' ])
baseName = 'dyvil-library'
}
问题在于虽然明确包含了它,但jar文件不包含任何.dyo
个文件。
答案 0 :(得分:0)
localhost:8080
行在配置时执行(即在任何任务运行之前)如果在from
实例化时指定的目录位置中不存在这些文件,那么它将不包含任何文件。
您可以尝试通过fileTree
方法进行懒惰评估来解决此问题:
from
您可能还想尝试这种语法:
from { fileTree(dir: 'dbin', includes: [ '**/*.class', '**/*.dyo' ]) }