我有一个Gradle项目设置,因此它使用带有源文件的临时目录,因此它们必须是构建过程的一部分。但是IDEA一直忘记我将这些目录添加到忽略目录中。我不想修改在下一个版本中被覆盖的源文件-丢失我所做的所有更改,因为IDEA导航到错误的文件。
核心模块的成绩文件:
import org.apache.tools.ant.filters.ReplaceTokens
apply plugin: "java"
apply plugin: "scala"
sourceCompatibility = 1.6
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
def srcDirs = ["build/src/"]
sourceSets.main.java.srcDirs = ["src/"]
sourceSets.main.scala.srcDirs = srcDirs
eclipse.project {
name = appName + "-core"
}
dependencies {
}
def getGitHash = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--short', 'HEAD'
standardOutput = stdout
}
return stdout.toString().trim()
}
task prepareSources(type: Copy) {
from('src')
into('build/src')
filter(ReplaceTokens, tokens: [VERSION: version, GITHASH: getGitHash()])
}
compileScala {
dependsOn prepareSources
}
compileScala.doLast {
println("Deleting core jar")
delete("/core/build/libs/core-1.0.jar")
}
它是在添加令牌替换后开始的(我不太了解Gradle或Groovy,它们都拼凑在一起,但是可以用)。