in maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java [565:598]
private List<String> getGoalPhases(Strategy strategy, String goal) {
List<String> phases;
if ("prepare".equals(goal)) {
phases = strategy.getPreparePhases();
if (phases == null) {
phases = strategies.get("default").getPreparePhases();
}
} else if ("perform".equals(goal)) {
phases = strategy.getPerformPhases();
if (phases == null) {
phases = strategies.get("default").getPerformPhases();
}
} else if ("rollback".equals(goal)) {
phases = strategy.getRollbackPhases();
if (phases == null) {
phases = strategies.get("default").getRollbackPhases();
}
} else if ("branch".equals(goal)) {
phases = strategy.getBranchPhases();
if (phases == null) {
phases = strategies.get("default").getBranchPhases();
}
} else if ("updateVersions".equals(goal)) {
phases = strategy.getUpdateVersionsPhases();
if (phases == null) {
phases = strategies.get("default").getUpdateVersionsPhases();
}
} else {
phases = null;
}
return Collections.unmodifiableList(phases); // TODO: NPE here in phases=null above!
}