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