1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.lifecycle.mapping;
20
21 import java.util.ArrayList;
22 import java.util.Arrays;
23 import java.util.Collections;
24 import java.util.LinkedHashMap;
25 import java.util.List;
26 import java.util.Map;
27 import java.util.Optional;
28 import java.util.function.Function;
29 import java.util.stream.Collectors;
30
31 import org.codehaus.plexus.util.StringUtils;
32
33
34
35
36
37
38 public class LifecyclePhase {
39
40 private List<LifecycleMojo> mojos;
41
42 public LifecyclePhase() {}
43
44 public LifecyclePhase(String goals) {
45 set(goals);
46 }
47
48 public List<LifecycleMojo> getMojos() {
49 return mojos;
50 }
51
52 public void setMojos(List<LifecycleMojo> mojos) {
53 this.mojos = mojos;
54 }
55
56 public void set(String goals) {
57 mojos = new ArrayList<>();
58
59 if (goals != null && !goals.isEmpty()) {
60 String[] mojoGoals = StringUtils.split(goals, ",");
61 mojos = Arrays.stream(mojoGoals).map(fromGoalIntoLifecycleMojo).collect(Collectors.toList());
62 }
63 }
64
65 private final Function<String, LifecycleMojo> fromGoalIntoLifecycleMojo = s -> {
66 LifecycleMojo lifecycleMojo = new LifecycleMojo();
67 lifecycleMojo.setGoal(s.trim());
68 return lifecycleMojo;
69 };
70
71 @Override
72 public String toString() {
73 return Optional.ofNullable(getMojos()).orElse(Collections.emptyList()).stream()
74 .map(LifecycleMojo::getGoal)
75 .collect(Collectors.joining(","));
76 }
77
78 @Deprecated
79 public static Map<String, String> toLegacyMap(Map<String, LifecyclePhase> lifecyclePhases) {
80 if (lifecyclePhases == null) {
81 return null;
82 }
83
84 if (lifecyclePhases.isEmpty()) {
85 return Collections.emptyMap();
86 }
87
88 Map<String, String> phases = new LinkedHashMap<>();
89 for (Map.Entry<String, LifecyclePhase> e : lifecyclePhases.entrySet()) {
90 phases.put(e.getKey(), e.getValue().toString());
91 }
92 return phases;
93 }
94 }