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 org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
23 import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
24 import org.apache.maven.plugin.assembly.archive.task.AddFileSetsTask;
25 import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
26 import org.apache.maven.plugin.assembly.model.Assembly;
27 import org.apache.maven.plugin.assembly.model.FileSet;
28 import org.codehaus.plexus.archiver.Archiver;
29 import org.codehaus.plexus.component.annotations.Component;
30 import org.codehaus.plexus.logging.AbstractLogEnabled;
31
32 import javax.annotation.Nonnull;
33 import java.util.List;
34
35
36
37
38
39
40 @Component( role = AssemblyArchiverPhase.class, hint = "file-sets" )
41 public class FileSetAssemblyPhase
42 extends AbstractLogEnabled
43 implements AssemblyArchiverPhase, PhaseOrder
44 {
45
46
47
48
49 public void execute( @Nonnull final Assembly assembly, final Archiver archiver,
50 final AssemblerConfigurationSource configSource )
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
65 public int order()
66 {
67
68 return 20;
69
70 }
71 }