You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2013/09/13 09:08:43 UTC

svn commit: r1522796 - in /sling/trunk/tooling/ide: eclipse-core/src/org/apache/sling/ide/eclipse/core/ eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ eclipse-m2e-ui/META-INF/ eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/ eclipse-m...

Author: stefanegli
Date: Fri Sep 13 07:08:43 2013
New Revision: 1522796

URL: http://svn.apache.org/r1522796
Log:
SLING-3056 : removed another usage of m2e in eclipse-ui, replaced using a dom, plus moved EmbeddedArchetypeInstaller to eclipse-m2e-ui

Added:
    sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/EmbeddedArchetypeInstaller.java
      - copied, changed from r1522621, sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/EmbeddedArchetypeInstaller.java
Removed:
    sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/EmbeddedArchetypeInstaller.java
Modified:
    sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ProjectHelper.java
    sling/trunk/tooling/ide/eclipse-m2e-ui/META-INF/MANIFEST.MF
    sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/ui/wizards/np/NewSlingBundleWizard.java
    sling/trunk/tooling/ide/eclipse-ui/pom.xml

Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ProjectHelper.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ProjectHelper.java?rev=1522796&r1=1522795&r2=1522796&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ProjectHelper.java (original)
+++ sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ProjectHelper.java Fri Sep 13 07:08:43 2013
@@ -16,7 +16,12 @@
  */
 package org.apache.sling.ide.eclipse.core.internal;
 
-import org.apache.maven.model.Model;
+import java.io.IOException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -25,21 +30,63 @@ import org.eclipse.jdt.core.IJavaModel;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.m2e.core.MavenPlugin;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IProjectFacet;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
 
 public class ProjectHelper {
 
 	public static boolean isPotentialBundleProject(IProject project) {
-		Model mavenModel = getMavenModel(project);
-		return (mavenModel!=null && "bundle".equals(mavenModel.getPackaging()));
+		String packaging = getMavenProperty(project, "packaging");
+		return (packaging!=null && "bundle".equals(packaging));
 	}
 	
 	public static boolean isPotentialContentProject(IProject project) {
-		Model mavenModel = ProjectHelper.getMavenModel(project);
-		return (mavenModel!=null && "content-package".equals(mavenModel.getPackaging()));
+		String packaging = getMavenProperty(project, "packaging");
+		return (packaging!=null && "content-package".equals(packaging));
+	}
+	
+	public static String getMavenProperty(IProject project, String name) {
+		try{
+			DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+			IFile file = project.getFile("pom.xml");
+			if (file==null || !file.exists()) {
+				return null;
+			}
+			Document document = docBuilder.parse(file.getContents());
+			Element docElement = document.getDocumentElement();
+			NodeList children = docElement.getChildNodes();
+			for(int i=0; i<children.getLength(); i++) {
+				Node aChild = children.item(i);
+				if (aChild.getNodeName().equals(name)) {
+					Element e = (Element) aChild;
+					String text = e.getTextContent();
+					return text;
+				}
+			}
+		} catch (ParserConfigurationException e) {
+			//TODO proper logging
+			e.printStackTrace();
+			return null;
+		} catch (SAXException e) {
+			//TODO proper logging
+			e.printStackTrace();
+			return null;
+		} catch (IOException e) {
+			//TODO proper logging
+			e.printStackTrace();
+			return null;
+		} catch (CoreException e) {
+			//TODO proper logging
+			e.printStackTrace();
+			return null;
+		}
+		return null;
 	}
 	
 	public static boolean isBundleProject(IProject project) {
@@ -75,19 +122,4 @@ public class ProjectHelper {
 		}
 	}
 
-	public static Model getMavenModel(IProject project) {
-		IFile pomFile = project.getFile("pom.xml");
-		if (!pomFile.exists()) {
-			return null;
-		}
-		try {
-			Model model = MavenPlugin.getMavenModelManager().readMavenModel(pomFile);
-			return model;
-		} catch (CoreException e) {
-			// TODO proper logging
-			e.printStackTrace();
-			return null;
-		}
-	}
-	
 }

Modified: sling/trunk/tooling/ide/eclipse-m2e-ui/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-m2e-ui/META-INF/MANIFEST.MF?rev=1522796&r1=1522795&r2=1522796&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-m2e-ui/META-INF/MANIFEST.MF (original)
+++ sling/trunk/tooling/ide/eclipse-m2e-ui/META-INF/MANIFEST.MF Fri Sep 13 07:08:43 2013
@@ -11,11 +11,19 @@ Import-Package: org.apache.commons.httpc
  org.apache.commons.httpclient.methods;version="3.1.0",
  org.apache.commons.httpclient.methods.multipart;version="3.1.0",
  org.apache.commons.httpclient.params;version="3.1.0",
+ org.apache.maven,
+ org.apache.maven.archetype,
  org.apache.maven.archetype.catalog,
  org.apache.maven.archetype.metadata,
+ org.apache.maven.artifact,
+ org.apache.maven.artifact.handler,
+ org.apache.maven.artifact.installer,
  org.apache.maven.artifact.repository,
+ org.apache.maven.execution,
  org.apache.maven.model,
+ org.apache.maven.plugin,
  org.apache.sling.ide.eclipse.core,
+ org.codehaus.plexus,
  org.eclipse.core.resources,
  org.eclipse.core.runtime;version="3.4.0",
  org.eclipse.core.runtime.jobs,
@@ -31,6 +39,7 @@ Import-Package: org.apache.commons.httpc
  org.eclipse.m2e.core.embedder,
  org.eclipse.m2e.core.internal,
  org.eclipse.m2e.core.internal.archetype,
+ org.eclipse.m2e.core.internal.embedder,
  org.eclipse.m2e.core.project,
  org.eclipse.swt,
  org.eclipse.swt.events,
@@ -41,7 +50,8 @@ Import-Package: org.apache.commons.httpc
  org.eclipse.ui.progress,
  org.eclipse.wst.common.project.facet.core,
  org.eclipse.wst.server.core,
- org.osgi.framework;version="1.6.0"
+ org.osgi.framework;version="1.6.0",
+ org.sonatype.aether
 Bundle-ActivationPolicy: lazy
 Service-Component: OSGI-INF/*.xml
 Export-Package: org.apache.sling.ide.eclipse.ui.wizards.np

Copied: sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/EmbeddedArchetypeInstaller.java (from r1522621, sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/EmbeddedArchetypeInstaller.java)
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/EmbeddedArchetypeInstaller.java?p2=sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/EmbeddedArchetypeInstaller.java&p1=sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/EmbeddedArchetypeInstaller.java&r1=1522621&r2=1522796&rev=1522796&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/EmbeddedArchetypeInstaller.java (original)
+++ sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/EmbeddedArchetypeInstaller.java Fri Sep 13 07:08:43 2013
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sling.ide.eclipse.core;
+package org.apache.sling.ide.eclipse.m2e;
 
 import java.io.File;
 import java.io.FileInputStream;

Modified: sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/ui/wizards/np/NewSlingBundleWizard.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/ui/wizards/np/NewSlingBundleWizard.java?rev=1522796&r1=1522795&r2=1522796&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/ui/wizards/np/NewSlingBundleWizard.java (original)
+++ sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/ui/wizards/np/NewSlingBundleWizard.java Fri Sep 13 07:08:43 2013
@@ -20,7 +20,7 @@ import java.io.IOException;
 import java.net.URL;
 
 import org.apache.maven.archetype.catalog.Archetype;
-import org.apache.sling.ide.eclipse.core.EmbeddedArchetypeInstaller;
+import org.apache.sling.ide.eclipse.m2e.EmbeddedArchetypeInstaller;
 import org.apache.sling.ide.eclipse.m2e.internal.Activator;
 import org.apache.sling.ide.eclipse.m2e.internal.SharedImages;
 import org.eclipse.jface.resource.ImageDescriptor;

Modified: sling/trunk/tooling/ide/eclipse-ui/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/pom.xml?rev=1522796&r1=1522795&r2=1522796&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/pom.xml (original)
+++ sling/trunk/tooling/ide/eclipse-ui/pom.xml Fri Sep 13 07:08:43 2013
@@ -19,81 +19,4 @@
         </excludes>
       </resource>
     </resources>
-    <plugins>
-	  <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.8</version>
-        <executions>
-          <execution>
-            <id>copy</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-            <configuration>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>org.apache.sling</groupId>
-                  <artifactId>org.apache.sling.tooling.support.install</artifactId>
-                  <version>0.0.1-SNAPSHOT</version>
-                  <overWrite>false</overWrite>
-                  <outputDirectory>${project.build.directory}/sling-tooling-support-install</outputDirectory>
-                </artifactItem>
-                <artifactItem>
-                  <groupId>org.apache.sling</groupId>
-                  <artifactId>sling-bundle-archetype</artifactId>
-                  <version>1.0.1-SNAPSHOT</version>
-                  <overWrite>false</overWrite>
-                  <outputDirectory>${project.build.directory}/archetypes</outputDirectory>
-                </artifactItem>
-                <artifactItem>
-                  <groupId>org.apache.sling</groupId>
-                  <artifactId>sling-bundle-archetype</artifactId>
-                  <version>1.0.1-SNAPSHOT</version>
-                  <type>pom</type>
-                  <overWrite>false</overWrite>
-                  <outputDirectory>${project.build.directory}/archetypes</outputDirectory>
-                </artifactItem>
-              </artifactItems>
-              <overWriteReleases>false</overWriteReleases>
-              <overWriteSnapshots>true</overWriteSnapshots>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-    <pluginManagement>
-    	<plugins>
-    		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-    		<plugin>
-    			<groupId>org.eclipse.m2e</groupId>
-    			<artifactId>lifecycle-mapping</artifactId>
-    			<version>1.0.0</version>
-    			<configuration>
-    				<lifecycleMappingMetadata>
-    					<pluginExecutions>
-    						<pluginExecution>
-    							<pluginExecutionFilter>
-    								<groupId>
-    									org.apache.maven.plugins
-    								</groupId>
-    								<artifactId>
-    									maven-dependency-plugin
-    								</artifactId>
-    								<versionRange>[2.8,)</versionRange>
-    								<goals>
-    									<goal>copy</goal>
-    								</goals>
-    							</pluginExecutionFilter>
-    							<action>
-    								<ignore></ignore>
-    							</action>
-    						</pluginExecution>
-    					</pluginExecutions>
-    				</lifecycleMappingMetadata>
-    			</configuration>
-    		</plugin>
-    	</plugins>
-    </pluginManagement>
 </build></project>