diff --git a/.idea/artifacts/jps_plugins.xml b/.idea/artifacts/jps_plugins.xml
index fee03eee74f7..ef658048f36c 100644
--- a/.idea/artifacts/jps_plugins.xml
+++ b/.idea/artifacts/jps_plugins.xml
@@ -4,7 +4,6 @@
-
diff --git a/.idea/artifacts/jps_sources.xml b/.idea/artifacts/jps_sources.xml
index 2cd42352db97..2b7c6fd1e0b7 100644
--- a/.idea/artifacts/jps_sources.xml
+++ b/.idea/artifacts/jps_sources.xml
@@ -6,7 +6,6 @@
-
diff --git a/.idea/modules.xml b/.idea/modules.xml
index c95d45fbe908..9e15d0263725 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -60,7 +60,6 @@
-
diff --git a/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java b/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java
index 3681465f1778..ffbcdd9586d9 100644
--- a/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java
+++ b/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java
@@ -17,6 +17,7 @@ package com.intellij.compiler;
import com.intellij.ProjectTopics;
import com.intellij.application.options.PathMacrosImpl;
+import com.intellij.compiler.server.impl.CompileServerClasspathManager;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.OSProcessHandler;
@@ -99,6 +100,7 @@ public class CompileServerManager implements ApplicationComponent{
private final ProjectManager myProjectManager;
private static final int MAKE_TRIGGER_DELAY = 5 * 1000 /*5 seconds*/;
private final Map myAutomakeFutures = new HashMap();
+ private final CompileServerClasspathManager myClasspathManager = new CompileServerClasspathManager();
public CompileServerManager(final ProjectManager projectManager) {
myProjectManager = projectManager;
@@ -595,6 +597,7 @@ public class CompileServerManager implements ApplicationComponent{
cmdLine.addParameter("-classpath");
final List cp = ClasspathBootstrap.getCompileServerApplicationClasspath();
+ cp.addAll(myClasspathManager.getCompileServerPluginsClasspath());
cmdLine.addParameter(classpathToString(cp));
diff --git a/java/compiler/impl/src/com/intellij/compiler/server/CompileServerPlugin.java b/java/compiler/impl/src/com/intellij/compiler/server/CompileServerPlugin.java
new file mode 100644
index 000000000000..8a1775d27ab9
--- /dev/null
+++ b/java/compiler/impl/src/com/intellij/compiler/server/CompileServerPlugin.java
@@ -0,0 +1,37 @@
+package com.intellij.compiler.server;
+
+import com.intellij.openapi.extensions.ExtensionPointName;
+import com.intellij.openapi.extensions.PluginAware;
+import com.intellij.openapi.extensions.PluginDescriptor;
+import com.intellij.util.xmlb.annotations.Attribute;
+
+/**
+ * @author nik
+ */
+public class CompileServerPlugin implements PluginAware {
+ public static final ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.compileServer.plugin");
+ private PluginDescriptor myPluginDescriptor;
+ private String myJarPath;
+
+ /**
+ * Specifies path to a jar file which should be added to the classpath of the compile server. The path is relative to the plugin 'lib' directory.
+ * In the development node the name of this file without extension is treated as a module name and the output directory of the module is added to the classpath.
+ */
+ @Attribute("jar-path")
+ public String getJarPath() {
+ return myJarPath;
+ }
+
+ public void setJarPath(String jarPath) {
+ myJarPath = jarPath;
+ }
+
+ @Override
+ public final void setPluginDescriptor(PluginDescriptor pluginDescriptor) {
+ myPluginDescriptor = pluginDescriptor;
+ }
+
+ public PluginDescriptor getPluginDescriptor() {
+ return myPluginDescriptor;
+ }
+}
diff --git a/java/compiler/impl/src/com/intellij/compiler/server/impl/CompileServerClasspathManager.java b/java/compiler/impl/src/com/intellij/compiler/server/impl/CompileServerClasspathManager.java
new file mode 100644
index 000000000000..f1bd0abfc030
--- /dev/null
+++ b/java/compiler/impl/src/com/intellij/compiler/server/impl/CompileServerClasspathManager.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2000-2012 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.compiler.server.impl;
+
+import com.intellij.compiler.server.CompileServerPlugin;
+import com.intellij.ide.plugins.IdeaPluginDescriptor;
+import com.intellij.ide.plugins.PluginManager;
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.extensions.PluginId;
+import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.util.PathUtil;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author nik
+ */
+public class CompileServerClasspathManager {
+ private static final Logger LOG = Logger.getInstance("#com.intellij.compiler.server.impl.CompileServerClasspathManager");
+ private List myCompileServerPluginsClasspath;
+
+ public List getCompileServerPluginsClasspath() {
+ if (myCompileServerPluginsClasspath == null) {
+ myCompileServerPluginsClasspath = computeCompileServerPluginsClasspath();
+ }
+ return myCompileServerPluginsClasspath;
+ }
+
+ private static List computeCompileServerPluginsClasspath() {
+ final List classpath = new ArrayList();
+ for (CompileServerPlugin serverPlugin : CompileServerPlugin.EP_NAME.getExtensions()) {
+ final PluginId pluginId = serverPlugin.getPluginDescriptor().getPluginId();
+ final IdeaPluginDescriptor plugin = PluginManager.getPlugin(pluginId);
+ LOG.assertTrue(plugin != null, pluginId);
+ final File baseFile = plugin.getPath();
+ if (baseFile.isFile()) {
+ classpath.add(baseFile);
+ }
+ else if (baseFile.isDirectory()) {
+ final String relativePath = serverPlugin.getJarPath();
+ File jarFile = new File(new File(baseFile, "lib"), relativePath);
+ if (jarFile.exists()) {
+ classpath.add(jarFile);
+ }
+ else {
+ //development mode: add directory out/classes/production/ to classpath, assuming that jar-name is equal to module name
+ final String moduleName = FileUtil.getNameWithoutExtension(PathUtil.getFileName(relativePath));
+ final File dir = new File(baseFile.getParentFile(), moduleName);
+ if (!dir.exists()) {
+ LOG.warn("Cannot add plugin " + pluginId + " to compile server classpath: " + jarFile.getAbsolutePath() + " and " +
+ dir.getAbsolutePath() + " don't exist");
+ }
+ classpath.add(dir);
+ }
+ }
+ }
+ return classpath;
+ }
+}
diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java
index f1a0966c1dc6..123463734811 100644
--- a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java
+++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java
@@ -509,6 +509,11 @@ public class ExtractMethodProcessor implements MatchProvider {
myVariableDatum[i] = myInputVariables.getInputVariables().get(i);
}
}
+
+ @TestOnly
+ public void doNotPassParameter(int i) {
+ myVariableDatum[i].passAsParameter = false;
+ }
/**
* Invoked in command and in atomic action
@@ -760,6 +765,7 @@ public class ExtractMethodProcessor implements MatchProvider {
for (int i = 0, length = myVariableDatum.length; i < length; i++) {
ParameterTablePanel.VariableData data = myVariableDatum[i];
+ if (!data.passAsParameter) continue;
final PsiVariable variable = data.variable;
final PsiParameter psiParameter = newMethod.getParameterList().getParameters()[i];
if (!TypeConversionUtil.isAssignable(variable.getType(), psiParameter.getType())) {
diff --git a/java/java-tests/testData/refactoring/extractMethod/DisabledParam.java b/java/java-tests/testData/refactoring/extractMethod/DisabledParam.java
new file mode 100644
index 000000000000..64406a7febeb
--- /dev/null
+++ b/java/java-tests/testData/refactoring/extractMethod/DisabledParam.java
@@ -0,0 +1,6 @@
+class Fest {
+ public static void main(String[] args) {
+ String f = "";
+ System.out.println(f);
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/refactoring/extractMethod/DisabledParam_after.java b/java/java-tests/testData/refactoring/extractMethod/DisabledParam_after.java
new file mode 100644
index 000000000000..c25ade46e4d5
--- /dev/null
+++ b/java/java-tests/testData/refactoring/extractMethod/DisabledParam_after.java
@@ -0,0 +1,11 @@
+class Fest {
+ public static void main(String[] args) {
+ String f = "";
+ newMethod();
+ }
+
+ private static void newMethod() {
+ String f = ;
+ System.out.println(f);
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java b/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java
index cf4e75003a50..dd534625c829 100644
--- a/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java
+++ b/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiFile;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
+import com.intellij.refactoring.extractMethod.ExtractMethodHandler;
import com.intellij.refactoring.extractMethod.ExtractMethodProcessor;
import com.intellij.refactoring.extractMethod.PrepareFailedException;
import com.intellij.refactoring.introduceVariable.IntroduceVariableBase;
@@ -500,6 +501,16 @@ public class ExtractMethodTest extends LightCodeInsightTestCase {
public void testRedundantCast() throws Exception {
doTest();
}
+
+ public void testDisabledParam() throws Exception {
+ final CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(getProject());
+ settings.ELSE_ON_NEW_LINE = true;
+ settings.CATCH_ON_NEW_LINE = myCatchOnNewLine;
+ configureByFile(BASE_PATH + getTestName(false) + ".java");
+ boolean success = performExtractMethod(true, true, getEditor(), getFile(), getProject(), false, 0);
+ assertTrue(success);
+ checkResultByFile(BASE_PATH + getTestName(false) + "_after.java");
+ }
private void doPrepareErrorTest(final String expectedMessage) throws Exception {
String expectedError = null;
@@ -545,6 +556,17 @@ public class ExtractMethodTest extends LightCodeInsightTestCase {
public static boolean performExtractMethod(boolean doRefactor, boolean replaceAllDuplicates, Editor editor, PsiFile file, Project project,
final boolean extractChainedConstructor)
throws PrepareFailedException, IncorrectOperationException {
+ return performExtractMethod(doRefactor, replaceAllDuplicates, editor, file, project, extractChainedConstructor, null);
+ }
+
+ public static boolean performExtractMethod(boolean doRefactor,
+ boolean replaceAllDuplicates,
+ Editor editor,
+ PsiFile file,
+ Project project,
+ final boolean extractChainedConstructor,
+ int... disabledParams)
+ throws PrepareFailedException, IncorrectOperationException {
int startOffset = editor.getSelectionModel().getSelectionStart();
int endOffset = editor.getSelectionModel().getSelectionEnd();
@@ -574,7 +596,13 @@ public class ExtractMethodTest extends LightCodeInsightTestCase {
}
if (doRefactor) {
- processor.testRun();
+ processor.testPrepare();
+ if (disabledParams != null) {
+ for (int param : disabledParams) {
+ processor.doNotPassParameter(param);
+ }
+ }
+ ExtractMethodHandler.run(project, editor, processor);
}
if (replaceAllDuplicates) {
diff --git a/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.incremental.BuilderService b/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.incremental.BuilderService
new file mode 100644
index 000000000000..128f95ade09d
--- /dev/null
+++ b/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.incremental.BuilderService
@@ -0,0 +1 @@
+org.jetbrains.jps.incremental.JavaBuilderService
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/Builder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/Builder.java
index bf1265d0ca4a..aa154c937595 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/Builder.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/Builder.java
@@ -1,14 +1,13 @@
package org.jetbrains.jps.incremental;
/**
+ * @see ModuleLevelBuilder
+ * @see ProjectLevelBuilder
+ *
* @author nik
*/
public abstract class Builder {
public abstract String getName();
public abstract String getDescription();
-
- public static enum ExitCode {
- OK, ABORT, ADDITIONAL_PASS_REQUIRED
- }
}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java
index 7956d9210086..62b2c1fd2cb4 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java
@@ -1,9 +1,6 @@
package org.jetbrains.jps.incremental;
import org.jetbrains.jps.idea.OwnServiceLoader;
-import org.jetbrains.jps.incremental.groovy.GroovyBuilder;
-import org.jetbrains.jps.incremental.java.JavaBuilder;
-import org.jetbrains.jps.incremental.resources.ResourcesBuilder;
import java.util.*;
import java.util.concurrent.ExecutorService;
@@ -37,18 +34,15 @@ public class BuilderRegistry {
}
});
- final OwnServiceLoader loader = OwnServiceLoader.load(ProjectLevelBuilderService.class);
+ final OwnServiceLoader loader = OwnServiceLoader.load(BuilderService.class);
- for (ProjectLevelBuilderService service : loader) {
- myProjectLevelBuilders.add(service.createBuilder());
+ for (BuilderService service : loader) {
+ myProjectLevelBuilders.addAll(service.createProjectLevelBuilders());
+ final List extends ModuleLevelBuilder> moduleLevelBuilders = service.createModuleLevelBuilders(myTasksExecutor);
+ for (ModuleLevelBuilder builder : moduleLevelBuilders) {
+ myModuleLevelBuilders.get(builder.getCategory()).add(builder);
+ }
}
- // todo: some builder registration mechanism for plugins needed
-
- myModuleLevelBuilders.get(BuilderCategory.TRANSLATOR).add(new GroovyBuilder(true));
- myModuleLevelBuilders.get(BuilderCategory.TRANSLATOR).add(new JavaBuilder(myTasksExecutor));
- myModuleLevelBuilders.get(BuilderCategory.TRANSLATOR).add(new ResourcesBuilder());
- myModuleLevelBuilders.get(BuilderCategory.TRANSLATOR).add(new GroovyBuilder(false));
-
}
public int getModuleLevelBuilderCount() {
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderService.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderService.java
new file mode 100644
index 000000000000..e4df2b9d7a8a
--- /dev/null
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderService.java
@@ -0,0 +1,22 @@
+package org.jetbrains.jps.incremental;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+
+/**
+ * @author nik
+ */
+public abstract class BuilderService {
+ @NotNull
+ public List extends ModuleLevelBuilder> createModuleLevelBuilders(ExecutorService executorService) {
+ return Collections.emptyList();
+ }
+
+ @NotNull
+ public List extends ProjectLevelBuilder> createProjectLevelBuilders() {
+ return Collections.emptyList();
+ }
+}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java
new file mode 100644
index 000000000000..9f8bff5fac8c
--- /dev/null
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java
@@ -0,0 +1,24 @@
+package org.jetbrains.jps.incremental;
+
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jps.incremental.groovy.GroovyBuilder;
+import org.jetbrains.jps.incremental.java.JavaBuilder;
+import org.jetbrains.jps.incremental.resources.ResourcesBuilder;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+
+/**
+ * @author nik
+ */
+public class JavaBuilderService extends BuilderService {
+ @NotNull
+ @Override
+ public List extends ModuleLevelBuilder> createModuleLevelBuilders(ExecutorService executorService) {
+ return Arrays.asList(new GroovyBuilder(true),
+ new JavaBuilder(executorService),
+ new ResourcesBuilder(),
+ new GroovyBuilder(false));
+ }
+}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java
index 102f62297c8f..56c67f167d7f 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java
@@ -14,6 +14,8 @@ import java.util.HashSet;
import java.util.Set;
/**
+ * Use {@link BuilderService} to register implementations of this class
+ *
* @author Eugene Zhuravlev
* Date: 9/17/11
*/
@@ -23,12 +25,22 @@ public abstract class ModuleLevelBuilder extends Builder {
private static final Key> ALL_AFFECTED_FILES_KEY = Key.create("_all_affected_files_");
private static final Key> ALL_COMPILED_FILES_KEY = Key.create("_all_compiled_files_");
+ private final BuilderCategory myCategory;
+
+ protected ModuleLevelBuilder(BuilderCategory category) {
+ myCategory = category;
+ }
+
public static enum ExitCode {
OK, ABORT, ADDITIONAL_PASS_REQUIRED, CHUNK_REBUILD_REQUIRED
}
public abstract ExitCode build(CompileContext context, ModuleChunk chunk) throws ProjectBuildException;
+ public final BuilderCategory getCategory() {
+ return myCategory;
+ }
+
public void cleanupResources(CompileContext context, ModuleChunk chunk) {
ALL_AFFECTED_FILES_KEY.set(context, null);
ALL_COMPILED_FILES_KEY.set(context, null);
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/ProjectLevelBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/ProjectLevelBuilder.java
index dadd38cc9928..a3e95a39c409 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/ProjectLevelBuilder.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/ProjectLevelBuilder.java
@@ -1,6 +1,7 @@
package org.jetbrains.jps.incremental;
/**
+ * Use {@link BuilderService} to register implementations of this class
* @author nik
*/
public abstract class ProjectLevelBuilder extends Builder {
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/ProjectLevelBuilderService.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/ProjectLevelBuilderService.java
deleted file mode 100644
index fb6dc5eeda14..000000000000
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/ProjectLevelBuilderService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.jetbrains.jps.incremental;
-
-import org.jetbrains.annotations.NotNull;
-
-/**
- * @author nik
- */
-public abstract class ProjectLevelBuilderService {
- @NotNull
- public abstract ProjectLevelBuilder createBuilder();
-}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderService.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderService.java
index 6c4b8b19cd95..9d0622b67b18 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderService.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderService.java
@@ -1,16 +1,19 @@
package org.jetbrains.jps.incremental.artifacts;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jps.incremental.BuilderService;
import org.jetbrains.jps.incremental.ProjectLevelBuilder;
-import org.jetbrains.jps.incremental.ProjectLevelBuilderService;
+
+import java.util.Collections;
+import java.util.List;
/**
* @author nik
*/
-public class ArtifactBuilderService extends ProjectLevelBuilderService {
+public class ArtifactBuilderService extends BuilderService {
@NotNull
@Override
- public ProjectLevelBuilder createBuilder() {
- return new IncArtifactBuilder();
+ public List extends ProjectLevelBuilder> createProjectLevelBuilders() {
+ return Collections.singletonList(new IncArtifactBuilder());
}
}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java
index c158090774ad..83a60f1cda2b 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java
@@ -120,7 +120,7 @@ public class IncArtifactBuilder extends ProjectLevelBuilder {
}
context.processMessage(UptoDateFilesSavedEvent.INSTANCE);
}
- catch (Exception e) {
+ catch (IOException e) {
throw new ProjectBuildException(e);
}
}
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 5565703430b4..0fbd21881c8d 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
@@ -38,6 +38,7 @@ public class GroovyBuilder extends ModuleLevelBuilder {
private final String myBuilderName;
public GroovyBuilder(boolean forStubs) {
+ super(BuilderCategory.TRANSLATOR);
myForStubs = forStubs;
myBuilderName = BUILDER_NAME + (forStubs ? "-stubs" : "-classes");
}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java
index 8a80242794ef..ac1d7e09b598 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java
@@ -73,6 +73,7 @@ public class JavaBuilder extends ModuleLevelBuilder {
private final List myClassProcessors = new ArrayList();
public JavaBuilder(ExecutorService tasksExecutor) {
+ super(BuilderCategory.TRANSLATOR);
myTaskRunner = tasksExecutor;
//add here class processors in the sequence they should be executed
myClassProcessors.add(new ClassPostProcessor() {
diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/resources/ResourcesBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/resources/ResourcesBuilder.java
index 8a36c1ec7b9d..e964a0284036 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/incremental/resources/ResourcesBuilder.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/resources/ResourcesBuilder.java
@@ -2,7 +2,6 @@ package org.jetbrains.jps.incremental.resources;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.io.FileUtil;
-import org.jetbrains.jps.CompilerConfiguration;
import org.jetbrains.jps.Module;
import org.jetbrains.jps.ModuleChunk;
import org.jetbrains.jps.incremental.*;
@@ -24,6 +23,7 @@ public class ResourcesBuilder extends ModuleLevelBuilder {
public static final String BUILDER_NAME = "resources";
public ResourcesBuilder() {
+ super(BuilderCategory.TRANSLATOR);
}
@Override
@@ -32,16 +32,6 @@ public class ResourcesBuilder extends ModuleLevelBuilder {
}
public ExitCode build(final CompileContext context, ModuleChunk chunk) throws ProjectBuildException {
- CompilerConfiguration config = null;
- for (Module module : chunk.getModules()) {
- config = module.getProject().getCompilerConfiguration();
- break;
- }
-
- if (config == null) {
- return ExitCode.OK;
- }
-
ResourcePatterns patterns = ResourcePatterns.KEY.get(context);
if (patterns == null) {
ResourcePatterns.KEY.set(context, patterns = new ResourcePatterns(context.getProject()));
diff --git a/jps/jps-builders/src/org/jetbrains/jps/server/ClasspathBootstrap.java b/jps/jps-builders/src/org/jetbrains/jps/server/ClasspathBootstrap.java
index d95a41544503..f520c8128d28 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/server/ClasspathBootstrap.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/server/ClasspathBootstrap.java
@@ -82,11 +82,7 @@ public class ClasspathBootstrap {
cp.add(getResourcePath(FileMonitor.class)); // jna-utils.jar
cp.add(getResourcePath(ClassWriter.class)); // asm
cp.add(getResourcePath(org.objectweb.asm.commons.EmptyVisitor.class)); // asm-commons
- final File jpsModel = getResourcePath(MacroExpander.class);
- cp.add(jpsModel); // jps-model
- cp.add(new File(jpsModel.getParentFile(), "jps-javaee"));
- cp.add(new File(jpsModel.getParentFile(), "jps-gwt"));
- cp.add(new File(jpsModel.getParentFile(), "jps-jpa"));
+ cp.add(getResourcePath(MacroExpander.class)); // jps-model
cp.add(getResourcePath(AlienFormFileException.class)); // forms-compiler
cp.add(getResourcePath(GroovyException.class)); // groovy
cp.add(getResourcePath(org.jdom.input.SAXBuilder.class)); // jdom
diff --git a/jps/plugins/gwt/jps-gwt.iml b/jps/plugins/gwt/jps-gwt.iml
index 621daa2f0ea8..704ab03cf56b 100644
--- a/jps/plugins/gwt/jps-gwt.iml
+++ b/jps/plugins/gwt/jps-gwt.iml
@@ -10,7 +10,6 @@
-
diff --git a/jps/plugins/javaee/jps-javaee.iml b/jps/plugins/javaee/jps-javaee.iml
deleted file mode 100644
index d67aceeddab5..000000000000
--- a/jps/plugins/javaee/jps-javaee.iml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jps/plugins/javaee/src/META-INF/services/org.jetbrains.jps.artifacts.LayoutElementTypeService b/jps/plugins/javaee/src/META-INF/services/org.jetbrains.jps.artifacts.LayoutElementTypeService
deleted file mode 100644
index 45b2dc247bd9..000000000000
--- a/jps/plugins/javaee/src/META-INF/services/org.jetbrains.jps.artifacts.LayoutElementTypeService
+++ /dev/null
@@ -1,2 +0,0 @@
-org.jetbrains.jps.javaee.JavaeeFacetResourcesElementType
-org.jetbrains.jps.javaee.JavaeeFacetClassesElementType
\ No newline at end of file
diff --git a/jps/plugins/javaee/src/META-INF/services/org.jetbrains.jps.idea.FacetTypeService b/jps/plugins/javaee/src/META-INF/services/org.jetbrains.jps.idea.FacetTypeService
deleted file mode 100644
index 4b60ca861db8..000000000000
--- a/jps/plugins/javaee/src/META-INF/services/org.jetbrains.jps.idea.FacetTypeService
+++ /dev/null
@@ -1,3 +0,0 @@
-org.jetbrains.jps.javaee.WebFacetType
-org.jetbrains.jps.javaee.EjbFacetType
-org.jetbrains.jps.javaee.JavaeeAppFacetType
\ No newline at end of file
diff --git a/jps/plugins/javaee/src/org/jetbrains/jps/javaee/EjbFacetType.groovy b/jps/plugins/javaee/src/org/jetbrains/jps/javaee/EjbFacetType.groovy
deleted file mode 100644
index 96fa9b90232e..000000000000
--- a/jps/plugins/javaee/src/org/jetbrains/jps/javaee/EjbFacetType.groovy
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.jetbrains.jps.javaee
-
-/**
- * @author nik
- */
-class EjbFacetType extends JavaeeFacetTypeBase {
- EjbFacetType() {
- super("ejb")
- }
-}
diff --git a/jps/plugins/javaee/src/org/jetbrains/jps/javaee/JavaeeAppFacetType.groovy b/jps/plugins/javaee/src/org/jetbrains/jps/javaee/JavaeeAppFacetType.groovy
deleted file mode 100644
index 20dff7d7e44d..000000000000
--- a/jps/plugins/javaee/src/org/jetbrains/jps/javaee/JavaeeAppFacetType.groovy
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.jetbrains.jps.javaee
-
-/**
- * @author nik
- */
-public class JavaeeAppFacetType extends JavaeeFacetTypeBase {
- JavaeeAppFacetType() {
- super("javaeeApplication")
- }
-}
diff --git a/jps/plugins/javaee/src/org/jetbrains/jps/javaee/JavaeeFacet.groovy b/jps/plugins/javaee/src/org/jetbrains/jps/javaee/JavaeeFacet.groovy
deleted file mode 100644
index 844d2108deda..000000000000
--- a/jps/plugins/javaee/src/org/jetbrains/jps/javaee/JavaeeFacet.groovy
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.jetbrains.jps.javaee
-
-import org.jetbrains.jps.idea.Facet
-
-/**
- * @author nik
- */
-class JavaeeFacet extends Facet {
- final List