Hello.

I'm investigating the use of independent module versions in a
multi-module project and am finding that things seem to work poorly.
By this, I mean that the modules within a project have different
version numbers and refer to each other via version ranges.

Here's an example project that uses version ranges to specify
intra-project dependencies between modules:

  https://github.com/io7m/independent-versioning-20170207

When attempting to build this project, the assembly plugin can't find
the modules even though they're part of the reactor build:

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-assembly-plugin:3.0.0:single (make-assembly) on 
project mod-c: Failed to create assembly: Unable to resolve dependencies for 
assembly 'distribution': Failed to resolve dependencies for assembly: No 
versions are present in the repository for the artifact with a range 
[1.0.0,2.0.0)
[ERROR] com.io7m.experimental:mod-a:jar:null
[ERROR] 
[ERROR] from the specified remote repositories:
[ERROR] snapshots-repo 
(https://oss.sonatype.org/content/repositories/snapshots, releases=false, 
snapshots=true),
[ERROR] central (https://repo.maven.apache.org/maven2, releases=true, 
snapshots=false)
[ERROR] Path to dependency:
[ERROR] 1) com.io7m.experimental:mod-c:jar:1.6.0
[ERROR] 2) com.io7m.experimental:mod-b:jar:1.2.0
[ERROR] -> [Help 1]

When attempting to analyze the dependencies with the dependency:tree
plugin goal:

[ERROR] Failed to execute goal on project mod-b: Could not resolve dependencies 
for project com.io7m.experimental:mod-b:jar:1.2.0: Failed to collect 
dependencies at com.io7m.experimental:mod-a:jar:[1.0.0,2.0.0): No versions 
available for com.io7m.experimental:mod-a:jar:[1.0.0,2.0.0) within specified 
range -> [Help 1]

Is this a bug in Maven? Why does the build succeed but specific plugins
often fail?

M

Attachment: pgpT90BmZFfAo.pgp
Description: OpenPGP digital signature

Reply via email to