I am seeing some weirdness with the AS build on our EJB3 build environment when version ranges are specified as system properties. In our EJB3 continuous integration builds, we build the AS with the following command:
mvn clean install -Dskip-download-sources -U '-Dversion.org.jboss.ejb3=[0,)' '-Dversion.org.jboss.ejb3.common.client=[0,)' '-Dversion.org.jboss.ejb3.core.client=[0,)' '-Dversion.org.jboss.ejb3.proxy.client=[0,)' '-Dversion.org.jboss.ejb3.proxy.clustered.client=[0,)' '-Dversion.org.jboss.ejb3.security.client=[0,)' '-Dversion.org.jboss.ejb3.jpa.int=[0,)' '-Dversion.org.jboss.metadata.ejb=[0,)'
(All the -D params are on a single line in the actual setup. I had to split them into multiple lines in this post to get past the forum editor problem).
Let's take the -Dversion.org.jboss.ejb3=[0,) as an example. Assuming that the latest available version is 1.0.5-SNAPSHOT, i would have expected that the entire AS build would use this version and copy the 1.0.5-SNAPSHOT jar of this artifact to common/lib. This used to work so far (don't know when it stopped working). The issue we are currently seeing, is that "some" parts of the AS build correctly pick up 1.0.5-SNAPSHOT of this jar where as other parts of the build use 1.0.4 (the version that is explicitly set in component-matrix/pom.xml). I can see that the part of the build which uses the properties of the following format (just an example):
picks up the correct (latest SNAPSHOT) version. However, the "thirdparty" target in the build/build.xml picks up the version specified in the component-matrix/pom.xml.
I tried to figure out what's going on, and from what i see, it appears like the version ranges are *not* supported with the maven ant plugin's dependencies goal:
<maven:dependencies filesetId="pom.dependencies" versionsId="pom.dependencies.versions" scopes="compile, runtime"> <pom refid="pom.project"/> </maven:dependencies>
(I printed out the "versionsId" property through a echo statement and i could see that it doesn't honour the version ranges)
If i change the build command to override using a specific version:
mvn clean install -Dskip-download-sources -U '-Dversion.org.jboss.ejb3=1.0.3'
things start working fine. But the moment i override through (any) version range, i start seeing the issue. Is it expected that the dependencies goal doesn't support version ranges?