diff options
Diffstat (limited to 'plugins/maven/src')
7 files changed, 55 insertions, 47 deletions
diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPathReferenceConverter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPathReferenceConverter.java index b136cf440f59..cc5619d8a50d 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPathReferenceConverter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPathReferenceConverter.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -16,6 +16,7 @@ package org.jetbrains.idea.maven.dom.references; import com.intellij.openapi.util.Condition; +import com.intellij.openapi.util.Conditions; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.LocalFileSystem; @@ -44,7 +45,7 @@ public class MavenPathReferenceConverter extends PathReferenceConverter { private final Condition<PsiFileSystemItem> myCondition; public MavenPathReferenceConverter() { - this(Condition.TRUE); + this(Conditions.<PsiFileSystemItem>alwaysTrue()); } public MavenPathReferenceConverter(@NotNull Condition<PsiFileSystemItem> condition) { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/plugins/api/common/MavenCommonParamReferenceProviders.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/plugins/api/common/MavenCommonParamReferenceProviders.java index 48b86e5b8aa4..2e928726d839 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/plugins/api/common/MavenCommonParamReferenceProviders.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/plugins/api/common/MavenCommonParamReferenceProviders.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -17,9 +17,10 @@ package org.jetbrains.idea.maven.plugins.api.common; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupElementBuilder; -import com.intellij.openapi.util.Condition; +import com.intellij.openapi.util.Conditions; import com.intellij.openapi.vfs.CharsetToolkit; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFileSystemItem; import com.intellij.psi.PsiReference; import com.intellij.psi.PsiReferenceBase; import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceSet; @@ -48,7 +49,7 @@ public class MavenCommonParamReferenceProviders { public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull MavenDomConfiguration domCfg, @NotNull ProcessingContext context) { - return MavenPathReferenceConverter.createReferences(domCfg, element, Condition.TRUE); + return MavenPathReferenceConverter.createReferences(domCfg, element, Conditions.<PsiFileSystemItem>alwaysTrue()); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenArtifactDownloader.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenArtifactDownloader.java index 9935bb301bcd..b46bb47d239b 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenArtifactDownloader.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenArtifactDownloader.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -39,7 +39,7 @@ import java.util.concurrent.atomic.AtomicInteger; public class MavenArtifactDownloader { private static final ThreadPoolExecutor EXECUTOR = - new ThreadPoolExecutor(5, Integer.MAX_VALUE, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new ThreadFactory() { + new ThreadPoolExecutor(5, Integer.MAX_VALUE, 1, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new ThreadFactory() { AtomicInteger num = new AtomicInteger(); @NotNull diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml index c2d98d272044..41a8ad3c6040 100644 --- a/plugins/maven/src/main/resources/META-INF/plugin.xml +++ b/plugins/maven/src/main/resources/META-INF/plugin.xml @@ -46,7 +46,7 @@ <applicationService serviceImplementation="org.jetbrains.idea.maven.indices.MavenIndicesManager"/> <applicationService serviceImplementation="org.jetbrains.idea.maven.services.MavenRepositoryServicesManager"/> - <projectConfigurable groupId="build" instance="org.jetbrains.idea.maven.utils.MavenSettings" id="MavenSettings" displayName="Maven" order="last"> + <projectConfigurable groupId="build.tools" groupWeight="120" instance="org.jetbrains.idea.maven.utils.MavenSettings" id="MavenSettings" displayName="Maven" order="last"> <configurable instance="org.jetbrains.idea.maven.project.MavenImportingConfigurable" id="reference.settings.project.maven.importing" key="maven.tab.importing" bundle="ProjectBundle"/> <configurable instance="org.jetbrains.idea.maven.project.MavenIgnoredFilesConfigurable" diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java index 79639e96c8b8..810e27460e54 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenImportingTestCase.java @@ -521,7 +521,7 @@ public abstract class MavenImportingTestCase extends MavenTestCase { } protected Sdk setupJdkForModule(final String moduleName) { - final Sdk sdk = true ? JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk() : createJdk("Java 1.5"); + final Sdk sdk = JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk(); ModuleRootModificationUtil.setModuleSdk(getModule(moduleName), sdk); return sdk; } diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java index 6bc55921b1b3..0ef6067d6b0f 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java @@ -19,14 +19,36 @@ import com.intellij.openapi.application.ApplicationNamesInfo; import com.intellij.openapi.module.Module; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.ModuleRootManager; +import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.idea.maven.project.MavenWorkspaceSettingsComponent; + +import java.io.File; /** * @author Vladislav.Soroka * @since 5/23/2014 */ public class ManifestGenerationTest extends MavenCompilingTestCase { + private File myGlobalSettingsFile; + + @Override + protected void setUp() throws Exception { + super.setUp(); + myGlobalSettingsFile = MavenWorkspaceSettingsComponent.getInstance(myProject).getSettings().generalSettings.getEffectiveGlobalSettingsIoFile(); + if (myGlobalSettingsFile != null) { + VfsRootAccess.allowRootAccess(myGlobalSettingsFile.getAbsolutePath()); + } + } + + @Override + protected void tearDown() throws Exception { + if (myGlobalSettingsFile != null) { + VfsRootAccess.disallowRootAccess(myGlobalSettingsFile.getAbsolutePath()); + } + super.tearDown(); + } public void testBasic() throws Exception { importProject("<groupId>test</groupId>" + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java index aa430ca15de7..43ec755de8f4 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java @@ -16,36 +16,33 @@ package org.jetbrains.idea.maven.compiler; import com.intellij.compiler.CompilerTestUtil; -import com.intellij.compiler.CompilerWorkspaceConfiguration; import com.intellij.compiler.artifacts.ArtifactsTestUtil; import com.intellij.compiler.impl.ModuleCompileScope; -import com.intellij.openapi.compiler.CompileContext; import com.intellij.openapi.compiler.CompileScope; -import com.intellij.openapi.compiler.CompileStatusNotification; -import com.intellij.openapi.compiler.CompilerManager; +import com.intellij.openapi.compiler.CompilerMessage; +import com.intellij.openapi.compiler.CompilerMessageCategory; import com.intellij.openapi.module.Module; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.packaging.artifacts.Artifact; import com.intellij.packaging.impl.compiler.ArtifactCompileScope; -import com.intellij.util.concurrency.Semaphore; +import com.intellij.testFramework.CompilerTester; import com.intellij.util.io.TestFileSystemBuilder; import com.intellij.util.ui.UIUtil; import org.jetbrains.idea.maven.MavenImportingTestCase; import org.jetbrains.idea.maven.project.MavenProjectsManager; import org.jetbrains.idea.maven.project.MavenResourceCompilerConfigurationGenerator; -import javax.swing.*; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** * @author nik */ public abstract class MavenCompilingTestCase extends MavenImportingTestCase { - protected void tearDown() throws Exception { try { CompilerTestUtil.disableExternalCompiler(myProject); @@ -64,42 +61,29 @@ public abstract class MavenCompilingTestCase extends MavenImportingTestCase { } private void compile(final CompileScope scope) { - UIUtil.invokeAndWaitIfNeeded(new Runnable() { - @Override - public void run() { - for (Module module : scope.getAffectedModules()) { - setupJdkForModule(module.getName()); + try { + CompilerTester tester = new CompilerTester(myProject, Arrays.asList(scope.getAffectedModules())); + UIUtil.invokeAndWaitIfNeeded(new Runnable() { + @Override + public void run() { + new MavenResourceCompilerConfigurationGenerator(myProject, MavenProjectsManager.getInstance(myProject).getProjectsTreeForTests()) + .generateBuildConfiguration(false); } - new MavenResourceCompilerConfigurationGenerator(myProject, MavenProjectsManager.getInstance(myProject).getProjectsTreeForTests()).generateBuildConfiguration(false); - } - }); - - CompilerWorkspaceConfiguration.getInstance(myProject).CLEAR_OUTPUT_DIRECTORY = true; - - final Semaphore semaphore = new Semaphore(); - semaphore.down(); - UIUtil.invokeAndWaitIfNeeded(new Runnable() { - @Override - public void run() { - CompilerTestUtil.enableExternalCompiler(); - CompilerManager.getInstance(myProject).make(scope, new CompileStatusNotification() { - @Override - public void finished(boolean aborted, int errors, int warnings, CompileContext compileContext) { - //assertFalse(aborted); - //assertEquals(collectMessages(compileContext, CompilerMessageCategory.ERROR), 0, errors); - //assertEquals(collectMessages(compileContext, CompilerMessageCategory.WARNING), 0, warnings); - semaphore.up(); + }); + try { + List<CompilerMessage> messages = tester.make(scope); + for (CompilerMessage message : messages) { + if (message.getCategory() == CompilerMessageCategory.ERROR) { + fail("Compilation failed with error: " + message.getMessage()); } - }); + } } - }); - while (!semaphore.waitFor(100)) { - if (SwingUtilities.isEventDispatchThread()) { - UIUtil.dispatchAllInvocationEvents(); + finally { + tester.tearDown(); } } - if (SwingUtilities.isEventDispatchThread()) { - UIUtil.dispatchAllInvocationEvents(); + catch (Exception e) { + throw new RuntimeException(e); } } |