Index: plugin/pom.xml
===================================================================
--- plugin/pom.xml (revision 31948)
+++ plugin/pom.xml (working copy)
@@ -29,7 +29,7 @@
org.jvnet.hudson.plugins
plugin
- 1.356
+ 1.362
Index: plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java
===================================================================
--- plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java (revision 31798)
+++ plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java (working copy)
@@ -203,7 +203,7 @@
// schedule release build
synchronized (project) {
- if (project.scheduleBuild(0, new ReleaseCause())) {
+ if (project.scheduleBuild(0, new ReleaseCause(), new ReleaseBadgeAction())) {
m2Wrapper.enableRelease();
m2Wrapper.setVersions(versions);
m2Wrapper.setAppendHudsonBuildNumber(appendHudsonBuildNumber);
Index: plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseBuildWrapper.java
===================================================================
--- plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseBuildWrapper.java (revision 31798)
+++ plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseBuildWrapper.java (working copy)
@@ -157,6 +157,8 @@
}
mavenOpts = mmSet.getMavenOpts();
+ ReleaseBadgeAction releaseBuildIcon = build.getAction(ReleaseBadgeAction.class);
+ releaseBuildIcon.setTooltip(getIconTooltip(mmSet));
}
return new Environment() {
@@ -280,6 +282,27 @@
public void setHudsonUserName(String hudsonUserName) {
this.hudsonUserName = hudsonUserName;
}
+
+ /**
+ * Prepares the tooltip for the icon in the UI.
+ *
+ * @param mmSet the modules to compute the string from
+ * @return the formated tooltip
+ */
+ private String getIconTooltip(MavenModuleSet mmSet) {
+ StringBuilder sb = new StringBuilder("ReleaseBuild - ");
+ for (MavenModule module : mmSet.getModules()) {
+ sb.append(module.getModuleName());
+// TODO get the correct release version for each module, the modules contain the last known build version only!
+// String moduleVersion = module.getVersion();
+// if (!StringUtils.isEmpty(moduleVersion)) {
+// sb.append(": ");
+// sb.append(moduleVersion);
+// }
+ sb.append(" | ");
+ }
+ return sb.toString();
+ }
private String generateVersionString(int buildNumber) {
// -Dproject.rel.org.mycompany.group.project=version ....
Index: plugin/src/main/java/org/jvnet/hudson/plugins/m2release/ReleaseBadgeAction.java
===================================================================
--- plugin/src/main/java/org/jvnet/hudson/plugins/m2release/ReleaseBadgeAction.java (revision 0)
+++ plugin/src/main/java/org/jvnet/hudson/plugins/m2release/ReleaseBadgeAction.java (revision 0)
@@ -0,0 +1,37 @@
+package org.jvnet.hudson.plugins.m2release;
+
+import hudson.model.BuildBadgeAction;
+
+/**
+ * Used to mark a release build with an icon.
+ *
+ * @author domi
+ */
+public class ReleaseBadgeAction implements BuildBadgeAction {
+
+ private String tooltip = "N/A";
+
+ public ReleaseBadgeAction() {
+ }
+
+ public String getIconFileName() {
+ return null;
+ }
+
+ public String getDisplayName() {
+ return null;
+ }
+
+ public String getUrlName() {
+ return null;
+ }
+
+ public String getTooltip() {
+ return tooltip;
+ }
+
+ public void setTooltip(String tooltip) {
+ this.tooltip = tooltip;
+ }
+
+}
Index: plugin/src/main/resources/org/jvnet/hudson/plugins/m2release/ReleaseBadgeAction/badge.jelly
===================================================================
--- plugin/src/main/resources/org/jvnet/hudson/plugins/m2release/ReleaseBadgeAction/badge.jelly (revision 0)
+++ plugin/src/main/resources/org/jvnet/hudson/plugins/m2release/ReleaseBadgeAction/badge.jelly (revision 0)
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file