1   package org.apache.maven.plugin.assembly.archive.phase;
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  import java.util.List;
23  
24  import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
25  import org.apache.maven.plugin.assembly.AssemblyContext;
26  import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
27  import org.apache.maven.plugin.assembly.archive.task.AddFileSetsTask;
28  import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
29  import org.apache.maven.plugin.assembly.model.Assembly;
30  import org.apache.maven.plugin.assembly.model.FileSet;
31  import org.codehaus.plexus.archiver.Archiver;
32  import org.codehaus.plexus.component.annotations.Component;
33  import org.codehaus.plexus.logging.AbstractLogEnabled;
34  
35  
36  
37  
38  
39  
40  @Component( role = AssemblyArchiverPhase.class, hint = "file-sets" )
41  public class FileSetAssemblyPhase
42      extends AbstractLogEnabled
43      implements AssemblyArchiverPhase
44  {
45  
46      
47  
48  
49      public void execute( final Assembly assembly, final Archiver archiver,
50                           final AssemblerConfigurationSource configSource, final AssemblyContext context )
51          throws ArchiveCreationException, AssemblyFormattingException
52      {
53          final List<FileSet> fileSets = assembly.getFileSets();
54  
55          if ( ( fileSets != null ) && !fileSets.isEmpty() )
56          {
57              final AddFileSetsTask task = new AddFileSetsTask( fileSets );
58  
59              task.setLogger( getLogger() );
60              task.execute( archiver, configSource );
61          }
62      }
63  
64  }