summaryrefslogtreecommitdiff
path: root/java/compiler/impl/src/com/intellij
diff options
context:
space:
mode:
Diffstat (limited to 'java/compiler/impl/src/com/intellij')
-rw-r--r--java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java8
-rw-r--r--java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java31
2 files changed, 30 insertions, 9 deletions
diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java
index 03ff006eea40..01da3bc62541 100644
--- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java
+++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java
@@ -128,8 +128,6 @@ public class BuildManager implements ApplicationComponent{
private static final String COMPILER_PROCESS_JDK_PROPERTY = "compiler.process.jdk";
public static final String SYSTEM_ROOT = "compile-server";
public static final String TEMP_DIR_NAME = "_temp_";
- private static final int MAKE_TRIGGER_DELAY = 300 /*300 ms*/;
- private static final int DOCUMENT_SAVE_TRIGGER_DELAY = 1500 /*1.5 sec*/;
private final boolean IS_UNIT_TEST_MODE;
private static final String IWS_EXTENSION = ".iws";
private static final String IPR_EXTENSION = ".ipr";
@@ -161,7 +159,7 @@ public class BuildManager implements ApplicationComponent{
private final BuildManagerPeriodicTask myAutoMakeTask = new BuildManagerPeriodicTask() {
@Override
protected int getDelay() {
- return Registry.intValue("compiler.automake.trigger.delay", MAKE_TRIGGER_DELAY);
+ return Registry.intValue("compiler.automake.trigger.delay");
}
@Override
@@ -173,7 +171,7 @@ public class BuildManager implements ApplicationComponent{
private final BuildManagerPeriodicTask myDocumentSaveTask = new BuildManagerPeriodicTask() {
@Override
protected int getDelay() {
- return Registry.intValue("compiler.document.save.trigger.delay", DOCUMENT_SAVE_TRIGGER_DELAY);
+ return Registry.intValue("compiler.document.save.trigger.delay");
}
private final Semaphore mySemaphore = new Semaphore();
@@ -624,7 +622,7 @@ public class BuildManager implements ApplicationComponent{
data = new ProjectData(new SequentialTaskExecutor(PooledThreadExecutor.INSTANCE));
myProjectDataMap.put(projectPath, data);
}
- if (isRebuild || (isAutomake && Registry.is("compiler.automake.force.fs.rescan", false))) {
+ if (isRebuild || (isAutomake && Registry.is("compiler.automake.force.fs.rescan"))) {
data.dropChanges();
}
if (IS_UNIT_TEST_MODE) {
diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java
index 5752c3f5f77b..3fcfc8df5529 100644
--- a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java
+++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java
@@ -26,10 +26,7 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.packaging.artifacts.Artifact;
-import com.intellij.packaging.artifacts.ArtifactManager;
-import com.intellij.packaging.artifacts.ArtifactProperties;
-import com.intellij.packaging.artifacts.ArtifactType;
+import com.intellij.packaging.artifacts.*;
import com.intellij.packaging.elements.*;
import com.intellij.packaging.impl.elements.*;
import com.intellij.util.PathUtil;
@@ -599,5 +596,31 @@ public class ArtifactUtil {
public static String suggestArtifactFileName(String artifactName) {
return PathUtil.suggestFileName(artifactName, true, true);
}
+
+ @Nullable
+ public static Artifact addArtifact(@NotNull ModifiableArtifactModel artifactModel,
+ @NotNull ArtifactType type,
+ @NotNull ArtifactTemplate artifactTemplate) {
+ final ArtifactTemplate.NewArtifactConfiguration configuration = artifactTemplate.createArtifact();
+ if (configuration == null) {
+ return null;
+ }
+
+ final String baseName = configuration.getArtifactName();
+ String name = baseName;
+ int i = 2;
+ while (artifactModel.findArtifact(name) != null) {
+ name = baseName + i;
+ i++;
+ }
+
+ ArtifactType actualType = configuration.getArtifactType();
+ if (actualType == null) {
+ actualType = type;
+ }
+ final ModifiableArtifact artifact = artifactModel.addArtifact(name, actualType, configuration.getRootElement());
+ artifactTemplate.setUpArtifact(artifact, configuration);
+ return artifact;
+ }
}