1 package org.apache.maven.plugins.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.plugins.assembly.AssemblerConfigurationSource;
23 import org.apache.maven.plugins.assembly.archive.ArchiveCreationException;
24 import org.apache.maven.plugins.assembly.archive.task.AddFileSetsTask;
25 import org.apache.maven.plugins.assembly.format.AssemblyFormattingException;
26 import org.apache.maven.plugins.assembly.model.Assembly;
27 import org.apache.maven.plugins.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 @Override
50 public void execute( @Nonnull final Assembly assembly, final Archiver archiver,
51 final AssemblerConfigurationSource configSource )
52 throws ArchiveCreationException, AssemblyFormattingException
53 {
54 final List<FileSet> fileSets = assembly.getFileSets();
55
56 if ( ( fileSets != null ) && !fileSets.isEmpty() )
57 {
58 final AddFileSetsTask task = new AddFileSetsTask( fileSets );
59
60 task.setLogger( getLogger() );
61 task.execute( archiver, configSource );
62 }
63 }
64
65
66 @Override
67 public int order()
68 {
69
70 return 20;
71
72 }
73 }