1 package org.apache.maven.its.mng5958;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.LinkedHashMap;
23 import java.util.List;
24 import java.util.Map;
25
26 import org.apache.maven.lifecycle.mapping.Lifecycle;
27 import org.apache.maven.lifecycle.mapping.LifecycleMapping;
28
29
30
31
32 public abstract class AbstractLifecycleMapping implements LifecycleMapping
33 {
34
35 private Map<String, Lifecycle> lifecycleMap;
36
37 public Map<String, Lifecycle> getLifecycles()
38 {
39 if ( lifecycleMap != null )
40 {
41 return lifecycleMap;
42 }
43
44 lifecycleMap = new LinkedHashMap<>();
45 Lifecycle lifecycle = new Lifecycle();
46
47 lifecycle.setId( "default" );
48 lifecycle.setPhases( initPhases() );
49
50 lifecycleMap.put( "default", lifecycle );
51 return lifecycleMap;
52 }
53
54 public Map<String, String> getPhases( String lifecycle )
55 {
56 Lifecycle lifecycleMapping = getLifecycles().get( lifecycle );
57 if ( lifecycleMapping != null )
58 {
59 return lifecycleMapping.getPhases();
60 }
61 return null;
62 }
63
64 public List<String> getOptionalMojos( String lifecycle )
65 {
66 return null;
67 }
68
69
70 protected abstract Map initPhases();
71 }