Commit ce7d0264 authored by Eric Timmons's avatar Eric Timmons
Browse files

Remove outdated info from spec

parent bd1f79ba
Loading
Loading
Loading
Loading
+0 −71
Original line number Diff line number Diff line
@@ -128,14 +128,6 @@ the secondary.
   + =:dependencies= :: A list of dependencies for this system. For a
     description of the allowed forms of dependencies, see [[*System dependency]].

  If an integer epoch is provided, this object must only be appended to. This
  allows secondary indices to more efficiently transfer only the new
  releases. If for any reason this object needs to be modified (other than
  appending), the project's epoch must be incremented and a new object used
  instead.

  If no epoch (or a NIL epoch) is provided, this object may change in any way.

* System metadata

  For every primary system in the index, the object
@@ -147,69 +139,6 @@ the secondary.
  + =:primary-project= :: A string naming the current home project of this
    system.

* System releases

  For every primary system in the index, the object
  =systems/SYSTEM-NAME/releases= or =systems/SYSTEM-NAME/releases-EPOCH= must
  exist, where =SYSTEM-NAME= is the URL-encoded primary system name and =EPOCH=
  is the epoch defined in the system metadata. If the epoch is NIL/not
  provided, only the former must exist, otherwise the latter must exist.

  This object contains information about each release of the system. Every sexp
  must be of the form: =(release . release-info)=, where =release= is a
  [[*Project release description]] and =release-info= is a plist with the following
  keys:

  + =:system-file= :: Required. A string containing the path to the ASD file
    that defines this system, relative to the top level folder in the release's
    archive.
  +  ::
  + =:version= :: NIL or a string containing the version of the system. If
    non-NIL, must be a dotted sequence of numbers (this requirement comes from
    ASDF, unfortunately).
  + =:description= :: A string containing a description of the system.
  + =:license= :: The license of this system. Can be an arbitrary sexp.
  + =:dependencies= :: A list of dependencies for this system. See [[*System
    dependency]] for a description of the allowed forms of dependencies.
  + =:secondary-systems= :: A list of secondary systems with the same primary
    name. See [[*Secondary system release]] for a description of secondary systems.


  If an integer epoch is provided, this object must only be appended to. This
  allows secondary indices to more efficiently transfer only the new
  releases. If for any reason this object needs to be modified (other than
  appending), the system's epoch must be incremented and a new object used
  instead.

  If no epoch (or a NIL epoch) is provided, this object may change in any way.

** Secondary system release

   A secondary system is a system whose name contains a =/=
   character. Secondary systems may be explicitly defined by a =defsystem=
   form, or implicitly defined (as is the case when using ASDF's
   package-inferred-systems). Due to the increasing prevalence of
   package-inferred-systems, and subsequent increase in number of systems that
   a single release can have, v0.4 of the specification does not create an
   object for each individual system; instead, the data for secondary systems
   is in the same object as the data on the primary system (similar to how .asd
   files work).

   Each secondary system release is described by a sexp of the form =(name
   . info)= where =name= is a string containing the name of the system and
   =info= is a plist with the following keys:

   + =:version= :: NIL or a string containing the version of the system. If
     non-NIL, must be a dotted sequence of numbers (this requirement comes from
     ASDF, unfortunately).
   + =:description= :: A string containing a description of the system.
   + =:license= :: The license of this system. Can be an arbitrary sexp.
   + =:dependencies= :: A list of dependencies for this system. See [[*System
     dependency]] for a description of the allowed forms of dependencies.

   If =:version= or =:license= is missing from a secondary system, it is
   assumed to be the same as the primary system's.

* System dependency

  A system dependency can take one of four forms: