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>

Reply via email to