Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aether-users] POM Version Syntax

Hello,
I have a Gradle build that publishes artifacts to an Artifactory server.  The Gradle build scripts allow "+" in the version for dependency declaration like the following.

compile group: 'junit', name: 'junit', version: '4.+'

After the build Gradle will publish the resulting artifact to the Artifactory repository along with a newly built POM for it, and the POM will contain the following:

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.+</version>
      <scope>compile</scope>
</dependency>

When I use RepositorySystem.collectDependencies(..) to resolve the dependencies and parse the POM files I get an ArtifactNotFoundException because it doesn't know what to do about the version.  If I could build the artifact myself I think I could just replace the version with something like "4.MAX" but that would only work for the initial artifact I am passing in, it would not work for the other dependencies coming from the POM files or the transitive dependencies being resolved down the line.

I am hoping someone else has run into this sort of problem and can provide advice on how to get around the unrecognized "+" in the version string.
Thanks!

Back to the top