1   package org.apache.maven.lifecycle.internal;
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.lifecycle.internal.builder.BuilderCommon;
23  import org.apache.maven.model.Plugin;
24  import org.apache.maven.plugin.MojoExecution;
25  import org.apache.maven.plugin.descriptor.MojoDescriptor;
26  import org.apache.maven.project.MavenProject;
27  
28  import java.util.ArrayList;
29  import java.util.List;
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  public class ExecutionPlanItem
40  {
41      private final MojoExecution mojoExecution;
42  
43      public ExecutionPlanItem( MojoExecution mojoExecution )
44      {
45          this.mojoExecution = mojoExecution;
46      }
47  
48      public static List<ExecutionPlanItem> createExecutionPlanItems( MavenProject mavenProject,
49                                                                      List<MojoExecution> executions )
50      {
51          BuilderCommon.attachToThread( mavenProject );
52  
53          List<ExecutionPlanItem> result = new ArrayList<ExecutionPlanItem>();
54          for ( MojoExecution mojoExecution : executions )
55          {
56              result.add( new ExecutionPlanItem( mojoExecution ) );
57          }
58          return result;
59      }
60  
61      public MojoExecution getMojoExecution()
62      {
63          return mojoExecution;
64      }
65  
66      public String getLifecyclePhase()
67      {
68          return mojoExecution.getLifecyclePhase();
69      }
70  
71      public Plugin getPlugin()
72      {
73          final MojoDescriptor mojoDescriptor = getMojoExecution().getMojoDescriptor();
74          return mojoDescriptor.getPluginDescriptor().getPlugin();
75      }
76  
77      @Override
78      public String toString()
79      {
80          return "ExecutionPlanItem{" + ", mojoExecution=" + mojoExecution + '}'
81              + super.toString();
82      }
83  
84  }