The deoxybyte-systems Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The deoxybyte-systems Reference Manual

This is the deoxybyte-systems Reference Manual, version 1.0.0, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:48:29 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Introduction

The deoxybyte-systems system provides tools for managing Common Lisp
systems in batch mode and from the REPL. It provides convenient
wrapper functions for ASDF operations and collects my ASDF extensions
in one place, instead of copy-pasting them into the system definition
files that need them. It does not add symbols to the ASDF package.

This system is required by most of my other Common Lisp systems
because it supplies the optional unit test and documentation
configurations (using LIFT  and
CLDOC  respectively.


Documentation

See the Lisp docstrings, particularly the package docstrings for an
overview. HTML documentation may be generated with the command:

  (cldoc:extract-documentation 'cldoc:html "./doc/html/"
    (find-system :deoxybyte-systems))

at the REPL, provided that CLDOC is installed.


Dependencies

ASDF    http://common-lisp.net/project/asdf/  (Requires ASDF 3)
cl-fad  http://www.weitz.de/cl-fad/

Optional dependencies

LIFT    http://common-lisp.net/project/lift/
CLDOC   http://common-lisp.net/project/cldoc/


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 deoxybyte-systems

Author

Keith James

License

New BSD

Version

1.0.0

Dependency

cl-fad (at least version 0.6.2)

Source

deoxybyte-systems.asd (file)

Component

deoxybyte-systems (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 deoxybyte-systems/deoxybyte-systems

Parent

deoxybyte-systems (system)

Location

src/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 deoxybyte-systems.asd

Location

deoxybyte-systems.asd

Systems

deoxybyte-systems (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 deoxybyte-systems/deoxybyte-systems/package.lisp

Parent

deoxybyte-systems (module)

Location

src/package.lisp

Packages

uk.co.deoxybyte-systems


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 deoxybyte-systems/deoxybyte-systems/asdf-extensions.lisp

Dependency

package.lisp (file)

Parent

deoxybyte-systems (module)

Location

src/asdf-extensions.lisp

Exported Definitions
Internal Definitions

doc-op (class)


Previous: , Up: Lisp files   [Contents][Index]

4.1.4 deoxybyte-systems/deoxybyte-systems/deoxybyte-systems.lisp

Dependency

asdf-extensions.lisp (file)

Parent

deoxybyte-systems (module)

Location

src/deoxybyte-systems.lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 uk.co.deoxybyte-systems

The deoxybyte-systems system provides tools for
managing Common Lisp systems in batch mode and from the REPL. It provides convenient wrapper functions for ASDF operations and collects my ASDF extensions in one place, instead of copy-pasting them into the system definition files that need them. It does not add symbols to
the ASDF package.

This system is required by most of my other Common Lisp systems
because it supplies the unit test and documentation support (using
LIFT {http://common-lisp.net/project/lift/} and CLDOC {http://common-lisp.net/project/cldoc/} respectively.

This system requires ASDF 3 and will not function correctly with older ASDF versions. One new ASDF operation is provided by this system:

- cldoc-op: Runs CLDOC to extract docstrings in HTML format.

Two utility functions are provided to allow LIFT tests to be run and CLDOC documentation to be generated if LIFT and/or CLDOC are present, degrading gracefully if they are not.

To use these in an ASDF file, first load these extensions. One way to
do this is to use a method specific to your Lisp platform (e.g. Steel bank Common Lisp provides the .sbclrc file):

;;; (in-package :cl-user)
;;; (require ’asdf)
;;; (asdf:operate ’asdf:load-op :deoxybyte-systems)

Alternatively, the system can be loaded on demand by the ASDF file
that will use :deoxybyte-systems functions:

;;; (eval-when (:compile-toplevel :load-toplevel :execute)
;;; (when (asdf:find-system :deoxybyte-systems nil)
;;; (asdf:load-system :deoxybyte-systems)))

;;; or loaded unconditionally:

;;; (in-package :cl-user)
;;; (asdf:load-system :deoxybyte-systems)

Then use standard ASDF syntax to add new components:

;;; (defsystem example-system
;;; :name "Example system"
;;; :in-order-to ((test-op (load-op :example-system
;;; :example-system-test))
;;; (doc-op (load-op :cldoc)))
;;; :components ((:module :src
;;; :serial t
;;; :pathname "src/"
;;; :components ((:file "package.lisp")
;;; (:file "example.lisp")))
;;; :perform (test-op :after (op c)
;;; (maybe-run-lift-tests :example-system
;;; "example-lift-test.config")) ;;; :perform (doc-op :after (op c)
;;; (maybe-build-cldoc-docs :example-system "doc/html")))

To load a system:
;;; (dxs:load-system :example-system)

or the equivalent:
;;; (asdf:load-system :example-system)

To run tests:
;;; (dxs:test-system :example-system)

or the equivalent:
;;; (asdf:test-system :example-system)

To generate system documentation:
;;; (dxs:document-system :example-system)

Source

package.lisp (file)

Nicknames
Use List

common-lisp

Exported Definitions
Internal Definitions

doc-op (class)


Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Functions

Function: document-system SYSTEM &rest KEYS

Extracts documentation from SYSTEM using ASDF and CLDOC.

Package

uk.co.deoxybyte-systems

Source

deoxybyte-systems.lisp (file)

Function: load-system SYSTEM &rest KEYS

Alias for ASDF:LOAD-SYSTEM.

Package

uk.co.deoxybyte-systems

Source

deoxybyte-systems.lisp (file)

Function: maybe-build-cldoc-docs SYSTEM-NAME ROOT-PATH

When CLDOC is available, build HTML documentation for SYSTEM-NAME with TITLE .

Package

uk.co.deoxybyte-systems

Source

asdf-extensions.lisp (file)

Function: maybe-run-lift-tests SYSTEM-NAME LIFT-CONFIG-FILENAME

When LIFT is available, run tests on SYSTEM-NAME using configuration in LIFT-CONFIG-FILENAME .

Package

uk.co.deoxybyte-systems

Source

asdf-extensions.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Classes

Class: doc-op ()

An ASDF operation that extracts docstring documentation from Lisp code using CLDOC.

Package

uk.co.deoxybyte-systems

Source

asdf-extensions.lisp (file)

Direct superclasses

operation (class)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   D   F   L   M  
Index Entry  Section

D
deoxybyte-systems.asd: The deoxybyte-systems<dot>asd file
deoxybyte-systems/deoxybyte-systems: The deoxybyte-systems/deoxybyte-systems module
deoxybyte-systems/deoxybyte-systems/asdf-extensions.lisp: The deoxybyte-systems/deoxybyte-systems/asdf-extensions<dot>lisp file
deoxybyte-systems/deoxybyte-systems/deoxybyte-systems.lisp: The deoxybyte-systems/deoxybyte-systems/deoxybyte-systems<dot>lisp file
deoxybyte-systems/deoxybyte-systems/package.lisp: The deoxybyte-systems/deoxybyte-systems/package<dot>lisp file

F
File, Lisp, deoxybyte-systems.asd: The deoxybyte-systems<dot>asd file
File, Lisp, deoxybyte-systems/deoxybyte-systems/asdf-extensions.lisp: The deoxybyte-systems/deoxybyte-systems/asdf-extensions<dot>lisp file
File, Lisp, deoxybyte-systems/deoxybyte-systems/deoxybyte-systems.lisp: The deoxybyte-systems/deoxybyte-systems/deoxybyte-systems<dot>lisp file
File, Lisp, deoxybyte-systems/deoxybyte-systems/package.lisp: The deoxybyte-systems/deoxybyte-systems/package<dot>lisp file

L
Lisp File, deoxybyte-systems.asd: The deoxybyte-systems<dot>asd file
Lisp File, deoxybyte-systems/deoxybyte-systems/asdf-extensions.lisp: The deoxybyte-systems/deoxybyte-systems/asdf-extensions<dot>lisp file
Lisp File, deoxybyte-systems/deoxybyte-systems/deoxybyte-systems.lisp: The deoxybyte-systems/deoxybyte-systems/deoxybyte-systems<dot>lisp file
Lisp File, deoxybyte-systems/deoxybyte-systems/package.lisp: The deoxybyte-systems/deoxybyte-systems/package<dot>lisp file

M
Module, deoxybyte-systems/deoxybyte-systems: The deoxybyte-systems/deoxybyte-systems module

Jump to:   D   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   D   F   L   M  
Index Entry  Section

D
document-system: Exported functions

F
Function, document-system: Exported functions
Function, load-system: Exported functions
Function, maybe-build-cldoc-docs: Exported functions
Function, maybe-run-lift-tests: Exported functions

L
load-system: Exported functions

M
maybe-build-cldoc-docs: Exported functions
maybe-run-lift-tests: Exported functions

Jump to:   D   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables


Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   P   S   U  
Index Entry  Section

C
Class, doc-op: Internal classes

D
deoxybyte-systems: The deoxybyte-systems system
doc-op: Internal classes

P
Package, uk.co.deoxybyte-systems: The uk<dot>co<dot>deoxybyte-systems package

S
System, deoxybyte-systems: The deoxybyte-systems system

U
uk.co.deoxybyte-systems: The uk<dot>co<dot>deoxybyte-systems package

Jump to:   C   D   P   S   U