public static List mergeReleases()

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;
    }