Add change subject to the commit message ... of the snapshot manifest Change-Id: I112f14c87dd38217cc7d1eaa23d4877e7fcd675f
diff --git a/src/main/java/com/amd/gerrit/plugins/manifestsubscription/ManifestSubscription.java b/src/main/java/com/amd/gerrit/plugins/manifestsubscription/ManifestSubscription.java index 70873c4..b7bc738 100644 --- a/src/main/java/com/amd/gerrit/plugins/manifestsubscription/ManifestSubscription.java +++ b/src/main/java/com/amd/gerrit/plugins/manifestsubscription/ManifestSubscription.java
@@ -28,6 +28,8 @@ import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.revwalk.RevWalk; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -147,6 +149,24 @@ Manifest manifest = manifestStores.get(store, storeBranch); String manifestSrc = manifestSource.get(store, storeBranch); + StringBuilder extraCommitMsg = new StringBuilder(); + + try { + Project.NameKey p = new Project.NameKey(projectName); + Repository r = gitRepoManager.openRepository(p); + RevWalk walk = new RevWalk(r); + RevCommit c = walk.parseCommit( + ObjectId.fromString(event.getNewObjectId())); + + extraCommitMsg.append(event.getNewObjectId().substring(0,7)); + extraCommitMsg.append(" "); + extraCommitMsg.append(projectName); + extraCommitMsg.append(" "); + extraCommitMsg.append(c.getShortMessage()); + } catch (IOException e) { + e.printStackTrace(); + } + // these are project from the above manifest previously // cached in the lookup table for (com.amd.gerrit.plugins.manifestsubscription.manifest.Project @@ -156,7 +176,7 @@ try { updateManifest(store, STORE_BRANCH_PREFIX + storeBranch, - manifest, manifestSrc); + manifest, manifestSrc, extraCommitMsg.toString()); } catch (JAXBException | IOException e) { e.printStackTrace(); } @@ -426,6 +446,13 @@ private void updateManifest(String projectName, String refName, Manifest manifest, String manifestSrc) throws JAXBException, IOException { + updateManifest(projectName, refName, manifest, manifestSrc, ""); + } + + private void updateManifest(String projectName, String refName, + Manifest manifest, String manifestSrc, + String extraCommitMsg) + throws JAXBException, IOException { Project.NameKey p = new Project.NameKey(projectName); MetaDataUpdate update = metaDataUpdateFactory.create(p); VersionedManifests vManifests = new VersionedManifests(refName); @@ -443,6 +470,7 @@ entry.put("default.xml", manifest); vManifests.setManifests(entry); vManifests.setSrcManifestRepo(manifestSrc); + vManifests.setExtraCommitMsg(extraCommitMsg); vManifests.commit(update); } else { vManifests = new VersionedManifests("master");
diff --git a/src/main/java/com/amd/gerrit/plugins/manifestsubscription/VersionedManifests.java b/src/main/java/com/amd/gerrit/plugins/manifestsubscription/VersionedManifests.java index 99a255a..13ef9f7 100644 --- a/src/main/java/com/amd/gerrit/plugins/manifestsubscription/VersionedManifests.java +++ b/src/main/java/com/amd/gerrit/plugins/manifestsubscription/VersionedManifests.java
@@ -47,6 +47,15 @@ private Marshaller manifestMarshaller; private Map<String, Manifest> manifests; private String srcManifestRepo = ""; + private String extraCommitMsg = ""; + + public String getExtraCommitMsg() { + return extraCommitMsg; + } + + public void setExtraCommitMsg(String extraCommitMsg) { + this.extraCommitMsg = extraCommitMsg; + } public String getSrcManifestRepo() { return srcManifestRepo; @@ -141,6 +150,10 @@ commitMsg.append("Snapshot manifest from " + srcManifestRepo + " updated\n\n"); + if (extraCommitMsg != null && extraCommitMsg.length() > 0) { + commitMsg.append(extraCommitMsg); + } + String path; Manifest manifest; for (Map.Entry<String, Manifest> entry : manifests.entrySet()) {