Package COM.INFORMATIMAGO.TOOLS.ASDF-FILE


Reads simple .asd files, without instanciating ASDF objects.
============================================================

  (LOAD-SIMPLE-ASD-FILE path-to-asd-file)
  --> hashtable mapping file names to ASDF-FILE structures.

NOTE: The current implementation expects the defsystem form to be the
      first and only form in the asd file.


Generate simple .asd files:
============================================================

  (GENERATE-ASD :system-name (list "source-1" "source-2") "lisp"
                :description "Short description"
                :version "1.0.0"
                :author "Name <email@address>"
                :license "AGPL3"
                :predefined-packages '("COMMON-LISP"))
                :implicit-dependencies '())
                :depends-on '(:other-system))
                :load-paths (list (make-pathname :directory '(:relative))))
                :vanillap t)

License:

    AGPL3
    
    Copyright Pascal J. Bourguignon 2012 - 2014
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.
    
    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
(asd-systems-in-asd-file asd-file-pathname)
function
Returns a list of system names found in the asd file ASD-FILE-PATHNAME.

DEFPACKAGE and IN-PACKAGE forms are evaluated, but IN-PACKAGE forms
are neutralized with a local dynamic binding of *PACKAGE*.
(default-headers-for-system pathname defsystem-form &key default-author default-email default-initials)
function
RETURN: A p-list containing a default source file header for the
        file at PATHNAME containing the DEFSYSTEM-FORM.
(find-asd-files root-directory)
function
Returns a list of pathnames to asd files found recursively in the ROOT-DIRECTORY.
(generate-asd system-name sources source-type &key description version author licence license predefined-packages implicit-dependencies depends-on load-paths vanillap)
function
VANILLAP:  if true, then generate a simple, vanilla system.
           Otherwise, decorate it with PJB output-files.
(generate-test-system-for-system-at-path asdf-system-pathname &key verbose)
function
Writes asd files defining test systems for each system found in the
asdf file at ASDF-SYSTEM-PATHNAME, unless such a file already exists.

MAKE-COMPONENTS

(read-asdf-system-definitions stream)
function
Reads an ASD file stream and return a list of asdf:defsystem forms
found.

DEFPACKAGE and IN-PACKAGE forms are evaluated, but IN-PACKAGE forms
are neutralized with a local dynamic binding of *PACKAGE*.
(save-asdf-system-file pathname defsystem-form &key external-format emacs-head-variables headers)
function
Saves the DEFSYSTEM-FORM into the ASD file at PATHNAME (superseded).
(test-system-for-system defsystem-form)
function
RETURN: A defsystem form for a test system for the system defined by
        DEFSYSTEM-FORM.
(test-system-p defsystem-form)
function
Predicate whether DEFSYSTEM-FORM defines a test system
ie. whether the system name ends in ".test".
(write-asdf-system-definition stream defsystem-form)
function
Writes the defsystem-form to the STREAM.