in src/main/java/org/apache/openejb/tools/release/cmd/UpdateJiras.java [66:160]
private static void updateJiraFixVersions(final String repo, final String start, final String end, final String tomeeVersion, final String openejbVersion) throws Exception {
final InputStream in = Exec.read("svn", "log", "--verbose", "--xml", "-r" + start + ":" + end, repo);
final String content = IO.slurp(in).toUpperCase();
System.out.println(content);
final Set<String> keys = new HashSet<String>(getJiraKeys(content));
for (final String key : keys) {
System.out.println(key);
}
final State state = new State();
final Version tomee = state.jira.getVersion("TOMEE", tomeeVersion);
final Version openejb = state.jira.getVersion("OPENEJB", openejbVersion);
jiras:
for (final String key : keys) {
if ("TOMEE-1".equals(key)) continue;
final Issue issue = state.jira.getIssue(key);
if (issue == null) continue;
final List<Version> fixVersions = issue.getFixVersions();
for (final Version fixVersion : fixVersions) {
if (fixVersion.getReleased()) continue jiras;
}
Version version = null;
if (issue.getKey().startsWith("TOMEE")) {
version = tomee;
}
if (issue.getKey().startsWith("OPENEJB")) {
version = openejb;
}
System.out.println("Updating " + key);
final Set<String> ids = new HashSet<String>();
for (final Version v : issue.getFixVersions()) {
if (v.getName().equals("1.6.0.beta1")) continue;
ids.add(v.getId() + "");
}
final int versions = ids.size();
ids.add(version.getId() + "");
if (versions != ids.size()) {
try {
System.out.printf("Adding version to %s\n", issue.getKey());
final Hashtable map = new Hashtable();
map.put("fixVersions", new Vector(ids));
call(state.jira, "updateIssue", issue.getKey(), map);
} catch (final Exception e) {
e.printStackTrace();
}
}
}
// Close those jiras with links to the commits
if (false) for (final IssueCommits ic : state.map.values()) {
final Issue issue = ic.getIssue();
final Version version;
if (issue.getKey().startsWith("TOMEE-")) {
version = state.jira.getVersion("TOMEE", tomeeVersion);
} else if (issue.getKey().startsWith("OPENEJB-")) {
version = state.jira.getVersion("OPENEJB", openejbVersion);
} else {
continue;
}
final Set<String> ids = new HashSet<String>();
for (final Version v : issue.getFixVersions()) {
ids.add(v.getId() + "");
}
final int versions = ids.size();
ids.add(version.getId() + "");
if (versions != ids.size()) {
try {
System.out.printf("Adding version to %s\n", issue.getKey());
final Hashtable map = new Hashtable();
map.put("fixVersions", new Vector(ids));
call(state.jira, "updateIssue", issue.getKey(), map);
} catch (final Exception e) {
e.printStackTrace();
}
}
}
}