What I'm quite clumsily trying to say: there is no conflict to be resolve here, hence this note doesn't apply.
-- Richard On 12.11.2013, at 23:58, Richard Eckart de Castilho <r...@apache.org> wrote: > On 12.11.2013, at 23:53, Marshall Schor <m...@schor.com> wrote: > >> I did some more checking. >> >> The org.eclipse.core:runtime version 3.9.0-v20130326-1255 depends on >> org.eclipse.equinox:app version 1.0.0 (not [1.0.0]) > > Right, it uses 1.0.0. > >> This page: >> http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-dependencies.html#pom-relationships-sect-version-ranges >> >> has a "Note" which says this form of the specification means "allow anything, >> but prefer 1.0.0. I would conclude that Maven ought to resolve the app >> artifact >> in this case? > > I interpret the note differently: > > """ > When declaring a "normal" version such as 3.8.2 for Junit, internally this is > represented as "allow anything, but prefer 3.8.2." This means that when a > conflict is detected, Maven is allowed to use the conflict algorithms to > choose the best version. > """ > > I read that as "[1.0.0] would not allow the conflict resolution mechanism to > choose an alternative". The conflict resolution mechanism chooses the nearest > dependency (near in the sense of hops of dependencies between the dependency > root and the different transitive inclusions of an artifact with conflicting > version numbering). > > In particular, I don't read it as "try 1.0.0, but in case that is absent try > just any version". > > -- Richard > > >> Did I miss something? >> >> -Marshall >> >> >> On 11/12/2013 4:17 PM, Richard Eckart de Castilho wrote: >>> Thanks for testing. I verified that there is a new version of the runtime >>> artifact on Maven Central, and it has a dependency to the app artifact >>> which is *not* on Maven Central. >>> >>> http://search.maven.org/#artifactdetails%7Corg.eclipse.core%7Cruntime%7C3.9.0-v20130326-1255%7Cjar >>> >>> So unless somebody uploads a newer version of the runtime artifact with >>> a fixed dependency or someone uploads an app artifact in version 1.0.0, >>> UIMA 2.4.2 cannot be built from source. >>> >>> As a workaround, you can probably replace the version ranges in the >>> dependencies >>> on the runtime in the UIMA 2.4.2 POMs with a fixed version >>> 3.3.100-v20070530. >>> >>> We need to consider how to deal with these version ranges I guess. >>> >>> -- Richard >>> >>> On 12.11.2013, at 22:11, Kim Ebert <kim.eb...@perfectsearchcorp.com> wrote: >>> >>>> Hi Richard, >>>> >>>> rm -rvf ~/.m2 >>>> >>>> then >>>> >>>> mvn compile >>>> >>>> Same problem still. I was actually clearing the .m2 directory to verify >>>> that my cache wasn't causing me any problems on a build. >>>> >>>> Thanks, >>>> >>>> Kim Ebert >>>> 1.801.669.7342 >>>> Perfect Search Corp >>>> http://www.perfectsearchcorp.com/ >>>> >>>> On 11/12/2013 02:05 PM, Richard Eckart de Castilho wrote: >>>>> That's what I was expecting. I assume that you have the 3.9.0-xxx version >>>>> in >>>>> your local .m2 repository, so the version range is resolved to that and >>>>> I don't see Maven actively accessing a strange repository in your logs, >>>>> so it might just be a remnant of some other project you built earlier. >>>>> >>>>> Try purging that version from your local .m2 repository (or maybe start >>>>> with a new >>>>> empty .m2 repository). >>>>> >>>>> -- Richard >>>>> >>>>> On 12.11.2013, at 21:46, Kim Ebert <kim.eb...@perfectsearchcorp.com> >>>>> wrote: >>>>> >>>>>> It appears for some reason that my version is resolving to >>>>>> org.eclipse.core:runtime:jar:3.9.0-v20130326-1255:provided instead of >>>>>> org.eclipse.core:runtime:jar:3.3.100-v20070530 >>>>>> >>>>>> The eclipse dependency is listed as: >>>>>> >>>>>> <!-- Eclipse dependencies --> >>>>>> <dependency> >>>>>> <groupId>org.eclipse.core</groupId> >>>>>> <artifactId>runtime</artifactId> >>>>>> <version>[3.3.0.0,4.0.0)</version> >>>>>> <scope>provided</scope> >>>>>> </dependency> >