From c49a318bd035ef29abd9e641bfc6be035e8dd249 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 31 Jan 2012 20:24:47 +0100 Subject: [PATCH] userdata is better than marker file --- .../jetbrains/jps/incremental/groovy/GroovyBuilder.java | 9 +++++---- platform/util/src/com/intellij/openapi/util/Key.java | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java index 0364cd2f4dd3..2a156ddbb253 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java @@ -2,6 +2,7 @@ package org.jetbrains.jps.incremental.groovy; import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.Key; import com.intellij.openapi.util.io.FileUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.Consumer; @@ -32,6 +33,7 @@ import java.util.*; */ public class GroovyBuilder extends ModuleLevelBuilder { public static final String BUILDER_NAME = "groovy"; + private static final Key CHUNK_REBUILD_ORDERED = Key.create("CHUNK_REBUILD_ORDERED"); private final boolean myForStubs; private final String myBuilderName; @@ -92,11 +94,10 @@ public class GroovyBuilder extends ModuleLevelBuilder { }); if (myForStubs && handler.shouldRetry()) { - File marker = new File(moduleOutput, "groovy_stubs_retry"); - if (marker.exists()) { - FileUtil.delete(marker); + if (CHUNK_REBUILD_ORDERED.get(context) != null) { + CHUNK_REBUILD_ORDERED.set(context, null); } else { - FileUtil.createIfDoesntExist(marker); + CHUNK_REBUILD_ORDERED.set(context, Boolean.TRUE); exitCode = ExitCode.CHUNK_REBUILD_REQUIRED; return exitCode; } diff --git a/platform/util/src/com/intellij/openapi/util/Key.java b/platform/util/src/com/intellij/openapi/util/Key.java index 967fa81553e6..d33c3f6fcf0b 100644 --- a/platform/util/src/com/intellij/openapi/util/Key.java +++ b/platform/util/src/com/intellij/openapi/util/Key.java @@ -82,7 +82,7 @@ public class Key { return get(holder) != null; } - public void set(@Nullable UserDataHolder holder, T value) { + public void set(@Nullable UserDataHolder holder, @Nullable T value) { if (holder != null) { holder.putUserData(this, value); }