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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to