public Release withReport(String reportName) { return new Release(releaseTag, children, parents, reportName); } public String getName() {
private boolean containsReleaseWithName(List<Release> releases, String name) { for(Release release : releases) { if (release.getName().equalsIgnoreCase(name)) { return true; } } return false; }
private List<Release> ancestorsFor(Release release) { List<Release> ancestors = new ArrayList<Release>(release.getParents()); ancestors.add(release); return ancestors; }
private Release lightweightReleaseNamed(String release) { return Release.ofVersion(release).withReport(reportNameProvider.forRelease(release)); }
private Release extractReleaseFor(TestTag releaseTag, TestOutcomes testOutcomes, int level, List<Release> parents) { Release release = new Release(releaseTag); String reportName = reportNameProvider.forRelease(release); release = release.withReport(reportName).withParents(parents); List<Release> ancestors = ancestorsFor(release); if (level < releaseTypes.size()) { String childReleaseType = releaseTypes.get(level); List<TestTag> childReleaseTags = testOutcomes.findMatchingTags() .withType("version") .withNameIn(matchingNames(childReleaseType)) .list(); List<Release> children = Lists.newArrayList(); for (TestTag tag : childReleaseTags) { children.add(extractReleaseFor(tag, testOutcomes.withTag(tag), level + 1, ancestors)); } release = release.withChildren(children); } return release; }
private List<Release> extractSubReleasesOfLevel(List<List<String>> releaseVersions, String release, int level, List<Release> parents) { List<Release> subReleases = Lists.newArrayList(); if (level < releaseTypes.size()) { for (List<String> releaseVersionSet : releaseVersions) { if (releaseVersionSet.contains(release)) { for (String subRelease : releasesOfType(releaseTypes.get(level), releaseVersionSet)) { List<Release> ancestors = Lists.newArrayList(); ancestors.add(lightweightReleaseNamed(release)); List<Release> subSubReleases = extractSubReleasesOfLevel(releaseVersions, subRelease, level + 1, ancestors); String reportName = getReportNameProvider().forRelease(subRelease); addUniqueRelease(subReleases, Release.ofVersion(subRelease).withChildren(subSubReleases) .withReport(reportName) .withParents(ancestors)); } } } } Collections.sort(subReleases); return subReleases; }
private List<Release> extractReleasesOfTypeLevel(List<List<String>> releaseVersions) { List<Release> releases = Lists.newArrayList(); Set<String> distinctReleases = getDistinct(releaseVersions); for (String release : distinctReleases) { if (releaseIsOfType(release, releaseTypes.get(0))) { List<Release> subReleases = extractSubReleasesOfLevel(releaseVersions, release, 1, Collections.EMPTY_LIST); String reportName = getReportNameProvider().forRelease(release); addUniqueRelease(releases, Release.ofVersion(release) .withChildren(subReleases) .withReport(reportName)); } } Collections.sort(releases); return releases; }
private List<Release> flattened(List<Release> releases) { List<Release> flattenedReleases = Lists.newArrayList(); for (Release release : releases) { flattenedReleases.add(release); flattenedReleases.addAll(flattened(release.getChildren())); } return ImmutableList.copyOf(flattenedReleases); }
context.put("releaseTestOutcomes", testOutcomes.withTag(release.getReleaseTag()));
private Release extractReleaseFor(TestTag releaseTag, TestOutcomes testOutcomes, int level, List<Release> parents) { Release release = new Release(releaseTag); String reportName = reportNameProvider.forRelease(release); release = release.withReport(reportName).withParents(parents); List<Release> ancestors = ancestorsFor(release); if (level < releaseTypes.size()) { String childReleaseType = releaseTypes.get(level); List<TestTag> childReleaseTags = testOutcomes.findMatchingTags() .withType("version") .withNameIn(matchingNames(childReleaseType)) .list(); List<Release> children = new ArrayList<>(); for (TestTag tag : childReleaseTags) { children.add(extractReleaseFor(tag, testOutcomes.withTag(tag), level + 1, ancestors)); } release = release.withChildren(children); } return release; }
private List<Release> extractSubReleasesOfLevel(List<List<String>> releaseVersions, String release, int level, List<Release> parents) { List<Release> subReleases = Lists.newArrayList(); if (level < releaseTypes.size()) { for (List<String> releaseVersionSet : releaseVersions) { if (releaseVersionSet.contains(release)) { for (String subRelease : releasesOfType(releaseTypes.get(level), releaseVersionSet)) { List<Release> ancestors = Lists.newArrayList(); ancestors.add(lightweightReleaseNamed(release)); List<Release> subSubReleases = extractSubReleasesOfLevel(releaseVersions, subRelease, level + 1, ancestors); String reportName = getReportNameProvider().forRelease(subRelease); addUniqueRelease(subReleases, Release.ofVersion(subRelease).withChildren(subSubReleases) .withReport(reportName) .withParents(ancestors)); } } } } Collections.sort(subReleases); return subReleases; }
private List<Release> extractReleasesOfTypeLevel(List<List<String>> releaseVersions) { List<Release> releases = new ArrayList<>(); Set<String> distinctReleases = getDistinct(releaseVersions); for (String release : distinctReleases) { if (releaseIsOfType(release, releaseTypes.get(0))) { List<Release> subReleases = extractSubReleasesOfLevel(releaseVersions, release, 1, Collections.EMPTY_LIST); String reportName = getReportNameProvider().forRelease(release); addUniqueRelease(releases, Release.ofVersion(release) .withChildren(subReleases) .withReport(reportName)); } } Collections.sort(releases); return releases; }
private Release lightweightReleaseNamed(String release) { return Release.ofVersion(release).withReport(reportNameProvider.forRelease(release)); }
private List<Release> flattened(List<Release> releases) { List<Release> flattenedReleases = Lists.newArrayList(); for (Release release : releases) { flattenedReleases.add(release); flattenedReleases.addAll(flattened(release.getChildren())); } return ImmutableList.copyOf(flattenedReleases); }
context.put("releaseTestOutcomes", testOutcomes.withTag(release.getReleaseTag()));
private Release extractReleaseFor(TestTag releaseTag, TestOutcomes testOutcomes, int level, List<Release> parents) { Release release = new Release(releaseTag); String reportName = reportNameProvider.forRelease(release); release = release.withReport(reportName).withParents(parents); List<Release> ancestors = ancestorsFor(release); if (level < releaseTypes.size()) { String childReleaseType = releaseTypes.get(level); List<TestTag> childReleaseTags = testOutcomes.findMatchingTags() .withType("version") .withNameIn(matchingNames(childReleaseType)) .list(); List<Release> children = Lists.newArrayList(); for (TestTag tag : childReleaseTags) { children.add(extractReleaseFor(tag, testOutcomes.withTag(tag), level + 1, ancestors)); } release = release.withChildren(children); } return release; }
private List<Release> extractSubReleasesOfLevel(List<List<String>> releaseVersions, String release, int level, List<Release> parents) { List<Release> subReleases = new ArrayList<>(); if (level < releaseTypes.size()) { for (List<String> releaseVersionSet : releaseVersions) { if (releaseVersionSet.contains(release)) { for (String subRelease : releasesOfType(releaseTypes.get(level), releaseVersionSet)) { List<Release> ancestors = new ArrayList<>(); ancestors.add(lightweightReleaseNamed(release)); List<Release> subSubReleases = extractSubReleasesOfLevel(releaseVersions, subRelease, level + 1, ancestors); String reportName = getReportNameProvider().forRelease(subRelease); addUniqueRelease(subReleases, Release.ofVersion(subRelease).withChildren(subSubReleases) .withReport(reportName) .withParents(ancestors)); } } } } Collections.sort(subReleases); return subReleases; }
private List<Release> extractReleasesOfTypeLevel(List<List<String>> releaseVersions) { List<Release> releases = Lists.newArrayList(); Set<String> distinctReleases = getDistinct(releaseVersions); for (String release : distinctReleases) { if (releaseIsOfType(release, releaseTypes.get(0))) { List<Release> subReleases = extractSubReleasesOfLevel(releaseVersions, release, 1, Collections.EMPTY_LIST); String reportName = getReportNameProvider().forRelease(release); addUniqueRelease(releases, Release.ofVersion(release) .withChildren(subReleases) .withReport(reportName)); } } Collections.sort(releases); return releases; }
public Release withReport(String reportName) { return new Release(releaseTag, children, parents, reportName); } public String getName() {