From 3d628750c8a7826fbd0982114b25fc5d0374cc9b Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 11 Mar 2015 15:04:34 +0300 Subject: [PATCH] build scripts: added option to clear incremental caches to recover after failing compilation --- build/scripts/common_tests.gant | 3 ++- build/scripts/utils.gant | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/build/scripts/common_tests.gant b/build/scripts/common_tests.gant index 7286f7eb107a..34aa1914a9e6 100644 --- a/build/scripts/common_tests.gant +++ b/build/scripts/common_tests.gant @@ -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() diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index 12a2a523c743..f3575cdd18ce 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -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() }