You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by sp...@apache.org on 2006/04/03 19:24:02 UTC

svn commit: r391088 - in /geronimo/devtools/eclipse-plugin/trunk: assemblies/ assemblies/g-plugin-deployable/ assemblies/updatesite-distribution/ features/org.apache.geronimo.feature/ maven-plugins/maven-emf-plugin/ maven-plugins/maven-geronimodevtools...

Author: sppatel
Date: Mon Apr  3 10:23:59 2006
New Revision: 391088

URL: http://svn.apache.org/viewcvs?rev=391088&view=rev
Log:
m2 packaging

Added:
    geronimo/devtools/eclipse-plugin/trunk/assemblies/
    geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/
    geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml   (with props)
    geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/
    geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml   (with props)
    geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java   (with props)
    geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java   (with props)
    geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java   (with props)
Modified:
    geronimo/devtools/eclipse-plugin/trunk/features/org.apache.geronimo.feature/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.deployment.model/pom.xml

Added: geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml?rev=391088&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml (added)
+++ geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml Mon Apr  3 10:23:59 2006
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.geronimo.devtools</groupId>
+  <artifactId>g-plugin-deployable</artifactId>
+  <packaging>zip</packaging>
+  <name>Geronimo Eclipse Plugin :: Assembly :: ${artifactId}</name>
+  <version>1.0</version>
+ <parent>
+    <groupId>org.apache.geronimo.devtools</groupId>
+    <artifactId>geronimo-eclipse-plugin</artifactId> 
+    <version>1.0</version>
+  </parent>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.geronimo.devtools</groupId>
+        <artifactId>maven-geronimodevtools-plugin</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>createdeployable</goal>
+            </goals>
+            <configuration>
+              <explodedBundles>
+                <explodedBundle>org.apache.geronimo.runtime.v1</explodedBundle>
+              </explodedBundles>
+            </configuration>
+          </execution>
+        </executions>     
+      </plugin>
+    </plugins>
+  </build>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.devtools.eclipse.core</artifactId>
+      <version>${org.apache.geronimo.devtools.eclipse.core_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.deployment.model</artifactId>
+      <version>${org.apache.geronimo.deployment.model_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.deployment.model.edit</artifactId>
+      <version>${org.apache.geronimo.deployment.model.edit_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.feature</artifactId>
+      <version>${org.apache.geronimo.feature_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.installableruntime.jetty.feature</artifactId>
+      <version>${org.apache.geronimo.installableruntime.jetty.feature_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.installableruntime.tomcat.feature</artifactId>
+      <version>${org.apache.geronimo.installableruntime.tomcat.feature_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.runtime.v1</artifactId>
+      <version>${org.apache.geronimo.runtime.v1_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.tomcat.j2ee.server.v1</artifactId>
+      <version>${org.apache.geronimo.tomcat.j2ee.server.v1_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.jetty.j2ee.server.v1</artifactId>
+      <version>${org.apache.geronimo.jetty.j2ee.server.v1_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.ui</artifactId>
+      <version>${org.apache.geronimo.ui_version}</version>
+    </dependency>
+  </dependencies>  
+</project>

Propchange: geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev

Propchange: geronimo/devtools/eclipse-plugin/trunk/assemblies/g-plugin-deployable/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml?rev=391088&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml (added)
+++ geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml Mon Apr  3 10:23:59 2006
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.geronimo.devtools</groupId>
+  <artifactId>updatesite-distribution</artifactId>
+  <packaging>jar</packaging>
+  <name>Geronimo Eclipse Plugin :: Assembly :: ${artifactId}</name>
+  <version>1.0</version>
+  <parent>
+    <groupId>org.apache.geronimo.devtools</groupId>
+    <artifactId>geronimo-eclipse-plugin</artifactId> 
+    <version>1.0</version>
+  </parent>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.geronimo.devtools</groupId>
+        <artifactId>maven-geronimodevtools-plugin</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>updatesite</goal>
+            </goals>
+          </execution>
+        </executions>     
+      </plugin>
+    </plugins>
+  </build>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.devtools.eclipse.core</artifactId>
+      <version>${org.apache.geronimo.devtools.eclipse.core_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.deployment.model</artifactId>
+      <version>${org.apache.geronimo.deployment.model_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.deployment.model.edit</artifactId>
+      <version>${org.apache.geronimo.deployment.model.edit_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.feature</artifactId>
+      <version>${org.apache.geronimo.feature_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.installableruntime.jetty.feature</artifactId>
+      <version>${org.apache.geronimo.installableruntime.jetty.feature_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.installableruntime.tomcat.feature</artifactId>
+      <version>${org.apache.geronimo.installableruntime.tomcat.feature_version}</version>
+    </dependency>-->
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.runtime.v1</artifactId>
+      <version>${org.apache.geronimo.runtime.v1_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.tomcat.j2ee.server.v1</artifactId>
+      <version>${org.apache.geronimo.tomcat.j2ee.server.v1_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.jetty.j2ee.server.v1</artifactId>
+      <version>${org.apache.geronimo.jetty.j2ee.server.v1_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.devtools</groupId>
+      <artifactId>org.apache.geronimo.ui</artifactId>
+      <version>${org.apache.geronimo.ui_version}</version>
+    </dependency>-->
+  </dependencies>
+</project>

Propchange: geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev

Propchange: geronimo/devtools/eclipse-plugin/trunk/assemblies/updatesite-distribution/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: geronimo/devtools/eclipse-plugin/trunk/features/org.apache.geronimo.feature/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/features/org.apache.geronimo.feature/pom.xml?rev=391088&r1=391087&r2=391088&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/features/org.apache.geronimo.feature/pom.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/features/org.apache.geronimo.feature/pom.xml Mon Apr  3 10:23:59 2006
@@ -2,7 +2,7 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>org.apache.geronimo.feature</artifactId>
   <packaging>jar</packaging>
-  <version>${org.apache.geronimo.deployment.feature_version}</version>
+  <version>${org.apache.geronimo.feature_version}</version>
   <name>Geronio Eclipse Plugin :: Feature :: ${artifactId}</name>
   <parent>
     <groupId>org.apache.geronimo.devtools</groupId>

Modified: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml?rev=391088&r1=391087&r2=391088&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml Mon Apr  3 10:23:59 2006
@@ -9,12 +9,12 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.2</version>
+      <version>2.0.3</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-project</artifactId>
-      <version>2.0.2</version>
+      <version>2.0.3</version>
     </dependency>
     <dependency>
       <groupId>ant</groupId>
@@ -60,12 +60,6 @@
       <id>maven1-ibiblio</id>
       <name>Maven1 Repository on iBiblio</name>
       <url>http://www.ibiblio.org/maven/</url>
-      <layout>legacy</layout>
-    </repository>
-    <repository>
-      <id>apache-cvs</id>
-      <name>Apache CVS Repository</name>
-      <url>http://people.apache.org/~sppatel/repository</url>
       <layout>legacy</layout>
     </repository>
   </repositories> 

Modified: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/pom.xml?rev=391088&r1=391087&r2=391088&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/pom.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/pom.xml Mon Apr  3 10:23:59 2006
@@ -10,17 +10,12 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>ant</groupId>
-      <artifactId>ant</artifactId>
-      <version>1.6.5</version>
+      <version>2.0.3</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-project</artifactId>
-      <version>2.0</version>
+      <version>2.0.3</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.plugins</groupId>
@@ -28,9 +23,19 @@
       <version>2.1</version>
     </dependency>
     <dependency>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.6.5</version>
+    </dependency>
+    <dependency>
       <groupId>velocity</groupId>
       <artifactId>velocity</artifactId>
       <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-archiver</artifactId>
+      <version>1.0-alpha-3</version>
     </dependency>
   </dependencies>
 </project>

Added: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java?rev=391088&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java Mon Apr  3 10:23:59 2006
@@ -0,0 +1,79 @@
+/**
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.eclipse.devtools;
+
+import java.io.File;
+import java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.archiver.UnArchiver;
+import org.codehaus.plexus.archiver.manager.ArchiverManager;
+import org.codehaus.plexus.util.FileUtils;
+
+/**
+ * @goal createdeployable
+ */
+public class DeployableDistributionMojo extends PackagingMojo {
+
+	/**
+	 * @parameter
+	 */
+	private List explodedBundles;
+
+	/**
+	 * @parameter expression="${component.org.codehaus.plexus.archiver.manager.ArchiverManager}"
+	 * @required
+	 * @readonly
+	 */
+	protected ArchiverManager archiverManager;
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.geronimo.eclipse.devtools.PackagingMojo#processPlugin(org.apache.maven.artifact.Artifact)
+	 */
+	void processPlugin(Artifact artifact) throws Exception {
+		if (explodedBundles.contains(artifact.getArtifactId())) {
+			UnArchiver unArchiver = archiverManager.getUnArchiver(FileUtils.getExtension(artifact.getFile().getName()));
+			unArchiver.setSourceFile(artifact.getFile());
+			unArchiver.setDestDirectory((getExpandedBundleDirectory(artifact, getPluginsDestination())));
+			unArchiver.extract();
+		} else {
+			FileUtils.copyFile(artifact.getFile(), getDestinationFile(artifact, getPluginsDestination()));
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.geronimo.eclipse.devtools.PackagingMojo#processFeature(org.apache.maven.artifact.Artifact)
+	 */
+	void processFeature(Artifact artifact) throws Exception {
+		UnArchiver unArchiver = archiverManager.getUnArchiver(FileUtils.getExtension(artifact.getFile().getName()));
+		unArchiver.setSourceFile(artifact.getFile());
+		unArchiver.setDestDirectory(getExpandedBundleDirectory(artifact, getFeaturesDestination()));
+		unArchiver.extract();
+	}
+	
+	public static File getExpandedBundleDirectory(Artifact artifact, File destinationRoot) {
+		String fileName = artifact.getFile().getName().replaceFirst("-", "_");
+		String dirName = fileName.substring(0, fileName.indexOf(FileUtils.getExtension(fileName))-1);
+		File dest = new File(destinationRoot + File.separator + dirName);
+		dest.mkdirs();
+		return dest;
+	}
+
+}

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/DeployableDistributionMojo.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java?rev=391088&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java Mon Apr  3 10:23:59 2006
@@ -0,0 +1,115 @@
+/**
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.eclipse.devtools;
+
+import java.io.File;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.project.MavenProject;
+
+/**
+ * @requiresDependencyResolution
+ */
+public abstract class PackagingMojo extends AbstractMojo {
+	
+	/**
+	 * @parameter expression="${project}"
+	 * @required
+	 */
+	protected MavenProject project;
+
+	/**
+	 * @parameter expression="${project.dependencies}
+	 * @required
+	 * @readonly
+	 */
+	private Collection dependencies;
+
+	/** 
+	 * @parameter expression="${project.build.outputDirectory}/plugins"
+	 * @required
+	 */
+	private File pluginsDestination;
+
+	/**
+	 * @parameter expression="${project.build.outputDirectory}/features"
+	 * @required
+	 */
+	private File featuresDestination;
+
+	/* (non-Javadoc)
+	 * @see org.apache.maven.plugin.Mojo#execute()
+	 */
+	public void execute() throws MojoExecutionException, MojoFailureException {
+		Set artifacts = project.getDependencyArtifacts();
+		Iterator i = artifacts.iterator();
+		while (i.hasNext()) {
+			Artifact artifact = (Artifact) i.next();
+			if (isDirectDependency(artifact)) {
+				try {
+					URL[] urls = { artifact.getFile().toURL() };
+					URLClassLoader cl = new URLClassLoader(urls);
+					if (cl.findResource("plugin.xml") != null) {
+						processPlugin(artifact);
+					} else if (cl.findResource("feature.xml") != null) {
+						processFeature(artifact);
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	abstract void processPlugin(Artifact artifact) throws Exception;
+	
+	abstract void processFeature(Artifact artifact) throws Exception;
+	
+	protected boolean isDirectDependency(Artifact artifact) {
+		Iterator iterator = dependencies.iterator();
+		while (iterator.hasNext()) {
+			Dependency dependency = (Dependency) iterator.next();
+			if (dependency.getGroupId().equals(artifact.getGroupId())
+					&& dependency.getArtifactId().equals(artifact.getArtifactId())) {
+				return true;
+			}
+		}
+		return false;
+	}
+	
+	public static File getDestinationFile(Artifact artifact, File toDir) {
+		String fileName = artifact.getFile().getName().replaceFirst("-", "_");
+		return new File(toDir + File.separator + fileName);
+	}
+
+	public File getFeaturesDestination() {
+		return featuresDestination;
+	}
+
+	public File getPluginsDestination() {
+		return pluginsDestination;
+	}
+
+}

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/PackagingMojo.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java?rev=391088&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java Mon Apr  3 10:23:59 2006
@@ -0,0 +1,43 @@
+/**
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.eclipse.devtools;
+
+import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.util.FileUtils;
+
+/**
+ * @goal updatesite
+ */
+public class UpdateDistribtuionMojo extends PackagingMojo {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.geronimo.eclipse.devtools.PackagingMojo#processPlugin(org.apache.maven.artifact.Artifact)
+	 */
+	void processPlugin(Artifact artifact) throws Exception {
+		FileUtils.copyFile(artifact.getFile(), getDestinationFile(artifact, getPluginsDestination()));
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.geronimo.eclipse.devtools.PackagingMojo#processFeature(org.apache.maven.artifact.Artifact)
+	 */
+	void processFeature(Artifact artifact) throws Exception {
+		FileUtils.copyFile(artifact.getFile(), getDestinationFile(artifact, getFeaturesDestination()));
+	}
+}

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev

Propchange: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-geronimodevtools-plugin/src/main/java/org/apache/geronimo/eclipse/devtools/UpdateDistribtuionMojo.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.deployment.model/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.deployment.model/pom.xml?rev=391088&r1=391087&r2=391088&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.deployment.model/pom.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.deployment.model/pom.xml Mon Apr  3 10:23:59 2006
@@ -76,6 +76,7 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>dependency-maven-plugin</artifactId>
+        <version>1.1-SNAPSHOT</version>
         <executions>
           <execution>
             <phase>validate</phase>