public List getReleases()

in src/main/java/org/apache/maven/plugins/changes/IssueAdapter.java [64:98]


    public List<Release> getReleases(List<Issue> issues) {
        // A Map of releases keyed by fixVersion
        Map<String, Release> releasesMap = new HashMap<>();

        // Loop through all issues looking for fixVersions
        for (Issue issue : issues) {
            // Do NOT create a release for issues that lack a fixVersion
            if (issue.getFixVersions() != null) {
                for (String fixVersion : issue.getFixVersions()) {
                    // Try to get a matching Release from the map
                    Release release = releasesMap.get(fixVersion);
                    if (release == null) {
                        // Add a new Release to the Map if it wasn't there
                        release = new Release();
                        release.setVersion(fixVersion);
                        releasesMap.put(fixVersion, release);
                    }

                    // Add this issue as an Action to this release
                    Action action = createAction(issue);
                    release.addAction(action);
                }
            }
        }

        // Extract the releases from the Map to a sorted List. Releases are sorted by descending order of version.
        List<Release> allReleases = new ArrayList<>(releasesMap.values());
        allReleases.sort((release1, release2) -> {
            ComparableVersion version1 = new ComparableVersion(release1.getVersion());
            ComparableVersion version2 = new ComparableVersion(release2.getVersion());
            return version2.compareTo(version1);
        });

        return allReleases;
    }