build scripts: added option to clear incremental caches to recover after failing compilation

This commit is contained in:
nik
2015-03-11 15:05:12 +03:00
parent 4ea0f44584
commit 3d628750c8
2 changed files with 12 additions and 1 deletions
+2 -1
View File
@@ -27,7 +27,8 @@ target(compile: "Compile project") {
}
loadProject()
projectBuilder.targetFolder = projectBuilder.buildIncrementally ? "$home/out/incremental-build" : out
prepareOutputFolder()
if (!isDefined("avoid.project.rebuild")) {
projectBuilder.cleanOutput()
projectBuilder.buildAll()
+10
View File
@@ -14,6 +14,8 @@
* limitations under the License.
*/
import com.intellij.openapi.util.io.FileUtil
import org.jetbrains.jps.gant.JpsGantTool
import org.jetbrains.jps.gant.TeamCityBuildInfoPrinter
import org.jetbrains.jps.model.java.JavaSourceRootType
@@ -146,6 +148,14 @@ binding.setVariable("loadProject", {
compilerOptions.ADDITIONAL_OPTIONS_STRING = compilerOptions.ADDITIONAL_OPTIONS_STRING.replace("-Xlint:unchecked", "")
})
binding.setVariable("prepareOutputFolder", {
projectBuilder.targetFolder = projectBuilder.buildIncrementally ? "$home/out/incremental-build" : out
if (projectBuilder.buildIncrementally && Boolean.parseBoolean(p("jps.build.clear.incremental.caches", "false"))) {
FileUtil.delete(new File(projectBuilder.targetFolder))
FileUtil.delete(new File(projectBuilder.dataStorageRoot))
}
})
boolean hasSourceRoots(JpsModule module) {
return module.getSourceRoots(JavaSourceRootType.SOURCE).iterator().hasNext()
}