The cl-project Reference Manual

Table of Contents

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

The cl-project Reference Manual

This is the cl-project Reference Manual, version 0.3, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:29:36 2018 GMT+0.


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

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.

Author

Copyright

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

License

Licensed under the LLGPL License.


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 cl-project

Author

Eitaro Fukamachi

License

LLGPL

Description

Generate a skeleton for modern project

Long Description

# CL-Project - Generate modern project skeletons

[![Build Status](https://travis-ci.org/fukamachi/cl-project.svg?branch=master)](https://travis-ci.org/fukamachi/cl-project)
[![Quicklisp dist](http://quickdocs.org/badge/cl-project.svg)](http://quickdocs.org/cl-project/)

## Usage

“‘common-lisp
(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](http://common-lisp.net/project/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](http://labs.ariel-networks.com/cl-style-guide.html). 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.

* ‘:name‘: Project name. If this key isn’t specified, the directory name will be used.
* ‘:description‘: Short description for the new project.
* ‘:author‘: Your name.
* ‘:email‘: Your e-mail address.
* ‘:license‘: License of the new project.
* ‘:depends-on‘: A list of dependencies.

## Author

* Eitaro Fukamachi (e.arrows@gmail.com)

## Copyright

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

## License

Licensed under the LLGPL License.

Version

0.3

Dependencies
Source

cl-project.asd (file)

Component

src (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 cl-project/src

Parent

cl-project (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 cl-project.asd

Location

cl-project.asd

Systems

cl-project (system)


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

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

Dependencies
Parent

src (module)

Location

src/cl-project.lisp

Packages

cl-project

Exported Definitions

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

4.1.3 cl-project/src/file.lisp

Dependencies
Parent

src (module)

Location

src/file.lisp

Packages

cl-project.file

Exported Definitions

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

4.1.4 cl-project/src/skeleton.lisp

Dependencies
Parent

src (module)

Location

src/skeleton.lisp

Packages

cl-project.skeleton

Exported Definitions
Internal Definitions

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

4.1.5 cl-project/src/io.lisp

Dependency

specials.lisp (file)

Parent

src (module)

Location

src/io.lisp

Packages

cl-project.io

Exported Definitions

copy-file-to-file (function)


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

4.1.6 cl-project/src/middleware.lisp

Dependency

file.lisp (file)

Parent

src (module)

Location

src/middleware.lisp

Packages

cl-project.middleware

Exported Definitions

*without-tests* (special variable)


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

4.1.7 cl-project/src/specials.lisp

Parent

src (module)

Location

src/specials.lisp

Packages

cl-project.specials

Exported Definitions

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

5 Packages

Packages are listed by definition order.


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

5.1 cl-project

Source

cl-project.lisp (file)

Use List

common-lisp

Exported Definitions

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

5.2 cl-project.file

Source

file.lisp (file)

Use List
Exported Definitions

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

5.3 cl-project.skeleton

Source

skeleton.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

5.4 cl-project.io

Source

io.lisp (file)

Use List
Exported Definitions

copy-file-to-file (function)


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

5.5 cl-project.middleware

Source

middleware.lisp (file)

Use List

common-lisp

Exported Definitions

*without-tests* (special variable)


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

5.6 cl-project.specials

Source

specials.lisp (file)

Use List

common-lisp

Used By List
Exported Definitions

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


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

6.1.1 Special variables

Special Variable: *default-skeleton-directory*
Package

cl-project.specials

Source

specials.lisp (file)

Special Variable: *skeleton-directory*
Package

cl-project.specials

Source

specials.lisp (file)

Special Variable: *skeleton-parameters*
Package

cl-project.specials

Source

specials.lisp (file)

Special Variable: *without-tests*
Package

cl-project.middleware

Source

middleware.lisp (file)


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

6.1.2 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 (file)

Function: generate-skeleton SOURCE-DIR TARGET-DIR &key ENV

General skeleton generator.

Package

cl-project

Source

cl-project.lisp (file)

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 (file)

Function: make-skeleton PATH CHILDREN
Package

cl-project.skeleton

Source

skeleton.lisp (file)

Function: make-skeleton-from-directory DIRECTORY
Package

cl-project.skeleton

Source

skeleton.lisp (file)

Function: make-template-file PATH
Package

cl-project.file

Source

file.lisp (file)


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

6.1.3 Generic functions

Generic Function: generate FILE TARGET-DIR
Package

cl-project.file

Source

file.lisp (file)

Methods
Method: generate (SKELETON skeleton) TARGET-DIR
Source

skeleton.lisp (file)

Method: generate (FILE template-file) TARGET-DIR
Generic Function: template-file-path OBJECT
Generic Function: (setf template-file-path) NEW-VALUE OBJECT
Package

cl-project.file

Methods
Method: template-file-path (TEMPLATE-FILE template-file)

automatically generated reader method

Source

file.lisp (file)

Method: (setf template-file-path) NEW-VALUE (TEMPLATE-FILE template-file)

automatically generated writer method

Source

file.lisp (file)


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

6.1.4 Classes

Class: skeleton ()
Package

cl-project.skeleton

Source

skeleton.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: path
Type

pathname

Initargs

:path

Readers

skeleton-path (generic function)

Writers

(setf skeleton-path) (generic function)

Slot: children
Type

list

Initargs

:children

Initform

(quote nil)

Readers

skeleton-children (generic function)

Writers

(setf skeleton-children) (generic function)

Class: template-file ()
Package

cl-project.file

Source

file.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: path
Type

pathname

Initargs

:path

Readers

template-file-path (generic function)

Writers

(setf template-file-path) (generic function)


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

6.2 Internal definitions


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

6.2.1 Functions

Function: maptree FN PATH
Package

cl-project.skeleton

Source

skeleton.lisp (file)


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

6.2.2 Generic functions

Generic Function: skeleton-children OBJECT
Generic Function: (setf skeleton-children) NEW-VALUE OBJECT
Package

cl-project.skeleton

Methods
Method: skeleton-children (SKELETON skeleton)

automatically generated reader method

Source

skeleton.lisp (file)

Method: (setf skeleton-children) NEW-VALUE (SKELETON skeleton)

automatically generated writer method

Source

skeleton.lisp (file)

Generic Function: skeleton-path OBJECT
Generic Function: (setf skeleton-path) NEW-VALUE OBJECT
Package

cl-project.skeleton

Methods
Method: skeleton-path (SKELETON skeleton)

automatically generated reader method

Source

skeleton.lisp (file)

Method: (setf skeleton-path) NEW-VALUE (SKELETON skeleton)

automatically generated writer method

Source

skeleton.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   C   F   L   M  
Index Entry  Section

C
cl-project.asd: The cl-project<dot>asd file
cl-project/src: The cl-project/src module
cl-project/src/cl-project.lisp: The cl-project/src/cl-project<dot>lisp file
cl-project/src/file.lisp: The cl-project/src/file<dot>lisp file
cl-project/src/io.lisp: The cl-project/src/io<dot>lisp file
cl-project/src/middleware.lisp: The cl-project/src/middleware<dot>lisp file
cl-project/src/skeleton.lisp: The cl-project/src/skeleton<dot>lisp file
cl-project/src/specials.lisp: The cl-project/src/specials<dot>lisp file

F
File, Lisp, cl-project.asd: The cl-project<dot>asd file
File, Lisp, cl-project/src/cl-project.lisp: The cl-project/src/cl-project<dot>lisp file
File, Lisp, cl-project/src/file.lisp: The cl-project/src/file<dot>lisp file
File, Lisp, cl-project/src/io.lisp: The cl-project/src/io<dot>lisp file
File, Lisp, cl-project/src/middleware.lisp: The cl-project/src/middleware<dot>lisp file
File, Lisp, cl-project/src/skeleton.lisp: The cl-project/src/skeleton<dot>lisp file
File, Lisp, cl-project/src/specials.lisp: The cl-project/src/specials<dot>lisp file

L
Lisp File, cl-project.asd: The cl-project<dot>asd file
Lisp File, cl-project/src/cl-project.lisp: The cl-project/src/cl-project<dot>lisp file
Lisp File, cl-project/src/file.lisp: The cl-project/src/file<dot>lisp file
Lisp File, cl-project/src/io.lisp: The cl-project/src/io<dot>lisp file
Lisp File, cl-project/src/middleware.lisp: The cl-project/src/middleware<dot>lisp file
Lisp File, cl-project/src/skeleton.lisp: The cl-project/src/skeleton<dot>lisp file
Lisp File, cl-project/src/specials.lisp: The cl-project/src/specials<dot>lisp file

M
Module, cl-project/src: The cl-project/src module

Jump to:   C   F   L   M  

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

A.2 Functions

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

(
(setf skeleton-children): Internal generic functions
(setf skeleton-children): Internal generic functions
(setf skeleton-path): Internal generic functions
(setf skeleton-path): Internal generic functions
(setf template-file-path): Exported generic functions
(setf template-file-path): Exported generic functions

C
copy-file-to-file: Exported functions

F
Function, copy-file-to-file: Exported functions
Function, generate-skeleton: Exported functions
Function, make-project: Exported functions
Function, make-skeleton: Exported functions
Function, make-skeleton-from-directory: Exported functions
Function, make-template-file: Exported functions
Function, maptree: Internal functions

G
generate: Exported generic functions
generate: Exported generic functions
generate: Exported generic functions
generate-skeleton: Exported functions
Generic Function, (setf skeleton-children): Internal generic functions
Generic Function, (setf skeleton-path): Internal generic functions
Generic Function, (setf template-file-path): Exported generic functions
Generic Function, generate: Exported generic functions
Generic Function, skeleton-children: Internal generic functions
Generic Function, skeleton-path: Internal generic functions
Generic Function, template-file-path: Exported generic functions

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

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

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

Jump to:   (  
C   F   G   M   S   T  

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

A.3 Variables

Jump to:   *  
C   P   S  
Index Entry  Section

*
*default-skeleton-directory*: Exported special variables
*skeleton-directory*: Exported special variables
*skeleton-parameters*: Exported special variables
*without-tests*: Exported special variables

C
children: Exported classes

P
path: Exported classes
path: Exported classes

S
Slot, children: Exported classes
Slot, path: Exported classes
Slot, path: Exported classes
Special Variable, *default-skeleton-directory*: Exported special variables
Special Variable, *skeleton-directory*: Exported special variables
Special Variable, *skeleton-parameters*: Exported special variables
Special Variable, *without-tests*: Exported special variables

Jump to:   *  
C   P   S  

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

A.4 Data types

Jump to:   C   P   S   T  
Index Entry  Section

C
cl-project: The cl-project system
cl-project: The cl-project package
cl-project.file: The cl-project<dot>file package
cl-project.io: The cl-project<dot>io package
cl-project.middleware: The cl-project<dot>middleware package
cl-project.skeleton: The cl-project<dot>skeleton package
cl-project.specials: The cl-project<dot>specials package
Class, skeleton: Exported classes
Class, template-file: Exported classes

P
Package, cl-project: The cl-project package
Package, cl-project.file: The cl-project<dot>file package
Package, cl-project.io: The cl-project<dot>io package
Package, cl-project.middleware: The cl-project<dot>middleware package
Package, cl-project.skeleton: The cl-project<dot>skeleton package
Package, cl-project.specials: The cl-project<dot>specials package

S
skeleton: Exported classes
System, cl-project: The cl-project system

T
template-file: Exported classes

Jump to:   C   P   S   T