【发布时间】:2018-03-20 07:43:45
【问题描述】:
我正在将旧项目迁移到 Gradle。构建过程的一个步骤是为专有协议生成 java 源代码。不幸的是,将项目导入 IntelliJ 时,无法识别生成的源代码,因此无法使用 IntelliJ 构建项目。
我有以下构建脚本(去掉了不相关的部分):
apply plugin: "base"
apply plugin: "java"
task generate {
description "Generates java code"
inputs.files(fileTree("src/codegen/"))
outputs.dir("${buildDir}/generated-src/")
// ...
// codegen
// ...
}
compileJava {
source(generate.outputs)
}
如果我添加以下部分,IntelliJ 会将生成的源添加为源,但无法将其识别为生成:
sourceSets {
main {
java {
srcDir "${buildDir}/generated-src/"
}
}
}
有没有办法让 IntelliJ 将生成的源识别为生成的源,以便显示阻止编辑这些类的正常警告?
【问题讨论】:
-
你试过this post中给出的例子了吗?
-
我不确定,但也可能是:
srcDirs += ["${buildDir}/generated-src/"]. -
@Henrik:现在我拥有了,像魅力一样工作。谢谢!您要添加应得信用的答案吗?
-
@PerHuss:我不介意。 :) 两秒钟。
-
@Opal: srcDir 部分按原样工作,来源已确定,只是我希望 IntelliJ 将其识别为生成...
标签: java intellij-idea gradle code-generation