uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marshall Schor <...@schor.com>
Subject Re: Problem with property substitution into finalName
Date Fri, 08 Feb 2013 19:04:25 GMT
Thanks Stephen,

I'm trying to figure out why I'm not seeing this in the actual staged artifacts,
or in previous releases.

Here's what I've concluded:

The maven-gpg-plugin has a bug - it copies the pom.xml to the finalname.pom, in
target, and then signs that, without substituting into the property variable in
the finalname.  So, if you look into /target, it's got the wrong name.

But, when the install plugin installs, it

  (a) ignores the incorrectly named ...pom in the /target, and instead, copies
the original pom to the install spot.  You can see that in the run output for
the install step:

  [INFO] Installing
C:\au\t\tm-rc4\src-to-build\textmarker-2.0.0\textmarker-ep-engine\pom.xml to

  (b) it does copy the incorrectly named .asc file to the repository, but
(SURPRISE !) it fixes up the name in the target :-) :

  [INFO] Installing
.osgiVersion}.pom.asc to

So, we're only seeing this issue due to the fact that we happened to look into
the /target directory.


On 2/8/2013 12:33 PM, Stephen Connolly wrote:
> Please read this:
> http://stackoverflow.com/questions/14725197/reading-properties-file-from-pom-file-in-maven/14727072#14727072
> You will conclude that the only solution is to make the finalName a
> configuration parameter of the mojo so that the recursive property
> evaluation code can compute the effective final value on injection of the
> final configuration before invoking the mojo.
> An alternative solution would be to make the mojo pass the
> project.getBuild.getFinalName() through the property interpolator before
> use.
> Sounds like a bug. A patch with tests would be good. Ping me if you write
> one and I'll apply the patch (if it looks good) and run a release.
> Alternatively, you could ask any of the people in the Committer School (
> http://javaadventure.blogspot.ie/2012/07/do-you-want-to-become-maven-committer.html)
> if they would like to take this as a task (ok we only have one person in
> the committer school: Chris Graham, but don't let that stop you, we've had
> a 50% graduation rate so far)
> -Stephen
> On 8 February 2013 17:02, Marshall Schor <msa@schor.com> wrote:
>> We have a POM, where the <build> specifies a final name like this:
>> <finalName>org.apache.uima.textmarker.engine_${parsedVersion.osgiVersion}</finalName>
>> We use the maven-build-helper plugin to set the variable to be the same as
>> the
>> version, except with a period before the SNAPSHOT qualifier, for example.
>> This works fine for plugins like the maven-jar-plugin - it nicely creates
>> jars
>> using the substituted value, e.g.
>>  org.apache.uima.textmarker.engine_2.0.0.jar
>> However, the maven-gpg-plugin, when copying the project's "pom.xml" file
>> to the
>> target/ to sign it, copies it to a file named like this:
>>     File pomToSign = new File( project.getBuild().getDirectory(),
>> project.getBuild().getFinalName() + ".pom" );
>>     FileUtils.copyFile( project.getFile(), pomToSign )
>> The code fragment: project.getBuild().getFinalName() must be getting the
>> un-substituted/original version of the the finalName property, because we
>> see
>> the pom is copied into the target/ as
>>     org.apache.uima.textmarker.engine_${parsedVersion.osgiVersion}.pom
>> We know the property is being properly defined, etc., because earlier steps
>> (like the maven-jar-plugin) use this and have the correct string (with the
>> substituted value).
>> How can we fix this?
>> -Marshall Schor
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org

View raw message