in src/main/java/org/apache/maven/plugins/changes/ReleaseUtils.java [118:152]
public static List<Release> mergeReleases(final List<Release> firstReleases, final List<Release> secondReleases) {
if (firstReleases == null && secondReleases == null) {
return Collections.emptyList();
}
if (firstReleases == null) {
return secondReleases;
}
if (secondReleases == null) {
return firstReleases;
}
List<Release> mergedReleases = new ArrayList<>();
// Loop through the releases from the first issue tracker, merging in
// actions from releases with the same version from the second issue
// tracker
for (Release firstRelease : firstReleases) {
Release secondRelease = getRelease(secondReleases, firstRelease.getVersion());
if (secondRelease != null) {
if (secondRelease.getActions() != null) {
firstRelease.getActions().addAll(secondRelease.getActions());
}
}
mergedReleases.add(firstRelease);
}
// Handle releases that are only in the second issue tracker
for (Release secondRelease : secondReleases) {
Release mergedRelease = getRelease(mergedReleases, secondRelease.getVersion());
if (mergedRelease == null) {
mergedReleases.add(secondRelease);
}
}
return mergedReleases;
}