[armedbear-devel] Maven versus ASDF versions

Cyrus Harmon ch-lisp at bobobeach.com
Sun Feb 23 17:38:33 UTC 2014


Oh, I see! Thanks for showing me the correct :mvn invocation for, e.g., -SNAPSHOT. Works great!

On Feb 23, 2014, at 9:02 AM, Mark Evenson <evenson at panix.com> wrote:

> On 2/23/14, 1:27, Cyrus Harmon wrote:
>> 
>> Whoops. I attached the wrong patch.
>> 
>> Correct one (hopefully) attached:
>> 
>> 
>> 
>> 
>> 
>> 
>> On Feb 22, 2014, at 5:21 PM, Cyrus Harmon <ch-lisp at bobobeach.com> wrote:
>> 
>>> 
>>> The attached patch adds support for maven snapshot versions with the following defsystem component syntax:
>>> 
>>>   (:mvn "org.openscience.cdk/cdk-bundle" :version "1.5.6" :snapshot t)
>>> 
>>> I’m open to other suggestions to solving this, but this works for my immediate needs.
> 
> No, that isn't a sufficiently generalized solution for my tastes, but
> congratulations on hacking it to work for you!
> 
> As far as I understand Maven, the "-SNAPSHOT" is merely a suffix to the
> version coordinate and is merely a convention, not supported by the
> underlying Maven infrastructure as the version in Maven is merely an
> opaque string without any meaningful ordering operations between
> different versions (i.e. there is no sure way to tell that one version
> in Maven is greater or lesser than another).  So, making an keyword
> argument for "-SNAPSHOT" but not "-rc-1" and whatever else gets stuffed
> in here is the wrong way forward, especially as we can see that your
> diff is mostly about "carrying the extra arg" through the various method
> calls which would have to be duplicated for every additional suffix that
> one encounters.
> 
> ASDF tries to be much stricter about its version component, which
> probably means that trying to use the ASDF VERSION component to
> represent both Maven's and ASDF's notion of a version is probably a
> losing battle.  Currently, the ASDF  on abcl-1.3.0-dev signals a
> non-intelligible error about ASDF/SYSTEM:BUILTIN-SYSTEM-P when ASDF
> encounters a VERSION that is not strictly three integers separated by
> two periods.
> 
> Fortunately, the current version of ASDF and ABCL-ASDF accepts the
> following form:
> 
>   (:mvn "org.openscience.cdk/cdk-bundle/1.5.6-SNAPSHOT")
> 
> which should do what you want without patching the API.  This is where
> the ENSURE-PARSED-MVN function that you recently patched comes in,
> "fixing up" the MVN component to contain the right values.  This works,
> since in spite of requiring that ASDF versions can be meaningfully
> compared, ASDF itself does not use this requirement for anything other
> than possibly upgrading its own components.
> 
> I couldn't find your artifact on the standard Maven repo, but tested it
> with the following artifact:
> 
>    (:mvn "org.mod4j.com.google.inject/guice/1.0-XTEXT-PATCHED")
> 
> Could you test that this will work for your case?
> 
> Longer term, the way forward is to clearly not use the ASDF VERSION
> field to store the MVN version at all.
> 
> -- 
> "A screaming comes across the sky.  It has happened before, but there
> is nothing to compare to it now."
> 




More information about the armedbear-devel mailing list