You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2010/08/18 01:03:13 UTC
svn commit: r986520 - in /labs/magma/trunk/magma-eclipse: ./ META-INF/
src/org/apache/magma/tools/magmaeclipse/
src/org/apache/magma/tools/magmaeclipse/basics/
src/org/apache/magma/tools/magmaeclipse/devtools/
src/org/maven/ide/eclipse/internal/launch/...
Author: simoneg
Date: Tue Aug 17 23:03:13 2010
New Revision: 986520
URL: http://svn.apache.org/viewvc?rev=986520&view=rev
Log:
Updated for Eclipse 3.6 Helios, AJDT latest dev (20100813), m2eclipse 0.10.x
Added:
labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/devtools/
Modified:
labs/magma/trunk/magma-eclipse/META-INF/MANIFEST.MF
labs/magma/trunk/magma-eclipse/plugin.xml
labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MFileUtils.java
labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MagmaBuilder.java
labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java
labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java
labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchDelegate.java
labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchUtils.java
labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenSourcePathComputer.java
labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/ui/internal/launch/MavenLaunchMainTab.java
Modified: labs/magma/trunk/magma-eclipse/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/META-INF/MANIFEST.MF?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/META-INF/MANIFEST.MF (original)
+++ labs/magma/trunk/magma-eclipse/META-INF/MANIFEST.MF Tue Aug 17 23:03:13 2010
@@ -2,32 +2,30 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Magma Eclipse
Bundle-SymbolicName: org.apache.magma.tools.magmaeclipse;singleton:=true
-Bundle-Version: 0.0.3.0009
+Bundle-Version: 0.0.3.0013
Bundle-Activator: org.apache.magma.tools.magmaeclipse.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.core.resources;bundle-version="3.5.0",
- org.eclipse.jdt.core;bundle-version="3.5.0",
- org.eclipse.jdt.ui;bundle-version="3.5.0",
- org.maven.ide.eclipse;bundle-version="0.9.8",
- org.eclipse.ajdt.ui;bundle-version="2.0.0",
- org.eclipse.ajdt.core;bundle-version="2.0.0",
- org.maven.ide.eclipse.jdt;bundle-version="0.9.8",
- org.maven.ide.eclipse.launching;bundle-version="0.9.8",
- org.eclipse.jdt.launching;bundle-version="3.5.0",
- org.eclipse.debug.core;bundle-version="3.5.0",
- org.eclipse.debug.ui;bundle-version="3.5.0",
- org.eclipse.core.expressions;bundle-version="3.4.100",
- org.eclipse.contribution.weaving.jdt;bundle-version="2.0.0",
- org.eclipse.equinox.weaving.aspectj;bundle-version="1.0.0",
- org.maven.ide.components.maven_embedder,
- org.eclipse.jdt.debug.ui;bundle-version="3.4.0",
- org.eclipse.ui.externaltools;bundle-version="3.2.0",
- org.eclipse.ui.console;bundle-version="3.4.0",
- org.eclipse.core.variables;bundle-version="3.2.200",
- org.eclipse.jdt.junit;bundle-version="3.5.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+ org.maven.ide.eclipse;bundle-version="0.10.2",
+ org.maven.ide.eclipse.jdt;bundle-version="0.10.2",
+ org.maven.ide.eclipse.launching;bundle-version="0.10.2",
+ org.maven.ide.eclipse.maven_embedder;bundle-version="0.10.2",
+ org.maven.ide.eclipse.maven_model_edit;bundle-version="0.10.2",
+ org.eclipse.ajdt.core;bundle-version="2.1.1",
+ org.eclipse.ajdt.pde.build;bundle-version="2.0.2",
+ org.eclipse.ajdt.ui;bundle-version="2.1.1",
+ org.eclipse.jdt.debug;bundle-version="3.6.0",
+ org.eclipse.jdt.debug.ui;bundle-version="3.5.0",
+ org.eclipse.core.resources;bundle-version="3.6.0",
+ org.eclipse.core.variables;bundle-version="3.2.400"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.apache.maven,
- org.eclipse.ui.actions
+ org.eclipse.core.expressions,
+ org.eclipse.debug.core,
+ org.eclipse.debug.ui,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.launching,
+ org.eclipse.ui.actions,
+ org.eclipse.ui.externaltools.internal.model
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
Modified: labs/magma/trunk/magma-eclipse/plugin.xml
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/plugin.xml?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/plugin.xml (original)
+++ labs/magma/trunk/magma-eclipse/plugin.xml Tue Aug 17 23:03:13 2010
@@ -456,7 +456,6 @@
<extension
point="org.maven.ide.eclipse.indexes">
<index
- archive="magmasemeru.zip"
indexId="magmasemeru"
repositoryUrl="http://svn.semeru.it/maven-snaps/">
</index>
Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MFileUtils.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MFileUtils.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MFileUtils.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MFileUtils.java Tue Aug 17 23:03:13 2010
@@ -12,9 +12,12 @@ import java.util.zip.ZipFile;
import org.codehaus.plexus.util.FileUtils;
import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.maven.ide.eclipse.core.IMavenConstants;
/**
* Generic File/Resource utils.
@@ -120,5 +123,15 @@ public class MFileUtils {
srctestjavafld.create(force, local, progress);
}
+
+
+ // Copied from MavenProjectManagerImpl.getPom() (version of 2010-06-23)
+ public static IFile getPom(IProject project) {
+ if (project == null || !project.isAccessible()) {
+ // XXX sensible handling
+ return null;
+ }
+ return project.getFile(IMavenConstants.POM_FILE_NAME);
+ }
}
Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MagmaBuilder.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MagmaBuilder.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MagmaBuilder.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/MagmaBuilder.java Tue Aug 17 23:03:13 2010
@@ -28,7 +28,7 @@ public class MagmaBuilder extends Increm
protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
IProject myp = getProject();
if (myp.hasNature(MagmaPDEUtils.ID_MAVEN_NATURE)) {
- IMavenProjectFacade projectFacade = MavenPlugin.getDefault().getMavenProjectManager().create(myp, monitor);
+ IMavenProjectFacade projectFacade = MavenPlugin.getDefault().getMavenProjectManager().create(MFileUtils.getPom(myp), true, monitor);
MagmaPDEUtils.setupSourceDependencies(projectFacade, kind == FULL_BUILD, monitor);
}
return null;
Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java Tue Aug 17 23:03:13 2010
@@ -5,21 +5,16 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.magma.tools.magmaeclipse.MLog;
-import org.apache.maven.embedder.ContainerCustomizer;
-import org.apache.maven.embedder.MavenEmbedder;
-import org.apache.maven.embedder.MavenEmbedderException;
-import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.monitor.event.EventMonitor;
import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.ProgressMonitorWrapper;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.maven.ide.eclipse.MavenPlugin;
-import org.maven.ide.eclipse.embedder.EmbedderFactory;
-import org.maven.ide.eclipse.embedder.MavenEmbedderManager;
+import org.maven.ide.eclipse.embedder.IMaven;
import org.maven.ide.eclipse.project.IMavenProjectFacade;
public class DownloadSourcesJob extends Job {
@@ -44,31 +39,10 @@ public class DownloadSourcesJob extends
MLog.log("Downloading sources for " + mavenProject.getProject().getName());
monitor.beginTask("Downloading missing sources", IProgressMonitor.UNKNOWN);
try {
- MavenEmbedderManager embman = MavenPlugin.getDefault().getMavenEmbedderManager();
- MavenEmbedder myemb = embman.createEmbedder(EmbedderFactory.createExecutionCustomizer());
- MavenExecutionRequest req = new DefaultMavenExecutionRequest();
- req.setGoals(Arrays.asList("dependency:sources"));
- req.setPom(mavenProject.getPom().getLocation().toFile());
- req.setOffline(false);
- req.setInteractiveMode(false);
-
- req.addEventMonitor(new EventMonitor() {
- public void startEvent(String arg0, String arg1, long arg2) {
- MLog.debug("Start event " + arg0 + " , " + arg1 + " , " + arg2);
-
- }
-
- public void errorEvent(String arg0, String arg1, long arg2, Throwable arg3) {
- if (arg3 != null) {
- MLog.exception(arg3, "Error event " + arg0 + " , " + arg1 + " , " + arg2);
- } else {
- MLog.debug("Error event " + arg0 + " , " + arg1 + " , " + arg2);
- }
- }
-
- public void endEvent(String arg0, String arg1, long arg2) {
- MLog.debug("End event " + arg0 + " , " + arg1 + " , " + arg2);
- MLog.log("Calling rebuild from DownloadSourcesJob");
+ IMaven myemb = MavenPlugin.getDefault().getMaven();
+ IProgressMonitor mon = new ProgressMonitorWrapper(monitor) {
+ @Override
+ public void done() {
try {
// TODO this should make some checks before calling build
// TODO build should be ran in a separate job
@@ -76,11 +50,17 @@ public class DownloadSourcesJob extends
} catch (CoreException e) {
MLog.exception(e, "Error launching rebuild after download sources completition");
}
+ super.done();
}
- });
- myemb.execute(req);
+ };
+ MavenExecutionRequest req = myemb.createExecutionRequest(mon);
+ req.setGoals(Arrays.asList("dependency:sources"));
+ req.setPom(mavenProject.getPom().getLocation().toFile());
+ req.setOffline(false);
+ req.setInteractiveMode(false);
+
+ myemb.execute(req, mon);
checkTime.put(mavenProject.getProject().getName(), System.currentTimeMillis());
- myemb.stop();
} catch (Exception e) {
MLog.exception(e, "While downloading sources");
return new Status(Status.ERROR, MagmaPDEUtils.PLUGIN_ID, "Error downloading sources", e);
Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java Tue Aug 17 23:03:13 2010
@@ -13,8 +13,9 @@ import java.util.Map;
import org.apache.magma.tools.magmaeclipse.MFileUtils;
import org.apache.magma.tools.magmaeclipse.MLog;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.embedder.MavenEmbedder;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.settings.Settings;
import org.eclipse.ajdt.core.AspectJCorePreferences;
import org.eclipse.ajdt.internal.ui.lazystart.Utils;
import org.eclipse.ajdt.internal.ui.preferences.AJCompilerPreferencePage;
@@ -48,8 +49,10 @@ import org.eclipse.ui.actions.WorkspaceM
import org.eclipse.ui.progress.UIJob;
import org.maven.ide.eclipse.MavenPlugin;
import org.maven.ide.eclipse.core.IMavenConstants;
+import org.maven.ide.eclipse.embedder.IMaven;
import org.maven.ide.eclipse.embedder.MavenModelManager;
import org.maven.ide.eclipse.embedder.ProjectUpdater;
+import org.maven.ide.eclipse.jdt.MavenJdtPlugin;
import org.maven.ide.eclipse.project.IMavenProjectFacade;
import org.maven.ide.eclipse.project.ResolverConfiguration;
import org.maven.ide.components.pom.Model;
@@ -511,13 +514,14 @@ public class MagmaPDEUtils {
(final IMavenProjectFacade mavenProject, boolean complete, IProgressMonitor prog) {
MLog.log("Called setupSourceDependencies on " + mavenProject.getProject().getName() + " complete :" + complete);
- try {
+ try {
MavenProject mp = mavenProject.getMavenProject(prog);
Map<String,Artifact> artifactMap = mp.getArtifactMap();
final IProject project = mavenProject.getProject();
IJavaProject prj = JavaCore.create(project);
- MavenEmbedder embedder = MavenPlugin.getDefault().getMavenProjectManager().createWorkspaceEmbedder();
+ IMaven embedder = MavenPlugin.getDefault().getMaven();
+ RepositorySystem repositorySystem = MavenPlugin.getDefault().getPlexusContainer().lookup(RepositorySystem.class);
// Holds a list of previously existing magmalnk- folders
List<String> existing = new ArrayList<String>();
@@ -534,8 +538,18 @@ public class MagmaPDEUtils {
String restrictions = "";
// Create a folder for unzipped sources
- File localrepo = MavenPlugin.getDefault().getMavenEmbedderManager()
- .getLocalRepositoryDir();
+ String path = null;
+ try {
+ Settings settings = embedder.getSettings();
+ path = settings.getLocalRepository();
+ } catch(CoreException ex) {
+ // fall through
+ }
+ if(path == null) {
+ path = RepositorySystem.defaultUserLocalRepository.getAbsolutePath();
+ }
+
+ File localrepo = new File(path);
File unzippeds = new File(localrepo.getParentFile(),
"expandsources");
if (!unzippeds.exists()) {
@@ -568,7 +582,8 @@ public class MagmaPDEUtils {
prog.subTask("Processing " + depname);
MLog.debug("Found magma dep " + depname);
- Artifact srcart = embedder.createArtifactWithClassifier(
+
+ Artifact srcart = repositorySystem.createArtifactWithClassifier(
art.getGroupId(), //
art.getArtifactId(), art.getVersion(), "java-source", "sources");
@@ -736,15 +751,15 @@ public class MagmaPDEUtils {
for (Iterator<IClasspathAttribute> iterator = attrs.iterator(); iterator.hasNext();) {
IClasspathAttribute attr = iterator.next();
if (
- attr.getName().equals(AspectJCorePreferences.ASPECTPATH_ATTRIBUTE_NAME) ||
+ //attr.getName().equals(AspectJCorePreferences.ASPECTPATH_ATTRIBUTE_NAME) ||
attr.getName().equals(AspectJCorePreferences.INPATH_ATTRIBUTE_NAME) ||
- attr.getName().equals(AspectJCorePreferences.ASPECTPATH_RESTRICTION_ATTRIBUTE_NAME) ||
+ //attr.getName().equals(AspectJCorePreferences.ASPECTPATH_RESTRICTION_ATTRIBUTE_NAME) ||
attr.getName().equals(AspectJCorePreferences.INPATH_RESTRICTION_ATTRIBUTE_NAME))
iterator.remove();
}
- attrs.add(AspectJCorePreferences.ASPECTPATH_ATTRIBUTE);
+ //attrs.add(AspectJCorePreferences.ASPECTPATH_ATTRIBUTE);
attrs.add(AspectJCorePreferences.INPATH_ATTRIBUTE);
- attrs.add(JavaCore.newClasspathAttribute(AspectJCorePreferences.ASPECTPATH_RESTRICTION_ATTRIBUTE_NAME, restrictions));
+ //attrs.add(JavaCore.newClasspathAttribute(AspectJCorePreferences.ASPECTPATH_RESTRICTION_ATTRIBUTE_NAME, restrictions));
attrs.add(JavaCore.newClasspathAttribute(AspectJCorePreferences.INPATH_RESTRICTION_ATTRIBUTE_NAME, restrictions));
return JavaCore.newContainerEntry(maventry.getPath(),
Modified: labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchDelegate.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchDelegate.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchDelegate.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchDelegate.java Tue Aug 17 23:03:13 2010
@@ -31,25 +31,23 @@ import org.eclipse.debug.ui.RefreshTab;
import org.eclipse.jdt.launching.IVMRunner;
import org.eclipse.jdt.launching.JavaLaunchDelegate;
import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
import org.maven.ide.eclipse.MavenPlugin;
import org.maven.ide.eclipse.actions.MavenLaunchConstants;
import org.maven.ide.eclipse.core.IMavenConstants;
import org.maven.ide.eclipse.core.MavenConsole;
import org.maven.ide.eclipse.core.MavenLogger;
+import org.maven.ide.eclipse.embedder.IMavenConfiguration;
import org.maven.ide.eclipse.embedder.IMavenLauncherConfiguration;
import org.maven.ide.eclipse.embedder.MavenRuntime;
-import org.maven.ide.eclipse.embedder.MavenRuntimeManager;
import org.maven.ide.eclipse.util.Util;
-@SuppressWarnings("restriction")
public class MavenLaunchDelegate extends JavaLaunchDelegate implements MavenLaunchConstants {
private static final String LAUNCHER_TYPE = "org.codehaus.classworlds.Launcher";
+ private static final String LAUNCHER_TYPE3 = "org.codehaus.plexus.classworlds.launcher.Launcher"; // classwordls 2.0
private static final String LAUNCH_M2CONF_FILE = "org.maven.ide.eclipse.internal.launch.M2_CONF";
-
+
private MavenRuntime runtime;
private MavenLauncherConfigurationHandler m2conf;
private File confFile;
@@ -64,7 +62,7 @@ public class MavenLaunchDelegate extends
m2conf = new MavenLauncherConfigurationHandler();
if (shouldResolveWorkspaceArtifacts(configuration)) {
- m2conf.addArchiveEntry(MavenLaunchUtils.getCliResolver());
+ m2conf.addArchiveEntry(MavenLaunchUtils.getCliResolver(runtime));
}
MavenLaunchUtils.addUserComponents(configuration, m2conf);
runtime.createLauncherConfiguration(m2conf, new NullProgressMonitor());
@@ -108,7 +106,7 @@ public class MavenLaunchDelegate extends
}
public String getMainTypeName(ILaunchConfiguration configuration) throws CoreException {
- return LAUNCHER_TYPE;
+ return runtime.getVersion().startsWith("3.0")? LAUNCHER_TYPE3: LAUNCHER_TYPE;
}
public String[] getClasspath(ILaunchConfiguration configuration) throws CoreException {
@@ -166,25 +164,7 @@ public class MavenLaunchDelegate extends
}
protected String getGoals(ILaunchConfiguration configuration) throws CoreException {
- String buildType = ExternalToolBuilder.getBuildType();
- String key = MavenLaunchConstants.ATTR_GOALS;
- if(IExternalToolConstants.BUILD_TYPE_AUTO.equals(buildType)) {
- key = MavenLaunchConstants.ATTR_GOALS_AUTO_BUILD;
- } else if(IExternalToolConstants.BUILD_TYPE_CLEAN.equals(buildType)) {
- key = MavenLaunchConstants.ATTR_GOALS_CLEAN;
- } else if(IExternalToolConstants.BUILD_TYPE_FULL.equals(buildType)) {
- key = MavenLaunchConstants.ATTR_GOALS_AFTER_CLEAN;
- } else if(IExternalToolConstants.BUILD_TYPE_INCREMENTAL.equals(buildType)) {
- key = MavenLaunchConstants.ATTR_GOALS_MANUAL_BUILD;
- }
- String goals = configuration.getAttribute(key, "");
- if(goals==null || goals.length()==0) {
- // use default goals when "full build" returns nothing
- goals = configuration.getAttribute(MavenLaunchConstants.ATTR_GOALS, "");
- }
-
- MavenPlugin.getDefault().getConsole().logMessage("Build type " + buildType + " : " + goals);
- return goals;
+ return configuration.getAttribute(MavenLaunchConstants.ATTR_GOALS, "");
}
public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) {
@@ -239,18 +219,18 @@ public class MavenLaunchDelegate extends
* Construct string with preferences to pass to JVM as system properties
*/
private String getPreferences(ILaunchConfiguration configuration) throws CoreException {
- MavenRuntimeManager runtimeManager = MavenPlugin.getDefault().getMavenRuntimeManager();
-
+ IMavenConfiguration mavenConfiguration = MavenPlugin.lookup(IMavenConfiguration.class);
+
StringBuffer sb = new StringBuffer();
sb.append(" -B");
- if(configuration.getAttribute(MavenLaunchConstants.ATTR_DEBUG_OUTPUT, runtimeManager.isDebugOutput())) {
+ if(configuration.getAttribute(MavenLaunchConstants.ATTR_DEBUG_OUTPUT, mavenConfiguration.isDebugOutput())) {
sb.append(" -X").append(" -e");
}
// sb.append(" -D").append(MavenPreferenceConstants.P_DEBUG_OUTPUT).append("=").append(debugOutput);
- if(configuration.getAttribute(MavenLaunchConstants.ATTR_OFFLINE, runtimeManager.isOffline())) {
+ if(configuration.getAttribute(MavenLaunchConstants.ATTR_OFFLINE, mavenConfiguration.isOffline())) {
sb.append(" -o");
}
// sb.append(" -D").append(MavenPreferenceConstants.P_OFFLINE).append("=").append(offline);
@@ -266,11 +246,14 @@ public class MavenLaunchDelegate extends
if(configuration.getAttribute(MavenLaunchConstants.ATTR_SKIP_TESTS, false)) {
sb.append(" -Dmaven.test.skip=true");
}
-
- String settings = runtimeManager.getUserSettingsFile();
-// if(settings==null) {
-// settings = getMavenRuntime(configuration).getSettings();
-// }
+
+ String settings = configuration.getAttribute(MavenLaunchConstants.ATTR_USER_SETTINGS, (String) null);
+ if(settings == null || settings.trim().length() <= 0) {
+ settings = mavenConfiguration.getUserSettingsFile();
+ if(settings != null && settings.trim().length() > 0 && !new File(settings.trim()).exists()) {
+ settings = null;
+ }
+ }
if(settings != null && settings.trim().length() > 0) {
sb.append(" -s ").append(quote(settings));
}
Modified: labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchUtils.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchUtils.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchUtils.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenLaunchUtils.java Tue Aug 17 23:03:13 2010
@@ -12,14 +12,10 @@ import java.io.File;
import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.StringTokenizer;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.embedder.MavenEmbedder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IStatus;
@@ -29,8 +25,8 @@ import org.maven.ide.eclipse.MavenPlugin
import org.maven.ide.eclipse.actions.MavenLaunchConstants;
import org.maven.ide.eclipse.core.IMavenConstants;
import org.maven.ide.eclipse.core.MavenLogger;
+import org.maven.ide.eclipse.embedder.IMaven;
import org.maven.ide.eclipse.embedder.IMavenLauncherConfiguration;
-import org.maven.ide.eclipse.embedder.MavenEmbedderManager;
import org.maven.ide.eclipse.embedder.MavenRuntime;
import org.maven.ide.eclipse.embedder.MavenRuntimeManager;
import org.maven.ide.eclipse.project.IMavenProjectFacade;
@@ -55,8 +51,15 @@ public class MavenLaunchUtils {
return runtime;
}
- public static String getCliResolver() throws CoreException {
- URL url = MavenPlugin.getDefault().getBundle().getEntry("org.maven.ide.eclipse.cliresolver.jar");
+ public static String getCliResolver(MavenRuntime runtime) throws CoreException {
+ String jarname;
+ String runtimeVersion = runtime.getVersion();
+ if (runtimeVersion.startsWith("3.")) {
+ jarname = "org.maven.ide.eclipse.cliresolver30.jar";
+ } else {
+ jarname = "org.maven.ide.eclipse.cliresolver.jar";
+ }
+ URL url = MavenLaunchPlugin.getDefault().getBundle().getEntry(jarname);
try {
URL fileURL = FileLocator.toFileURL(url);
// MNGECLIPSE-804 workaround for spaces in the original path
@@ -76,7 +79,7 @@ public class MavenLaunchUtils {
}
MavenProjectManager projectManager = MavenPlugin.getDefault().getMavenProjectManager();
- MavenEmbedderManager embedderManager = MavenPlugin.getDefault().getMavenEmbedderManager();
+ IMaven maven = MavenPlugin.lookup(IMaven.class);
for(String gav : list) {
// groupId:artifactId:version
StringTokenizer st = new StringTokenizer(gav, ":");
@@ -91,16 +94,12 @@ public class MavenLaunchUtils {
} else {
String name = groupId + ":" + artifactId + ":" + version;
try {
- MavenEmbedder embedder = embedderManager.getWorkspaceEmbedder();
- Artifact artifact = embedder.createArtifact(groupId, artifactId, version, null, "jar");
- embedder.resolve(artifact, Collections.EMPTY_LIST, embedder.getLocalRepository());
+ Artifact artifact = maven.resolve(groupId, artifactId, version, "jar", null, null, null);
File file = artifact.getFile();
if(file != null) {
collector.addArchiveEntry(file.getAbsolutePath());
}
- } catch(ArtifactResolutionException ex) {
- MavenLogger.log("Artifact resolution error " + name, ex);
- } catch(ArtifactNotFoundException ex) {
+ } catch(CoreException ex) {
MavenLogger.log("Artifact not found " + name, ex);
}
}
Modified: labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenSourcePathComputer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenSourcePathComputer.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenSourcePathComputer.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/internal/launch/MavenSourcePathComputer.java Tue Aug 17 23:03:13 2010
@@ -21,9 +21,6 @@ import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.embedder.MavenEmbedder;
import org.codehaus.plexus.util.DirectoryScanner;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -36,8 +33,8 @@ import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
import org.eclipse.jdt.launching.JavaRuntime;
import org.maven.ide.eclipse.MavenPlugin;
+import org.maven.ide.eclipse.embedder.IMaven;
import org.maven.ide.eclipse.embedder.IMavenLauncherConfiguration;
-import org.maven.ide.eclipse.embedder.MavenEmbedderManager;
import org.maven.ide.eclipse.embedder.MavenRuntime;
import org.maven.ide.eclipse.project.IMavenProjectFacade;
@@ -53,10 +50,7 @@ import org.maven.ide.eclipse.project.IMa
*/
public class MavenSourcePathComputer implements ISourcePathComputer {
- private MavenEmbedderManager embedderManager;
-
public MavenSourcePathComputer() {
- embedderManager = MavenPlugin.getDefault().getMavenEmbedderManager();
}
public String getId() {
@@ -89,7 +83,7 @@ public class MavenSourcePathComputer imp
}
};
- collector.addArchiveEntry(MavenLaunchUtils.getCliResolver());
+ collector.addArchiveEntry(MavenLaunchUtils.getCliResolver(runtime));
MavenLaunchUtils.addUserComponents(configuration, collector);
runtime.createLauncherConfiguration(collector, monitor);
@@ -165,17 +159,20 @@ public class MavenSourcePathComputer imp
}
}
- private File getSourcesJar(String groupId, String artifactId, String version) throws CoreException {
+ private File getSourcesJar(String groupId, String artifactId, String version) {
if (groupId != null && artifactId != null && version != null) {
- MavenEmbedder embedder = embedderManager.getWorkspaceEmbedder();
- ArtifactRepository localRepository = embedder.getLocalRepository();
- ArtifactRepositoryLayout localLayout = localRepository.getLayout();
-
- Artifact artifact = embedder.createArtifactWithClassifier(groupId, artifactId, version, "jar", "sources");
- File file = new File(localRepository.getBasedir(), localLayout.pathOf(artifact));
-
- if (file.exists() && file.canRead()) {
- return file;
+ IMaven maven = MavenPlugin.lookup(IMaven.class);
+
+ try {
+ Artifact artifact = maven.resolve(groupId, artifactId, version, "jar", "sources", null, null);
+ File file = artifact.getFile();
+
+ if (file != null && file.exists() && file.canRead()) {
+ return file;
+ }
+ } catch(CoreException ex) {
+ // artifact not found, most likely...
+ // TODO add special status code so it is possible to know for sure
}
}
Modified: labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/ui/internal/launch/MavenLaunchMainTab.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/ui/internal/launch/MavenLaunchMainTab.java?rev=986520&r1=986519&r2=986520&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/ui/internal/launch/MavenLaunchMainTab.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/maven/ide/eclipse/ui/internal/launch/MavenLaunchMainTab.java Tue Aug 17 23:03:13 2010
@@ -59,7 +59,9 @@ import org.eclipse.ui.externaltools.inte
import org.maven.ide.eclipse.MavenImages;
import org.maven.ide.eclipse.MavenPlugin;
import org.maven.ide.eclipse.actions.MavenLaunchConstants;
+import org.maven.ide.eclipse.core.MavenLogger;
import org.maven.ide.eclipse.core.Messages;
+import org.maven.ide.eclipse.embedder.IMavenConfiguration;
import org.maven.ide.eclipse.embedder.MavenRuntime;
import org.maven.ide.eclipse.embedder.MavenRuntimeManager;
import org.maven.ide.eclipse.ui.dialogs.MavenGoalSelectionDialog;
@@ -103,6 +105,10 @@ public class MavenLaunchMainTab extends
private Button enableWorkspaceResolution;
+ private Button removePropButton;
+
+ private Button editPropButton;
+
ComboViewer runtimeComboViewer;
@@ -335,6 +341,7 @@ public class MavenLaunchMainTab extends
enableWorkspaceResolution = new Button(mainComposite, SWT.CHECK);
enableWorkspaceResolution.addSelectionListener(modyfyingListener);
enableWorkspaceResolution.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 4, 1));
+ enableWorkspaceResolution.setData("name", "enableWorkspaceResolution");
enableWorkspaceResolution.setText("Resolve Workspace artifacts");
TableViewer tableViewer = new TableViewer(mainComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
@@ -346,10 +353,27 @@ public class MavenLaunchMainTab extends
}
}
});
+ tableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ TableItem[] items = propsTable.getSelection();
+ if(items == null || items.length == 0){
+ editPropButton.setEnabled(false);
+ removePropButton.setEnabled(false);
+ } else if(items.length == 1){
+ editPropButton.setEnabled(true);
+ removePropButton.setEnabled(true);
+ } else {
+ editPropButton.setEnabled(false);
+ removePropButton.setEnabled(true);
+ }
+ }
+
+ });
this.propsTable = tableViewer.getTable();
//this.tProps.setItemCount(10);
- this.propsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 2));
+ this.propsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 3));
this.propsTable.setLinesVisible(true);
this.propsTable.setHeaderVisible(true);
@@ -369,8 +393,21 @@ public class MavenLaunchMainTab extends
addProperty();
}
});
-
- final Button removePropButton = new Button(mainComposite, SWT.NONE);
+ editPropButton = new Button(mainComposite, SWT.NONE);
+ editPropButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
+ editPropButton.setText(Messages.getString("launch.propEditButton")); //$NON-NLS-1$
+ editPropButton.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ if(propsTable.getSelectionCount() > 0) {
+ TableItem[] selection = propsTable.getSelection();
+ if(selection.length == 1) {
+ editProperty(selection[0].getText(0), selection[0].getText(1));
+ }
+ }
+ }
+ });
+ editPropButton.setEnabled(false);
+ removePropButton = new Button(mainComposite, SWT.NONE);
removePropButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
removePropButton.setText(Messages.getString("launch.propRemoveButton")); //$NON-NLS-1$
removePropButton.addSelectionListener(new SelectionAdapter() {
@@ -381,6 +418,7 @@ public class MavenLaunchMainTab extends
}
}
});
+ removePropButton.setEnabled(false);
{
Composite composite = new Composite(mainComposite, SWT.NONE);
@@ -514,23 +552,25 @@ public class MavenLaunchMainTab extends
}
this.profilesText.setText(getAttribute(configuration, ATTR_PROFILES, "")); //$NON-NLS-1$
-
- MavenPlugin plugin = MavenPlugin.getDefault();
- MavenRuntimeManager runtimeManager = plugin.getMavenRuntimeManager();
-
- this.offlineButton.setSelection(getAttribute(configuration, ATTR_OFFLINE, runtimeManager.isOffline()));
- this.debugOutputButton.setSelection(getAttribute(configuration, ATTR_DEBUG_OUTPUT, runtimeManager.isDebugOutput()));
-
- this.updateSnapshotsButton.setSelection(getAttribute(configuration, ATTR_UPDATE_SNAPSHOTS, false));
- this.skipTestsButton.setSelection(getAttribute(configuration, ATTR_SKIP_TESTS, false));
- this.nonRecursiveButton.setSelection(getAttribute(configuration, ATTR_NON_RECURSIVE, false));
- this.enableWorkspaceResolution.setSelection(getAttribute(configuration, ATTR_WORKSPACE_RESOLUTION, false));
-
- String location = getAttribute(configuration, ATTR_RUNTIME, "");
- MavenRuntime runtime = runtimeManager.getRuntime(location);
- this.runtimeComboViewer.setSelection(new StructuredSelection(runtime));
-
try {
+
+ MavenPlugin plugin = MavenPlugin.getDefault();
+ MavenRuntimeManager runtimeManager = plugin.getMavenRuntimeManager();
+ IMavenConfiguration mavenConfiguration = MavenPlugin.lookup(IMavenConfiguration.class);
+
+ this.offlineButton.setSelection(getAttribute(configuration, ATTR_OFFLINE, mavenConfiguration.isOffline()));
+ this.debugOutputButton.setSelection(getAttribute(configuration, ATTR_DEBUG_OUTPUT, mavenConfiguration.isDebugOutput()));
+
+ this.updateSnapshotsButton.setSelection(getAttribute(configuration, ATTR_UPDATE_SNAPSHOTS, false));
+ this.skipTestsButton.setSelection(getAttribute(configuration, ATTR_SKIP_TESTS, false));
+ this.nonRecursiveButton.setSelection(getAttribute(configuration, ATTR_NON_RECURSIVE, false));
+ this.enableWorkspaceResolution.setSelection(getAttribute(configuration, ATTR_WORKSPACE_RESOLUTION, false));
+
+ String location = getAttribute(configuration, ATTR_RUNTIME, "");
+ MavenRuntime runtime = runtimeManager.getRuntime(location);
+ if(runtime != null){
+ this.runtimeComboViewer.setSelection(new StructuredSelection(runtime));
+ }
propsTable.removeAll();
@SuppressWarnings("unchecked")
@@ -551,6 +591,7 @@ public class MavenLaunchMainTab extends
item.setText(1, value);
}
} catch(CoreException ex) {
+ // XXX should we at least log something here?
}
setDirty(false);
}
@@ -559,6 +600,7 @@ public class MavenLaunchMainTab extends
try {
return configuration.getAttribute(name, defaultValue);
} catch(CoreException ex) {
+ MavenLogger.log(ex);
return defaultValue;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org