Recent disappearance of asdf:bundle-system.

Daniel Kochmański daniel at turtleware.eu
Sun Oct 16 15:23:12 UTC 2016


Robert Goldman writes:

> On 10/16/16 Oct 16 -1:31 AM, Mark Evenson wrote:
>> 
>> 
>> On 2016/9/11 17:09, Faré wrote:
>>> 1- While the trivial convenience function bundle-system was removed,
>>> the underlying functionality still exists. The function was ill-named
>>> legacy of dubious value. Do ABCL users actually use this function as
>>> such?
>> 
>> [Sorry for the late reply]
>> 
>> As far as I know, no one actively uses BUNDLE-SYSTEM for ABCL, instead
>> using the [ASDF-JAR ABCL contrib][1], which allows a system to
>> (optionally recursively) package all dependencies of an ASDF system into
>> a single binary artifact (a jar file containing all the code).
>> 
>> If I understand things conceptually correctly, if their were a stable
>> BUNDLE-SYSTEM, we would move the code for ASDF-JAR to use those interfaces.
>> 
>> [1]: http://abcl.org/trac/browser/trunk/abcl/contrib/asdf-jar
>> 
>
> So BUNDLE-SYSTEM has been restored, but the comment about its
> deprecation suggests that we should revisit its arglist to make it
> useful, if we are not going to remove it.
>
> TBH, I don't understand what bundle-system is supposed to do, versus,
> for example LOAD-SYSTEM.  There seem to be so many different ways to
> bundle and kinds of bundle that this function seems too ambiguous.
>
> The function is not documented, and reading the code doesn't help me (as
> someone who doesn't routinely use bundle ops): it defers to
> DELIVER-ASD-OP, but that operation is documented as:
>
> "produce an asd file for delivering the system as a single fasl"
>
> which suggests that it makes a .asd file, and doesn't bundle anything at
> all.
>
> So.... help?

Afaik bundle-system creates one fasl for a whole system (if monolithic -
for a system and its dependencies). It may be loaded afterwards with
simple load. What it lacks is a `:move-here' key parameter or a similar
mechanism.

I wouldn't advise to use it, because of an arbitrary decision by Fare to
break the API contract (by pushing for removal of `make-build' and
`bundle-system' and promoting `program-op' and `deliver-asd-op') -
you'll have your api broken with the next or one after next ASDF
release.

Best regards,
Daniel

-- 
Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland
TurtleWare - Daniel Kochmański      | www.turtleware.eu

"Be the change that you wish to see in the world." - Mahatma Gandhi



More information about the asdf-devel mailing list