Commit 017e5ea8 authored by Eric Timmons's avatar Eric Timmons
Browse files

Add specs/clpi-object-model.org

parent c983e330
...@@ -24,6 +24,9 @@ purely declarative specification of projects and their systems. ...@@ -24,6 +24,9 @@ purely declarative specification of projects and their systems.
documented and supported by this project is v0.4. The specification is documented and supported by this project is v0.4. The specification is
located at [[file:specs/clpi-0.4.org][specs/clpi-0.4.org]]. located at [[file:specs/clpi-0.4.org][specs/clpi-0.4.org]].
A brief description of CLPI's object model is located at
[[file:specs/clpi-object-model.org][specs/clpi-object-model.org]].
* Taxonomy * Taxonomy
This section attempts to ground the definitions of several terms used This section attempts to ground the definitions of several terms used
throughout this documentation. throughout this documentation.
......
#+TITLE: CLPI Object Model
#+AUTHOR: Eric Timmons
#+EMAIL: clpm-devel@common-lisp.net
This document provides a brief overview of the object model and terminology
used within CLPI.
* Project Index
A project index contains information on both projects and systems.
* Project
A project consists of some metadata and a set of releases.
Project metadata can include:
1. The project's VCS repository,
2. a list of authors,
3. a list of maintainers,
4. and a homepage.
* System
A system is merely the name of an ASDF system. Systems are provided by
releases of projects in the form of "system releases". Additionally, systems
can have the following metadata:
1. The primary project where the system is developed. Systems can move
between projects over time, but at any given time, a system must have a
single "primary" project where it is actively developed.
* Release
A release of a project is defined by the following metadata:
1. A version string naming the release. Must be unique within the project.
2. a URL where the release can be located.
3. a list of system releases provided by the release
* System release
A system release is a grounded system. That is, something that is loadable by
ASDF. A system release is defined by:
1. The name of the system,
2. a description,
3. a license,
4. a version string,
5. a list of dependencies.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment