Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
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
-
Number of attachments :
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
| Field | Original Value | New Value |
|---|---|---|
| Component/s | scm [ 12698 ] |
| 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. |
| Status | Open [ 1 ] | Closed [ 6 ] |
| Assignee | Robert Scholte [ rfscholte ] | |
| Resolution | Won't Fix [ 2 ] |
| Resolution | Won't Fix [ 2 ] | |
| Status | Closed [ 6 ] | Reopened [ 4 ] |
| Status | Reopened [ 4 ] | Closed [ 6 ] |
| Resolution | Won't Fix [ 2 ] |
The release:prepare generates a file called release.properties, which contains this kind of information.