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;
*/
public class GroovyBuilder extends ModuleLevelBuilder {
public static final String BUILDER_NAME = "groovy";
+ private static final Key<Boolean> CHUNK_REBUILD_ORDERED = Key.<Boolean>create("CHUNK_REBUILD_ORDERED");
private final boolean myForStubs;
private final String myBuilderName;
});
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;
}
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);
}