gpt4 book ai didi

java - 如何将自定义 Antlr 输出路径添加到 Gradle 中的主源集?

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:09 26 4
gpt4 key购买 nike

所以,我对 Gradle 和 Java 总体来说还是个新手,并且遇到了很多问题。由于 IntelliJ 存在其他一些奇怪的困难,我想更改 Antlr 输出生成代码的路径。这很容易改变:

generateGrammarSource {
outputDirectory = file("src/temp/generated-code")
}

但是,现在我实际上很难将其编译到我的“主”和“测试”源集中。我基本上只是想扩展主源集和测试源集以包含这些文件。我尝试这样做:

sourceSets {
generated{
java {
srcDir 'src/temp/generated-code'
}
}
main {
compileClasspath += generated.output
runtimeClasspath += generated.output
}
test {
compileClasspath += generated.output
runtimeClasspath += generated.output
}
}

但是,这样做不允许生成的代码编译访问依赖项。因此,编译失败,因为它无法使用 antlr 包中的所有内容。

是否有任何简单的方法来添加这些依赖项,或者只是强制主源集和测试源集以某种方式包含生成的代码?

最佳答案

我最终以一种看似简单的方式解决了这个问题:

sourceSets {
main {
java {
srcDirs = ["src/main/java", "src/temp/generated-code"]
}
}
}

尽管我确实必须添加此内容才能进行正确的清理:

clean.doFirst {
delete "src/temp"
}

我觉得可能有一种比到处传递这些路径名更好的方法,但它似乎工作得很好

关于java - 如何将自定义 Antlr 输出路径添加到 Gradle 中的主源集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34932877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com