diff --git a/jps/jps-builders-6/src/org/jetbrains/jps/incremental/BinaryContent.java b/jps/jps-builders-6/src/org/jetbrains/jps/incremental/BinaryContent.java index 60c61ecd5b48..855ca924334e 100644 --- a/jps/jps-builders-6/src/org/jetbrains/jps/incremental/BinaryContent.java +++ b/jps/jps-builders-6/src/org/jetbrains/jps/incremental/BinaryContent.java @@ -66,9 +66,8 @@ public final class BinaryContent { if (parentFile == null) { throw e; } - if (!parentFile.mkdirs()) { - throw e; - } + //noinspection ResultOfMethodCallIgnored + parentFile.mkdirs(); // second attempt _writeToFile(file, this); } diff --git a/jps/jps-builders/src/org/jetbrains/jps/builders/impl/BuildDataPathsImpl.java b/jps/jps-builders/src/org/jetbrains/jps/builders/impl/BuildDataPathsImpl.java index 6466ced6c62b..1c81ec9f18e2 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/builders/impl/BuildDataPathsImpl.java +++ b/jps/jps-builders/src/org/jetbrains/jps/builders/impl/BuildDataPathsImpl.java @@ -49,6 +49,9 @@ public class BuildDataPathsImpl implements BuildDataPaths { @Override public File getTargetDataRoot(BuildTarget target) { - return new File(getTargetTypeDataRoot(target.getTargetType()), PathUtilRt.suggestFileName(target.getId(), true, false)); + final String targetId = target.getId(); + // targetId may diff from another targetId only in case + // when used as a file name in case-insensitive file systems, both paths for different targets will point to the same dir + return new File(getTargetTypeDataRoot(target.getTargetType()), PathUtilRt.suggestFileName(targetId + "_" + Integer.toHexString(targetId.hashCode()), true, false)); } } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildDataManager.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildDataManager.java index 62b165f0a600..4528f8390369 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildDataManager.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildDataManager.java @@ -43,7 +43,7 @@ import java.util.concurrent.ConcurrentMap; * Date: 10/7/11 */ public class BuildDataManager implements StorageOwner { - private static final int VERSION = 33 + (PersistentHashMapValueStorage.COMPRESSION_ENABLED ? 1:0); + private static final int VERSION = 35 + (PersistentHashMapValueStorage.COMPRESSION_ENABLED ? 1:0); private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.incremental.storage.BuildDataManager"); private static final String SRC_TO_FORM_STORAGE = "src-form"; private static final String OUT_TARGET_STORAGE = "out-target";