Author: veithen
Date: Sun Dec  5 12:20:59 2010
New Revision: 1042331

URL: http://svn.apache.org/viewvc?rev=1042331&view=rev
Log:
Merged the latest changes to the axis2-repo-maven-plugin to the 1.5 branch so 
that we can use it later in downstream projects such as Sandesha2.

Modified:
    axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin/   
(props changed)
    
axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java

Propchange: 
axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Dec  5 12:20:59 2010
@@ -0,0 +1,2 @@
+/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin:922914,922941,922983,935169,935174,935338,937004,944347,944915,951385,960693,960976,960978,960984,960995,961012,961964,962844,963081,963147,965032,965036,965056,965068,965074,965213,965268,965277,965302,965454,966371,966401,966428,966536,979882-979883,979886,980242,981036,981038,981055-981056,981058,981095,981188,981220-981221,981237,981262,981278,981293,981306,981311,981985,981992,982008,982387,982393,982795,982800,983101,983110,983114,983119-983120,983128,983185,983236,983270,983276,983280,983316,983363,983370,983372,985458,985464,985626,985634,985661,985715,985717,985744,985748,985752,985763,985791,985796,985851,986844,986889,987313,987712-987715,987783,987832,987873,987883,987913,987935,988689,990350,990369,990377,990384,990394,990398,990404,990434,990445,990449,1001279,1001452-1001466,1001673,1029034,1029153,1029308,1029372,1029377,1029610-1029651,1030008,1030538,1031350,1031352,1031799,1032001,1032390,103
 
2401,1032681,1032694,1033898,1033942,1033956,1034010,1034015,1034142,1034173,1034213,1036624,1036659,1037144,1037210,1037617,1038024,1038070,1039635,1039712-1039729
+/webservices/axis2/trunk/java/modules/tool/axis2-repo-maven-plugin:728674,731798,732539,732541,732873,732877,732924,732927,732939,733293,733295,733304,733306,733348,733354,733394,733399,733463-733464,733533,733539-733540,733676,733776,733900,733910,734227,734237,734261,738057,738067,738071,738086,738110,738113,738117,738158,740332,740357,740360,741300,741784,741873,741878,741881,748761,751958,754458,754467,754503,757151-757153,759488,759507,759878,759968,761025,761044,761068,761709,761770,761952,763148,765102,771051,777648,777882,777897,777934,778060,780546,783479,788202,795431,801630,803725,805578,805981,805999,806085,806331,807160,807487,807512,816740,816804,816812,816891,817965,821686,821689,834058,834175,889783,902271,904660,904780,905980

Modified: 
axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java?rev=1042331&r1=1042330&r2=1042331&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
 Sun Dec  5 12:20:59 2010
@@ -21,8 +21,11 @@ package org.apache.axis2.maven2.repo;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -41,6 +44,7 @@ import org.apache.maven.shared.artifact.
 import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
 import org.apache.maven.shared.artifact.filter.collection.TypeFilter;
 import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
 
 public abstract class AbstractCreateRepositoryMojo extends AbstractMojo {
     /**
@@ -150,6 +154,34 @@ public abstract class AbstractCreateRepo
      */
     private boolean stripModuleVersion;
     
+    /**
+     * Specifies whether modules should be deployed to the repository.
+     * 
+     * @parameter default-value="true"
+     */
+    private boolean includeModules;
+    
+    /**
+     * Comma separated list of modules (by artifactId) to include in the 
repository.
+     * 
+     * @parameter
+     */
+    private String modules;
+    
+    /**
+     * Specifies whether services should be deployed to the repository.
+     * 
+     * @parameter default-value="true"
+     */
+    private boolean includeServices;
+    
+    /**
+     * Comma separated list of services (by artifactId) to include in the 
repository.
+     * 
+     * @parameter
+     */
+    private String services;
+    
     protected abstract String getScope();
     
     protected abstract File getOutputDirectory();
@@ -165,26 +197,37 @@ public abstract class AbstractCreateRepo
                 artifacts.addAll(project.getAttachedArtifacts());
             }
         }
-        FilterArtifacts filter = new FilterArtifacts();
-        filter.addFilter(new ScopeFilter(getScope(), null));
-        filter.addFilter(new TypeFilter("aar,mar", null));
-        try {
-            artifacts = filter.filter(artifacts);
-        } catch (ArtifactFilterException ex) {
-            throw new MojoExecutionException(ex.getMessage(), ex);
-        }
-        artifacts = replaceIncompleteArtifacts(artifacts);
         File outputDirectory = getOutputDirectory();
-        Map<String,ArchiveDeployer> deployers = new 
HashMap<String,ArchiveDeployer>();
-        deployers.put("aar", new ArchiveDeployer(outputDirectory, 
servicesDirectory, "services.list", generateFileLists, stripServiceVersion));
-        deployers.put("mar", new ArchiveDeployer(outputDirectory, 
modulesDirectory, "modules.list", generateFileLists, stripModuleVersion));
-        for (Artifact artifact : artifacts) {
-            String type = artifact.getType();
-            ArchiveDeployer deployer = deployers.get(type);
-            if (deployer == null) {
-                throw new MojoExecutionException("No deployer found for 
artifact type " + type);
+        if (includeModules || includeServices) {
+            FilterArtifacts filter = new FilterArtifacts();
+            filter.addFilter(new ScopeFilter(getScope(), null));
+            if (includeModules && includeServices) {
+                filter.addFilter(new TypeFilter("aar,mar", null));
+            } else if (includeModules) {
+                filter.addFilter(new TypeFilter("mar", null));
+            }
+            try {
+                artifacts = filter.filter(artifacts);
+            } catch (ArtifactFilterException ex) {
+                throw new MojoExecutionException(ex.getMessage(), ex);
+            }
+            selectArtifacts(artifacts, modules, "mar");
+            selectArtifacts(artifacts, services, "aar");
+            artifacts = replaceIncompleteArtifacts(artifacts);
+            Map<String,ArchiveDeployer> deployers = new 
HashMap<String,ArchiveDeployer>();
+            deployers.put("aar", new ArchiveDeployer(outputDirectory, 
servicesDirectory, "services.list", generateFileLists, stripServiceVersion));
+            deployers.put("mar", new ArchiveDeployer(outputDirectory, 
modulesDirectory, "modules.list", generateFileLists, stripModuleVersion));
+            for (Artifact artifact : artifacts) {
+                String type = artifact.getType();
+                ArchiveDeployer deployer = deployers.get(type);
+                if (deployer == null) {
+                    throw new MojoExecutionException("No deployer found for 
artifact type " + type);
+                }
+                deployer.deploy(getLog(), artifact);
+            }
+            for (ArchiveDeployer deployer : deployers.values()) {
+                deployer.finish(getLog());
             }
-            deployer.deploy(getLog(), artifact);
         }
         if (axis2xml != null) {
             getLog().info("Copying axis2.xml");
@@ -196,8 +239,20 @@ public abstract class AbstractCreateRepo
                 throw new MojoExecutionException("Error copying axis2.xml 
file: " + ex.getMessage(), ex);
             }
         }
-        for (ArchiveDeployer deployer : deployers.values()) {
-            deployer.finish(getLog());
+    }
+
+    private void selectArtifacts(Set<Artifact> artifacts, String list, String 
type) throws MojoFailureException {
+        if (list != null) {
+            Set<String> set = new 
HashSet<String>(Arrays.asList(StringUtils.split(list, ",")));
+            for (Iterator<Artifact> it = artifacts.iterator(); it.hasNext(); ) 
{
+                Artifact artifact = it.next();
+                if (artifact.getType().equals(type) && 
!set.remove(artifact.getArtifactId())) {
+                    it.remove();
+                }
+            }
+            if (!set.isEmpty()) {
+                throw new MojoFailureException("The following " + type + " 
artifacts have not been found: " + set);
+            }
         }
     }
 


Reply via email to