Maven Release Plugin
  1. Maven Release Plugin
  2. MRELEASE-196

Release plugin needs a way to return the SCM urls to previously defined version after release (based on properties)

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: scm
    • Labels:
      None
    • Environment:
      Any pom where SCM information is based on properties

      Description

      My SCM urls are based on a well-defined pattern utilizing 1 or 2 properties and the artifactId
      When the release plugin runs, it overrides these properties with the expanded SCM information, as expected.

      However, when releasing a parent pom, this isn't an optimal situation. (My) parent poms need to be released by altering the property sets, not changing the SCM urls.

      For example,

      	<scm>
      		<connection>scm:svn:${sird.scm.url.ro}</connection>
      		<developerConnection>scm:svn:${sird.scm.url.dev}</developerConnection>
      		<url>${sird.scm.url.view}</url>
      	</scm>
      

      is based on

      		<!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
      		<sird.scm.url.dev>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.dev>
      		<!-- This is the readonly url for this project, made from the scm host, the namespace, and the artifact id -->
      		<sird.scm.url.ro>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.ro>
      		<!-- This is the view (eg fisheye) url for this project, made from the scm host, the namespace, and the artifact id -->
      		<sird.scm.url.view>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.view>
      

      What I'd like is to be able to change the sird.scm.url.dev (for instance) to some OTHER value, such as substituting a different url like

      		<!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
      		<sird.scm.url.dev>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.dev>
      		<!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
      		<sird.scm.url.released>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/tags/${releaseTag}</sird.scm.url.dev>
                     <releaseTag>blah</releaseTag>
      

      with some property called releaseTag set by the release plugin into my property sets
      and then having the release plugin just change the scm url to

      	<scm>
                 ...
      		<developerConnection>scm:svn:${sird.scm.url.released}</developerConnection>
                ...
      	</scm>
      

      I know at least a couple of other places that manage a large number of artifacts like to do things like this.

        Activity

        Mykel Alvis created issue -
        Arnaud HERITIER made changes -
        Field Original Value New Value
        Component/s scm [ 12698 ]
        Robert Scholte made changes -
        Description My SCM urls are based on a well-defined pattern utilizing 1 or 2 properties and the artifactId
        When the release plugin runs, it overrides these properties with the expanded SCM information, as expected.

        However, when releasing a parent pom, this isn't an optimal situation. (My) parent poms need to be released by altering the property sets, not changing the SCM urls.

        For example,
        <scm>
        <connection>scm:svn:${sird.scm.url.ro}</connection>
        <developerConnection>scm:svn:${sird.scm.url.dev}</developerConnection>
        <url>${sird.scm.url.view}</url>
        </scm>

        is based on
        <!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.dev>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.dev>
        <!-- This is the readonly url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.ro>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.ro>
        <!-- This is the view (eg fisheye) url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.view>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.view>

        What I'd like is to be able to change the sird.scm.url.dev (for instance) to some OTHER value, such as substituting a different url like
        <!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.dev>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.dev>
        <!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.released>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/tags/${releaseTag}</sird.scm.url.dev>
                       <releaseTag>blah</releaseTag>

         with some property called releaseTag set by the release plugin into my property sets
        and then having the release plugin just change the scm url to

        <scm>
                   ...
        <developerConnection>scm:svn:${sird.scm.url.released}</developerConnection>
                  ...
        </scm>

        I know at least a couple of other places that manage a large number of artifacts like to do things like this.


        My SCM urls are based on a well-defined pattern utilizing 1 or 2 properties and the artifactId
        When the release plugin runs, it overrides these properties with the expanded SCM information, as expected.

        However, when releasing a parent pom, this isn't an optimal situation. (My) parent poms need to be released by altering the property sets, not changing the SCM urls.

        For example,
        {code:xml}
        <scm>
        <connection>scm:svn:${sird.scm.url.ro}</connection>
        <developerConnection>scm:svn:${sird.scm.url.dev}</developerConnection>
        <url>${sird.scm.url.view}</url>
        </scm>
        {code}
        is based on
        {code:xml}
        <!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.dev>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.dev>
        <!-- This is the readonly url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.ro>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.ro>
        <!-- This is the view (eg fisheye) url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.view>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.view>
        {code}
        What I'd like is to be able to change the sird.scm.url.dev (for instance) to some OTHER value, such as substituting a different url like
        {code:xml}
        <!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.dev>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/trunk</sird.scm.url.dev>
        <!-- This is the developer url for this project, made from the scm host, the namespace, and the artifact id -->
        <sird.scm.url.released>http://${sird.scm.host}/svnrepos/${sird.object.namespace}/${artifactId}/tags/${releaseTag}</sird.scm.url.dev>
                       <releaseTag>blah</releaseTag>
        {code}
         with some property called releaseTag set by the release plugin into my property sets
        and then having the release plugin just change the scm url to

        {code:xml}
        <scm>
                   ...
        <developerConnection>scm:svn:${sird.scm.url.released}</developerConnection>
                  ...
        </scm>
        {code}

        I know at least a couple of other places that manage a large number of artifacts like to do things like this.


        Robert Scholte made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Assignee Robert Scholte [ rfscholte ]
        Resolution Won't Fix [ 2 ]
        Robert Scholte made changes -
        Status Closed [ 6 ] Reopened [ 4 ]
        Resolution Won't Fix [ 2 ]
        Mykel Alvis made changes -
        Resolution Won't Fix [ 2 ]
        Status Reopened [ 4 ] Closed [ 6 ]
        Mark Thomas made changes -
        Project Import Sun Apr 05 12:15:05 UTC 2015 [ 1428236105845 ]
        Mark Thomas made changes -
        Workflow jira [ 12724019 ] Default workflow, editable Closed status [ 12763261 ]
        Mark Thomas made changes -
        Project Import Mon Apr 06 00:52:26 UTC 2015 [ 1428281546237 ]
        Mark Thomas made changes -
        Workflow jira [ 12961542 ] Default workflow, editable Closed status [ 12998394 ]

          People

          • Assignee:
            Robert Scholte
            Reporter:
            Mykel Alvis
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development