On Tue, Sep 2, 2014 at 9:19 AM, Robert Goldman rpgoldman@sift.net wrote:
Robert P. Goldman wrote:
The minimakefile help lists:
archive alias for command make-and-publish-archive
but make-and-publish-archive is not listed as a command in the help, nor in the makefile. Is this description out of date?
The list of public commands is currently a list returned by function public-commands. I just updated it to include this function. This mechanism could be improved. (For instance, which commands are public could be based on package exported symbols.)
Question: can we do a long help for individual commands, like
make help archive?
./tools/asdf-tools help archive or M-. after having loaded asdf-tools
As an aside, I would say that if one is interested in making CL a serious scripting contender, some equivalent of perl's Getopt::Long library for command line parsing (perhaps Didier's Clon would fit the bill?), and pod inline documentation is going to be critical.
Quicklisp has plenty of such libraries, including my own command-line-arguments and Didier's CLON. There are plenty more, but for historical reasons rooted in backward compatibility with the former Makefile, I'm not using any.
I pushed a comment on the makefile to explain at the top how to get help.
The flipside to my earlier argument about putting back the test scripting using bash and make alone is
"given the asdf builder scripts, what function does the makefile serve now?"
The Makefile serves the following purposes: * bootstrap asdf, with make all, aka make build/asdf.lisp * download libraries, with make ext, aka git submodule update * thin backward-compatible shim around ./tools/asdf-tools
What assistance is offered by having someone use
make archive
instead of simply
asdf-builder archive ?
make archive will make sure build/asdf.lisp is updated before it invokes asdf-tools.
What benefit does the make shim provide? I suppose it chains together dependencies, but given that the makefile shows hardly any use of the filesystem to track the need (or lack thereof) of building, make seems to me like just a barrier to the user's understanding of the function.
Yes, it's mostly useless.
For make test and for the file concatenation, make provides the ability to do the core operations with no additional machinery. So those seem good. But for the other functions, it just seems like make is adding a cumbersome layer of indirection.
Yes, it's a layer of indirection. But it's simpler and shorter to write make archive than to write ./tools/asdf-tools archive
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org In a just society, it is shameful to be poor. In a corrupt society, it is shameful to be rich. — Confucius