diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2010-05-28 15:06:29 -0700 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2010-05-28 15:09:29 -0700 |
commit | 1489bd157c33b72927985402ed40afd799f569da (patch) | |
tree | 01bafe4714e6580a602c5a48733d75aaf1f72706 | |
parent | 92e739413d8814918d9bb037da2b457554c86f9c (diff) | |
download | jgit-1489bd157c33b72927985402ed40afd799f569da.tar.gz jgit-1489bd157c33b72927985402ed40afd799f569da.zip |
eclipse-iplog: Use contribution rather than bug element
Wayne changed the schema to no longer be dependent upon the Bugzilla
notion of a contribution, but instead be more generic and better
support systems like Gerrit Code Review. Update our output to
use the <contribution> element and include a link to the change
in Gerrit.
Change-Id: Ibc8a436918bd8e7597dc17743824201a74bce09b
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
4 files changed, 23 insertions, 40 deletions
diff --git a/.eclipse_iplog b/.eclipse_iplog index f3771c157f..dc701694e4 100644 --- a/.eclipse_iplog +++ b/.eclipse_iplog @@ -4,6 +4,9 @@ skipCommit = 1a6964c8274c50f0253db75f010d78ef0e739343 +[review] + url = http://egit.eclipse.org/r/r/ + [CQ "3454"] description = args4j Version: 2.0.12 license = BSD License diff --git a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java index 8ddb6bdd1e..28df8b7f53 100644 --- a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java +++ b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java @@ -58,7 +58,6 @@ import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; @@ -88,7 +87,6 @@ import org.eclipse.jgit.lib.ObjectLoader; import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.WindowCursor; -import org.eclipse.jgit.revwalk.FooterKey; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevTree; import org.eclipse.jgit.revwalk.RevWalk; @@ -111,8 +109,6 @@ public class IpLogGenerator { private static final String INDENT = "{http://xml.apache.org/xslt}indent-amount"; - private static final FooterKey BUG = new FooterKey("Bug"); - /** Projects indexed by their ID string, e.g. {@code technology.jgit}. */ private final Map<String, Project> projects = new TreeMap<String, Project>(); @@ -137,6 +133,9 @@ public class IpLogGenerator { /** The meta file we loaded to bootstrap our definitions. */ private IpLogMeta meta; + /** URL to obtain review information about a specific contribution. */ + private String reviewUrl; + private String characterEncoding = "UTF-8"; private Repository db; @@ -230,6 +229,7 @@ public class IpLogGenerator { consumedProjects.put(p.getName(), p); } cqs.addAll(meta.getCQs()); + reviewUrl = meta.getReviewUrl(); } private void loadCommitters(Repository repo) throws IOException { @@ -358,20 +358,6 @@ public class IpLogGenerator { String subj = commit.getShortMessage(); SingleContribution item = new SingleContribution(id, when, subj); - List<String> bugs = commit.getFooterLines(BUG); - if (1 == bugs.size()) { - item.setBugID(bugs.get(0)); - - } else if (2 <= bugs.size()) { - StringBuilder tmp = new StringBuilder(); - for (String bug : bugs) { - if (tmp.length() > 0) - tmp.append(","); - tmp.append(bug); - } - item.setBugID(tmp.toString()); - } - if (2 <= cnt) { item.setSize("(merge)"); contributor.add(item); @@ -594,20 +580,15 @@ public class IpLogGenerator { } private Element createContribution(SingleContribution s) { - Element r = createElement("bug"); + Element r = createElement("contribution"); required(r, "id", s.getID()); - optional(r, "bug-id", s.getBugID()); + required(r, "description", s.getSummary()); required(r, "size", s.getSize()); - required(r, "type", "A"); // assume attachment type - required(r, "created", format(s.getCreated())); - required(r, "summary", s.getSummary()); + if (reviewUrl != null) + optional(r, "url", reviewUrl + s.getID()); return r; } - private String format(Date created) { - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(created); - } - private Element createElement(String name) { return doc.createElementNS(IPLOG_NS, IPLOG_PFX + name); } diff --git a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java index 16a1593523..89695bdb8d 100644 --- a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java +++ b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java @@ -75,6 +75,10 @@ public class IpLogMeta { private static final String S_CONSUMES = "consumes"; + private static final String S_REVIEW = "review"; + + private static final String K_URL = "url"; + private static final String K_NAME = "name"; private static final String K_VERSION = "version"; @@ -97,6 +101,8 @@ public class IpLogMeta { private Set<CQ> cqs = new HashSet<CQ>(); + private String reviewUrl; + List<Project> getProjects() { return projects; } @@ -109,6 +115,10 @@ public class IpLogMeta { return cqs; } + String getReviewUrl() { + return reviewUrl; + } + void loadFrom(Config cfg) { projects.clear(); consumedProjects.clear(); @@ -126,6 +136,8 @@ public class IpLogMeta { cq.setComments(cfg.getString(S_CQ, id, K_COMMENTS)); cqs.add(cq); } + + reviewUrl = cfg.getString(S_REVIEW, null, K_URL); } private List<Project> parseProjects(final Config cfg, diff --git a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java index 2cd5562a10..96f3defa1b 100644 --- a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java +++ b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java @@ -61,8 +61,6 @@ class SingleContribution { private Date created; - private String bugId; - private String size; /** @@ -91,17 +89,6 @@ class SingleContribution { return summary; } - /** @return Bugzilla bug id */ - String getBugID() { - return bugId; - } - - void setBugID(String id) { - if (id.startsWith("https://bugs.eclipse.org/")) - id = id.substring("https://bugs.eclipse.org/".length()); - bugId = id; - } - String getSize() { return size; } |