You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2006/11/02 17:39:17 UTC

svn commit: r470414 - in /maven/plugins/trunk/maven-assembly-plugin/src: main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/ site/apt/

Author: jdcasey
Date: Thu Nov  2 08:39:16 2006
New Revision: 470414

URL: http://svn.apache.org/viewvc?view=rev&rev=470414
Log:
Missed a few classes created for wrapping the new repo-builder model classes, and also adding a couple updates to docs.

Added:
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java   (with props)
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java   (with props)
Modified:
    maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt
    maven/plugins/trunk/maven-assembly-plugin/src/site/apt/usage.apt

Added: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java?view=auto&rev=470414
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java Thu Nov  2 08:39:16 2006
@@ -0,0 +1,32 @@
+package org.apache.maven.plugin.assembly.archive.phase.wrappers;
+
+import org.apache.maven.plugins.assembly.model.GroupVersionAlignment;
+
+import java.util.List;
+
+public class GroupVersionAlignmentWrapper
+{
+
+    private final GroupVersionAlignment alignment;
+
+    public GroupVersionAlignmentWrapper( GroupVersionAlignment alignment )
+    {
+        this.alignment = alignment;
+    }
+
+    public List getExcludes()
+    {
+        return alignment.getExcludes();
+    }
+
+    public String getId()
+    {
+        return alignment.getId();
+    }
+
+    public String getVersion()
+    {
+        return alignment.getVersion();
+    }
+    
+}

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/GroupVersionAlignmentWrapper.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java?view=auto&rev=470414
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java Thu Nov  2 08:39:16 2006
@@ -0,0 +1,29 @@
+package org.apache.maven.plugin.assembly.archive.phase.wrappers;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.repository.RepositoryBuilderConfigSource;
+
+public class RepoBuilderConfigSourceWrapper
+    implements RepositoryBuilderConfigSource
+{
+
+    private final AssemblerConfigurationSource configSource;
+
+    public RepoBuilderConfigSourceWrapper( AssemblerConfigurationSource configSource )
+    {
+        this.configSource = configSource;
+    }
+
+    public ArtifactRepository getLocalRepository()
+    {
+        return configSource.getLocalRepository();
+    }
+
+    public MavenProject getProject()
+    {
+        return configSource.getProject();
+    }
+    
+}

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoBuilderConfigSourceWrapper.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java?view=auto&rev=470414
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java Thu Nov  2 08:39:16 2006
@@ -0,0 +1,64 @@
+package org.apache.maven.plugin.assembly.archive.phase.wrappers;
+
+import org.apache.maven.plugins.assembly.model.GroupVersionAlignment;
+import org.apache.maven.plugins.assembly.model.Repository;
+import org.apache.maven.shared.repository.model.RepositoryInfo;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class RepoInfoWrapper
+    implements RepositoryInfo
+{
+
+    private final Repository repo;
+    private List convertedAlignments;
+
+    public RepoInfoWrapper( Repository repo )
+    {
+        this.repo = repo;
+    }
+    
+    public List getExcludes()
+    {
+        return repo.getExcludes();
+    }
+
+    public List getGroupVersionAlignments()
+    {
+        List alignments = repo.getGroupVersionAlignments();
+        
+        if ( convertedAlignments == null || alignments.size() != convertedAlignments.size() )
+        {
+            List l = new ArrayList( alignments.size() );
+            
+            for ( Iterator it = alignments.iterator(); it.hasNext(); )
+            {
+                GroupVersionAlignment alignment = (GroupVersionAlignment) it.next();
+                
+                l.add( new GroupVersionAlignmentWrapper( alignment ) );
+            }
+            
+            convertedAlignments = l;
+        }
+        
+        return convertedAlignments;
+    }
+
+    public List getIncludes()
+    {
+        return repo.getIncludes();
+    }
+
+    public String getScope()
+    {
+        return repo.getScope();
+    }
+
+    public boolean isIncludeMetadata()
+    {
+        return repo.isIncludeMetadata();
+    }
+    
+}

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/wrappers/RepoInfoWrapper.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt?view=diff&rev=470414&r1=470413&r2=470414
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt Thu Nov  2 08:39:16 2006
@@ -114,11 +114,11 @@
 
   * {{{directory-mojo.html}assembly:directory}} Assembles an application bundle
   from an assembly descriptor or distribution into a directory. Executed from
-  the command-line.
+  the command-line.*
 
   * {{{directory-inline-mojo.html}assembly:directory-inline}} Assembles an
   application bundle or distribution into a directory. Executed within the Maven
-  Lifecycle.
+  Lifecycle.*
 
   * {{{unpack-mojo.html}assembly:unpack}} Assembles an application bundle or
   distribution from an assembly descriptor into an archive of a chosen format
@@ -127,6 +127,15 @@
   * {{{single-mojo.html}assembly:single}} An assembly mojo created as a
   work-around for lifecycle issues until addressed in the Maven 2.1 release.
 
+  * {{{directory-single-mojo.html}assembly:directory-single}} An assembly mojo 
+  created as a work-around for lifecycle issues until addressed in the Maven 2.1 
+  release. This mojo will generate an assembly into a directory.
+  
+  []
+  
+  \* <<NOTE:>> Directory-based assemblies cannot be attached to a project for
+  deployment or installation, since they do not represent a single,
+  self-contained file which can be transferred across network connections.
 
 * Usage
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/site/apt/usage.apt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/site/apt/usage.apt?view=diff&rev=470414&r1=470413&r2=470414
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/site/apt/usage.apt (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/site/apt/usage.apt Thu Nov  2 08:39:16 2006
@@ -322,6 +322,21 @@
 
 * Advanced Configuration
 
+** Creating Assemblies from Multiple Projects in a Multimodule Build
+
+  In certain cases, you may need to create several assembly archives from
+  different points in a multimodule build. For this reason, two new assembly
+  mojos have been introduced: <<<assembly:single>>>, and
+  <<<assembly:directory-single>>>. These mojos will perform the usual tasks
+  associated with creating assembly archives or directories, without running in
+  a once-per-build mode. However, it's important to note that the use of the
+  <<<\<moduleSets\>>>> section in the assembly descriptor may be limited in
+  these cases, since the assembly mojo will not have access to the full list of
+  projects in the current build. See the examples entry in the
+  {{{#Resources}Resources}} section below for more information.
+
+** Creating an Executable Jar
+
   As you've no doubt noticed, the Assembly Plugin can be a very useful way to
   create a self-contained binary artifact for your project, among many other
   things. However, once you've created this self-contained jar, you will
@@ -369,9 +384,11 @@
   
 ** GOTCHA!
 
-  At this point, the directory-oriented mojos - <<<directory>>> and
-  <<<directory-inline>>> - <<do not>> support the <<<\<archive\>>>>
-  configuration element.
+  At this point, only the <<<jar>>> assembly format supports the <<<\<archive\>>>>
+  configuration element. By definition, directory-based assembly mojos -
+  <<<assembly:directory>>>, <<<assembly:directory-inline>>>, and
+  <<<assembly:directory-single>>> - do not produce a jar-format archive, and
+  therefore do not support the <<<\<archive\>>>> element.
 
 * {Resources}