The cl-project Reference Manual

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

The cl-project Reference Manual

This is the cl-project Reference Manual, version 0.3.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:55:37 2022 GMT+0.

Table of Contents


1 Introduction

CL-Project - Generate modern project skeletons

Build Status Quicklisp dist

Usage

(cl-project:make-project #p"lib/cl-sample/"
  :author "Eitaro Fukamachi"
  :email "e.arrows@gmail.com"
  :license "LLGPL"
  :depends-on '(:clack :cl-annot))
;-> writing /Users/fukamachi/Programs/lib/cl-sample/.gitignore
;   writing /Users/fukamachi/Programs/lib/cl-sample/README.markdown
;   writing /Users/fukamachi/Programs/lib/cl-sample/cl-sample-test.asd
;   writing /Users/fukamachi/Programs/lib/cl-sample/cl-sample.asd
;   writing /Users/fukamachi/Programs/lib/cl-sample/src/hogehoge.lisp
;   writing /Users/fukamachi/Programs/lib/cl-sample/t/hogehoge.lisp
;=> T

What's the difference from other generators?

1. Flexible templates

CL-Project supports more parameters to embed, by using CL-EMB to represent the skeleton files (See "cl-project/skeleton/").

2. One package per file style (Modern)

A modern CL project should be in accordance with some rules. For instance, one file must have one package in it.

3. Recommends unit testing

Modern projects should have some unit tests. CL-Project generates a system for unit testing, so you can begin writing unit tests as soon as the project is generated.

Parameters

All parameters are optional.

See Also

Author

Copyright

Copyright (c) 2011 Eitaro Fukamachi (e.arrows@gmail.com)

License

Licensed under the LLGPL License.


2 Systems

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


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

2.1 cl-project

Generate a skeleton for modern project

Author

Eitaro Fukamachi

License

LLGPL

Version

0.3.1

Dependencies
  • cl-emb (system).
  • uiop (system).
  • cl-ppcre (system).
  • local-time (system).
  • prove (system).
Source

cl-project.asd.

Child Component

src (module).


3 Modules

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


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

3.1 cl-project/src

Source

cl-project.asd.

Parent Component

cl-project (system).

Child Components

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   [Contents][Index]

4.1.1 cl-project/cl-project.asd

Source

cl-project.asd.

Parent Component

cl-project (system).

ASDF Systems

cl-project.


4.1.2 cl-project/src/cl-project.lisp

Dependencies
Source

cl-project.asd.

Parent Component

src (module).

Packages

cl-project.

Public Interface

4.1.3 cl-project/src/file.lisp

Dependencies
Source

cl-project.asd.

Parent Component

src (module).

Packages

cl-project.file.

Public Interface

4.1.4 cl-project/src/skeleton.lisp

Dependencies
Source

cl-project.asd.

Parent Component

src (module).

Packages

cl-project.skeleton.

Public Interface
Internals

4.1.5 cl-project/src/io.lisp

Dependency

specials.lisp (file).

Source

cl-project.asd.

Parent Component

src (module).

Packages

cl-project.io.

Public Interface

copy-file-to-file (function).


4.1.6 cl-project/src/middleware.lisp

Dependency

file.lisp (file).

Source

cl-project.asd.

Parent Component

src (module).

Packages

cl-project.middleware.

Public Interface

*without-tests* (special variable).


4.1.7 cl-project/src/specials.lisp

Source

cl-project.asd.

Parent Component

src (module).

Packages

cl-project.specials.

Public Interface

5 Packages

Packages are listed by definition order.


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

5.1 cl-project.skeleton

Source

skeleton.lisp.

Use List
Public Interface
Internals

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

5.2 cl-project.specials

Source

specials.lisp.

Use List

common-lisp.

Used By List
Public Interface

5.3 cl-project

Source

cl-project.lisp.

Use List

common-lisp.

Public Interface

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

5.4 cl-project.file

Source

file.lisp.

Use List
Public Interface

5.5 cl-project.io

Source

io.lisp.

Use List
Public Interface

copy-file-to-file (function).


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

5.6 cl-project.middleware

Source

middleware.lisp.

Use List

common-lisp.

Public Interface

*without-tests* (special variable).


6 Definitions

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


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

6.1 Public Interface


6.1.1 Special variables

Special Variable: *default-skeleton-directory*
Package

cl-project.specials.

Source

specials.lisp.

Special Variable: *skeleton-directory*
Package

cl-project.specials.

Source

specials.lisp.

Special Variable: *skeleton-parameters*
Package

cl-project.specials.

Source

specials.lisp.

Special Variable: *without-tests*
Package

cl-project.middleware.

Source

middleware.lisp.


6.1.2 Ordinary functions

Function: copy-file-to-file (source-path target-path)

Copy a file ‘source-path‘ to the ‘target-path‘.

Package

cl-project.io.

Source

io.lisp.

Function: generate-skeleton (source-dir target-dir &key env)

General skeleton generator.

Package

cl-project.

Source

cl-project.lisp.

Function: make-project (path &rest params &key name description author email license depends-on without-tests &allow-other-keys)

Generate a skeleton.

Package

cl-project.

Source

cl-project.lisp.

Function: make-skeleton (path children)
Package

cl-project.skeleton.

Source

skeleton.lisp.

Function: make-skeleton-from-directory (directory)
Package

cl-project.skeleton.

Source

skeleton.lisp.

Function: make-template-file (path)
Package

cl-project.file.

Source

file.lisp.


6.1.3 Generic functions

Generic Function: generate (file target-dir)
Package

cl-project.file.

Source

file.lisp.

Methods
Method: generate ((skeleton skeleton) target-dir)
Source

skeleton.lisp.

Method: generate ((file template-file) target-dir)
Generic Reader: template-file-path (object)
Package

cl-project.file.

Methods
Reader Method: template-file-path ((template-file template-file))

automatically generated reader method

Source

file.lisp.

Target Slot

path.

Generic Writer: (setf template-file-path) (object)
Package

cl-project.file.

Methods
Writer Method: (setf template-file-path) ((template-file template-file))

automatically generated writer method

Source

file.lisp.

Target Slot

path.


6.1.4 Classes

Class: skeleton
Package

cl-project.skeleton.

Source

skeleton.lisp.

Direct methods
Direct slots
Slot: path
Type

pathname

Initargs

:path

Readers

skeleton-path.

Writers

(setf skeleton-path).

Slot: children
Type

list

Initform

(quote nil)

Initargs

:children

Readers

skeleton-children.

Writers

(setf skeleton-children).

Class: template-file
Package

cl-project.file.

Source

file.lisp.

Direct methods
Direct slots
Slot: path
Type

pathname

Initargs

:path

Readers

template-file-path.

Writers

(setf template-file-path).


6.2 Internals


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

6.2.1 Ordinary functions

Function: maptree (fn path)
Package

cl-project.skeleton.

Source

skeleton.lisp.


6.2.2 Generic functions

Generic Reader: skeleton-children (object)
Package

cl-project.skeleton.

Methods
Reader Method: skeleton-children ((skeleton skeleton))

automatically generated reader method

Source

skeleton.lisp.

Target Slot

children.

Generic Writer: (setf skeleton-children) (object)
Package

cl-project.skeleton.

Methods
Writer Method: (setf skeleton-children) ((skeleton skeleton))

automatically generated writer method

Source

skeleton.lisp.

Target Slot

children.

Generic Reader: skeleton-path (object)
Package

cl-project.skeleton.

Methods
Reader Method: skeleton-path ((skeleton skeleton))

automatically generated reader method

Source

skeleton.lisp.

Target Slot

path.

Generic Writer: (setf skeleton-path) (object)
Package

cl-project.skeleton.

Methods
Writer Method: (setf skeleton-path) ((skeleton skeleton))

automatically generated writer method

Source

skeleton.lisp.

Target Slot

path.


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

Jump to:   (  
C   F   G   M   S   T  
Index Entry  Section

(
(setf skeleton-children): Private generic functions
(setf skeleton-children): Private generic functions
(setf skeleton-path): Private generic functions
(setf skeleton-path): Private generic functions
(setf template-file-path): Public generic functions
(setf template-file-path): Public generic functions

C
copy-file-to-file: Public ordinary functions

F
Function, copy-file-to-file: Public ordinary functions
Function, generate-skeleton: Public ordinary functions
Function, make-project: Public ordinary functions
Function, make-skeleton: Public ordinary functions
Function, make-skeleton-from-directory: Public ordinary functions
Function, make-template-file: Public ordinary functions
Function, maptree: Private ordinary functions

G
generate: Public generic functions
generate: Public generic functions
generate: Public generic functions
generate-skeleton: Public ordinary functions
Generic Function, (setf skeleton-children): Private generic functions
Generic Function, (setf skeleton-path): Private generic functions
Generic Function, (setf template-file-path): Public generic functions
Generic Function, generate: Public generic functions
Generic Function, skeleton-children: Private generic functions
Generic Function, skeleton-path: Private generic functions
Generic Function, template-file-path: Public generic functions

M
make-project: Public ordinary functions
make-skeleton: Public ordinary functions
make-skeleton-from-directory: Public ordinary functions
make-template-file: Public ordinary functions
maptree: Private ordinary functions
Method, (setf skeleton-children): Private generic functions
Method, (setf skeleton-path): Private generic functions
Method, (setf template-file-path): Public generic functions
Method, generate: Public generic functions
Method, generate: Public generic functions
Method, skeleton-children: Private generic functions
Method, skeleton-path: Private generic functions
Method, template-file-path: Public generic functions

S
skeleton-children: Private generic functions
skeleton-children: Private generic functions
skeleton-path: Private generic functions
skeleton-path: Private generic functions

T
template-file-path: Public generic functions
template-file-path: Public generic functions

Jump to:   (  
C   F   G   M   S   T  

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

A.4 Data types

Jump to:   C   F   I   M   P   S   T  
Index Entry  Section

C
cl-project: The cl-project system
cl-project: The cl-project package
cl-project.asd: The cl-project/cl-project․asd file
cl-project.file: The cl-project․file package
cl-project.io: The cl-project․io package
cl-project.lisp: The cl-project/src/cl-project․lisp file
cl-project.middleware: The cl-project․middleware package
cl-project.skeleton: The cl-project․skeleton package
cl-project.specials: The cl-project․specials package
Class, skeleton: Public classes
Class, template-file: Public classes

F
File, cl-project.asd: The cl-project/cl-project․asd file
File, cl-project.lisp: The cl-project/src/cl-project․lisp file
File, file.lisp: The cl-project/src/file․lisp file
File, io.lisp: The cl-project/src/io․lisp file
File, middleware.lisp: The cl-project/src/middleware․lisp file
File, skeleton.lisp: The cl-project/src/skeleton․lisp file
File, specials.lisp: The cl-project/src/specials․lisp file
file.lisp: The cl-project/src/file․lisp file

I
io.lisp: The cl-project/src/io․lisp file

M
middleware.lisp: The cl-project/src/middleware․lisp file
Module, src: The cl-project/src module

P
Package, cl-project: The cl-project package
Package, cl-project.file: The cl-project․file package
Package, cl-project.io: The cl-project․io package
Package, cl-project.middleware: The cl-project․middleware package
Package, cl-project.skeleton: The cl-project․skeleton package
Package, cl-project.specials: The cl-project․specials package

S
skeleton: Public classes
skeleton.lisp: The cl-project/src/skeleton․lisp file
specials.lisp: The cl-project/src/specials․lisp file
src: The cl-project/src module
System, cl-project: The cl-project system

T
template-file: Public classes

Jump to:   C   F   I   M   P   S   T