Re: using most recent .asd file, if multiple are present

2018-03-20 Thread Robert Goldman
I think what you want might be more easily done through intervening in 
Quicklisp, instead of in ASDF.  "Newest" as defined by the filesystem 
might not correspond to "newest" in the intuitive sense, depending on 
how the files get there.  In quick lisp, maybe you could make these 
different projects correspond to different distributions or something.


When I want to deal with multiple projects (my company's projects aren't 
quicklisp-based), I do it by staring up my lisp session, and then 
executing a form that initializes the ASDF search path to point to only 
the directories associated with that project.  That has been the easiest 
way I have found to avoid version clashes and other inconsistencies 
(like accidentally breaking the project by pulling in a new library 
without ensuring that it's available to my colleagues).


Best,
r


On 20 Mar 2018, at 13:00, Robert Dodier wrote:


Hi,

I wonder if it's possible that if multiple .asd's with the same name
are present, I can ensure that  the .asd with the most recent
timestamp is used.

The use case I have in mind is that I'm trying to set up a system to
download automatically-generated tarballs which contain a snapshot of
a project. Snapshots contain whatever was available (in Git) at the
time the tarball is generated. These are unpacked (by Quicklisp) and
all files in the tarball are given timestamps equal to the time at
which the tarball was unpacked (not the time the tarball was generated
and not the time of the most recent file modification or commit).

Each tarball has a different name (derived from Git project name +
most recent commit hash) so there will be multiple .asd files with the
same name in different directories. But since they all have different
time stamps, I think I'm in good shape: I just need to be able to
identify the most recent one.

I see the ASDF manual says: "When looking in a tree, if one system is
found, the search succeeds. If multiple systems are found, the
consequences are unspecified: the search may succeed with any of the
found systems, or an error may be raised. ASDF currently returns the
first system found, ...".

Is there any way to intervene to return a specific system,
specifically the most recent one?

Thank you once again for your help,
Robert Dodier




using most recent .asd file, if multiple are present

2018-03-20 Thread Robert Dodier
Hi,

I wonder if it's possible that if multiple .asd's with the same name
are present, I can ensure that  the .asd with the most recent
timestamp is used.

The use case I have in mind is that I'm trying to set up a system to
download automatically-generated tarballs which contain a snapshot of
a project. Snapshots contain whatever was available (in Git) at the
time the tarball is generated. These are unpacked (by Quicklisp) and
all files in the tarball are given timestamps equal to the time at
which the tarball was unpacked (not the time the tarball was generated
and not the time of the most recent file modification or commit).

Each tarball has a different name (derived from Git project name +
most recent commit hash) so there will be multiple .asd files with the
same name in different directories. But since they all have different
time stamps, I think I'm in good shape: I just need to be able to
identify the most recent one.

I see the ASDF manual says: "When looking in a tree, if one system is
found, the search succeeds. If multiple systems are found, the
consequences are unspecified: the search may succeed with any of the
found systems, or an error may be raised. ASDF currently returns the
first system found, ...".

Is there any way to intervene to return a specific system,
specifically the most recent one?

Thank you once again for your help,
Robert Dodier