Why is such version transformation done at all? What's the reasoning behind it? Is this documented somewhere? Usually, you would expect that your pom remains unchanged.
Reinhard -----Original Message----- From: John Casey [mailto:[email protected]] Sent: Monday, April 20, 2009 5:30 PM To: Maven Developers List Subject: Re: [Fwd: Weird property replacement issue in Maven 2.1.0] Thanks for filing this. It seems like the issue is related to a new interpolation step that takes place to transform version expression references in things like dependencies just before a POM is deployed. It looks like the profile information got caught in the crossfire. Reinhard Nägele wrote: > Hello, > > Unfortunately, I got no response on the user list, so I'm forwarding > this to the dev list now. I think this is a critical regression and > opened a JIRA ticket for it. > > http://jira.codehaus.org/browse/MNG-4140 > > Reinhard > > -------- Original-Nachricht -------- > Betreff: Weird property replacement issue in Maven 2.1.0 > Datum: Wed, 15 Apr 2009 13:39:12 +0200 > Von: Reinhard Nägele <[email protected]> > Antwort an: Maven Users List <[email protected]> > An: Maven Users List <[email protected]> > > > Hello, > > I guess I spotted a bug in Maven 2.1.0. In a pom, which is intended to > be used as a parent pom, we have the following profile. The profile is > used to copy artifacts to Luntbuild's publish directory. > > <profile> > <id>luntbuild</id> > <build> > <plugins> > <plugin> > <artifactId>maven-dependency-plugin</artifactId> > <executions> > <execution> > <id>copy</id> > <phase>deploy</phase> > <goals> > <goal>copy</goal> > </goals> > <configuration> > <artifactItems> > <artifactItem> > <groupId>${project.groupId}</groupId> > <artifactId>${project.artifactId}</artifactId> > <version>${project.version}</version> > <type>${project.packaging}</type> > </artifactItem> > </artifactItems> > <outputDirectory>${artifactsDir}</outputDirectory> > </configuration> > </execution> > </executions> > </plugin> > </plugins> > </build> > </profile> > > When I deploy the pom, ${project.version} is replaced with the pom's > version (1 in this case) and ends up in Nexus as follows: > > <artifactItem> > <groupId>${project.groupId}</groupId> > <artifactId>${project.artifactId}</artifactId> > <version>1</version> > <type>${project.packaging}</type> > </artifactItem> > > This only happens with Maven 2.1.0. Maven 2.0.10 does not replace > ${project.version}. This is really weird because ${project.version} is > used in other places throughout the pom (e. g. jar plugin config), > where it is not replaced. Is there some special treatment to the version tag? > > Should I open a JIRA for this? > > Reinhard > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] For > additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
