maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lacoste, Dana (TSG Software San Diego)" <dana.laco...@hp.com>
Subject Question about version ranges
Date Thu, 10 Sep 2009 22:28:33 GMT
I'm using 2.0.10 in this instance.

I am breaking down my monolithic gigantic build into sub-components, so that I can build client
separate from server, for example.

For SNAPSHOTs this is working (well, actually, it isn't, but that's another story :) ) but
for RELEASE builds, I'm getting this:

Couldn't find a version in [7.11.093, 7.11.094] to match range [7.11,7.12)

So I have a parent pom defining my "version-range" to be [7.11,7.12) for this case (this is
version 7.11, so I want the latest 7.11 build only.)

If 7.11.093 is considered newer than 7.11 (according to the docs where "any modifier is considered
"newer" than the base) then why doesn't this work?

Note that I changed it to be [7.11.000,7.12.000) and it worked fine, but that seems like it
shouldn't be necessary somehow: in that case if you ever released 1.0 and then had to do an
emergency patch 1.0.1 (not 1.1, because 1.1 is being developed for future stuff: 1.0.1 is
just an emergency patch) then it wouldn't get picked up by the maven version range properly
:(

Similarly, the maven-dependency-plugin doesn't seem to support ranges specified in this way.
 If you put a <version> tag in the dependency plugin then it doesn't work with ranges,
and if you put a <dependency> section in your pom (and remove the <version> tag
from the dependency-plugin part of the build) then it puts a "null" in for the version of
your artifact.  I'm getting around this by using an assembly to extract my dependency instead
of the dependency-plugin, but that just seems silly:

why can't maven handle its own version ranges????

Dana Lacoste
Examples:

Sample Range that didn't find "7.11.093" :
property defined: RELEASE_VERSION_RANGE as '[7.11,712)'

Sample Range that DID find "7.11.093" :
property defined: RELEASE_VERSION_RANGE as '[7.11.000,712.000)'

pom dependency section for above:
    <dependency>
      <groupId>package.server</groupId>
      <artifactId>server-distribution</artifactId>
      <version>${RELEASE_VERSION_RANGE}</version>
    </dependency>

Sample Maven dependency-plugin section that didn't seem to work with above in any way shape
or form:
     <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>UnpackServer</id>
            <phase>process-resources</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>package.server</groupId>
                  <artifactId>server-distribution</artifactId>
                  <classifier>bin</classifier>
                 <!-- <version>${RELEASE_VERSION_RANGE} </version> -->
                  <type>zip</type>
                </artifactItem>
              </artifactItems>
              <outputDirectory>
                ${project.build.directory}/server/
              </outputDirectory>
            </configuration>
          </execution>
      </plugin>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message