Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-3429

Add support for setting release and development versions for the whole project

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • m2release-plugin
    • None
    • Platform: All, OS: All

      maven-release-plugin can use release version and next development version from
      properties releaseVersion and developmentVersion

      This way is much more convenient than setting versions for all modules

          [JENKINS-3429] Add support for setting release and development versions for the whole project

          miptalan added a comment -

          I've added this support in my local Hudson, but only for releaseVersion

          Here is diffs

          Index:
          hudson/plugins/m2release/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java
          ===================================================================

          hudson/plugins/m2release/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java
          (revision 16501)
          +++
          hudson/plugins/m2release/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java
          (working copy)
          @@ -111,10 +111,12 @@
          // good old http...
          Map<?,?> httpParams = req.getParameterMap();

          • Map<String,String> versions = null;
            + Map<String,String> versions = new HashMap<String,String>();
            + String versionKey = "-DreleaseVersion";
            + versions.put(versionKey,
            (String)(((Object[])httpParams.get(versionKey))[0]));
            +
            final boolean appendHudsonBuildNumber =
            httpParams.containsKey("appendHudsonBuildNumber");
            if (httpParams.containsKey("specifyVersions")) {
          • versions = new HashMap<String,String>();
            for (Object key : httpParams.keySet()) {
            String keyStr = (String)key;
            if (keyStr.startsWith("-Dproject.")) {

          Index:
          hudson/plugins/m2release/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly
          ===================================================================

          hudson/plugins/m2release/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly
          (revision 16501)
          +++
          hudson/plugins/m2release/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly
          (working copy)
          @@ -7,8 +7,15 @@
          <l:layout>
          <l:main-panel>
          <f:form method="get" action="submit">

          • <f:section title="Perform Maven Release">
          • <f:optionalBlock name="specifyVersions" title="Specify release version(s)"
            checked="false">
            + <f:section title="Perform Maven Release">
            + <f:entry title="Release version for the whole project">
            +
            + </f:entry>
            + <f:entry title="Version number">
            + <f:textbox name="-DreleaseVersion"
            value="${it.computeReleaseVersion(it.modules.iterator().next().version)}" />
            + </f:entry>
            +
            + <f:optionalBlock name="specifyVersions" title="Specify release version(s)
            for each module" checked="false">
            <j:forEach var="m" items="${it.modules}">
            <f:section title="${m.moduleName}">
            <f:entry title="Release Version">

          miptalan added a comment - I've added this support in my local Hudson, but only for releaseVersion Here is diffs Index: hudson/plugins/m2release/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java =================================================================== — hudson/plugins/m2release/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java (revision 16501) +++ hudson/plugins/m2release/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java (working copy) @@ -111,10 +111,12 @@ // good old http... Map<?,?> httpParams = req.getParameterMap(); Map<String,String> versions = null; + Map<String,String> versions = new HashMap<String,String>(); + String versionKey = "-DreleaseVersion"; + versions.put(versionKey, (String)(((Object[])httpParams.get(versionKey)) [0] )); + final boolean appendHudsonBuildNumber = httpParams.containsKey("appendHudsonBuildNumber"); if (httpParams.containsKey("specifyVersions")) { versions = new HashMap<String,String>(); for (Object key : httpParams.keySet()) { String keyStr = (String)key; if (keyStr.startsWith("-Dproject.")) { Index: hudson/plugins/m2release/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly =================================================================== — hudson/plugins/m2release/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly (revision 16501) +++ hudson/plugins/m2release/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly (working copy) @@ -7,8 +7,15 @@ <l:layout> <l:main-panel> <f:form method="get" action="submit"> <f:section title="Perform Maven Release"> <f:optionalBlock name="specifyVersions" title="Specify release version(s)" checked="false"> + <f:section title="Perform Maven Release"> + <f:entry title="Release version for the whole project"> + + </f:entry> + <f:entry title="Version number"> + <f:textbox name="-DreleaseVersion" value="${it.computeReleaseVersion(it.modules.iterator().next().version)}" /> + </f:entry> + + <f:optionalBlock name="specifyVersions" title="Specify release version(s) for each module" checked="false"> <j:forEach var="m" items="${it.modules}"> <f:section title="${m.moduleName}"> <f:entry title="Release Version">

          lptr added a comment -

          Can this be fixed sometime? With a project having 30+ modules setting them one by one is just not feasible. Thanks.

          lptr added a comment - Can this be fixed sometime? With a project having 30+ modules setting them one by one is just not feasible. Thanks.

          Code changed in hudson
          User: : m68k
          Path:
          trunk/hudson/plugins/m2release/plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java
          trunk/hudson/plugins/m2release/plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseBuildWrapper.java
          trunk/hudson/plugins/m2release/plugin/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly
          trunk/hudson/plugins/m2release/plugin/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseBuildWrapper/config.jelly
          trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-actionRelease-appendHudsonUsername.html
          trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-actionRelease-specifyCustomScmCommentPrefix.html
          trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-actionRelease-versioningMode.html
          trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-projectConfig-selectAppendHudsonUsername.html
          trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-projectConfig-selectCustomScmCommentPrefix.html
          trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-projectConfig-versioningMode.html
          http://jenkins-ci.org/commit/30891
          Log:
          fixed JENKINS-4127, JENKINS-3429.
          added feature to (optionally) append the Hudson username to the scmCommentPrefix.
          added per-project settings which allow preselecting options for the M2ReleaseAction.
          added more help entries (renamed existing help-projectConfig.html into help-projectConfig-releaseGoals.html).
          minor code code cleanup (added getString() method in M2ReleaseAction).

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : m68k Path: trunk/hudson/plugins/m2release/plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseAction.java trunk/hudson/plugins/m2release/plugin/src/main/java/org/jvnet/hudson/plugins/m2release/M2ReleaseBuildWrapper.java trunk/hudson/plugins/m2release/plugin/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseAction/index.jelly trunk/hudson/plugins/m2release/plugin/src/main/resources/org/jvnet/hudson/plugins/m2release/M2ReleaseBuildWrapper/config.jelly trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-actionRelease-appendHudsonUsername.html trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-actionRelease-specifyCustomScmCommentPrefix.html trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-actionRelease-versioningMode.html trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-projectConfig-selectAppendHudsonUsername.html trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-projectConfig-selectCustomScmCommentPrefix.html trunk/hudson/plugins/m2release/plugin/src/main/webapp/help-projectConfig-versioningMode.html http://jenkins-ci.org/commit/30891 Log: fixed JENKINS-4127 , JENKINS-3429 . added feature to (optionally) append the Hudson username to the scmCommentPrefix. added per-project settings which allow preselecting options for the M2ReleaseAction. added more help entries (renamed existing help-projectConfig.html into help-projectConfig-releaseGoals.html). minor code code cleanup (added getString() method in M2ReleaseAction).

            Unassigned Unassigned
            miptalan miptalan
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: