protocol

pack_protocol

Pack specification protocol.

Author: Paulo Moura
Version: 0:12:0
Date: 2021-10-21
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

name/1

Pack name.

Compilation flags:
static
Template:
name(Name)
Mode and number of proofs:
name(?atom) - zero_or_one

description/1

Pack one line description.

Compilation flags:
static
Template:
description(Description)
Mode and number of proofs:
description(?atom) - zero_or_one

license/1

Pack license. Specified using the identifier from the SPDX License List (https://spdx.org/licenses/).

Compilation flags:
static
Template:
license(License)
Mode and number of proofs:
license(?atom) - zero_or_one

home/1

Pack home HTTPS or file URL.

Compilation flags:
static
Template:
home(Home)
Mode and number of proofs:
home(?atom) - zero_or_one

version/6

Table of available versions.

Compilation flags:
static
Template:
version(Version,Status,URL,Checksum,Dependencies,Portability)
Mode and number of proofs:
version(?compound,?atom,-atom,-pair(atom,atom),-list(pair(atom,callable)),?atom) - zero_or_more
version(?compound,?atom,-atom,-pair(atom,atom),-list(pair(atom,callable)),-list(atom)) - zero_or_more
Remarks:
  • Version: The Version argument uses the same format as entity versions: Major:Minor:Pathch.

  • Status: Version development status. E.g stable, rc, beta, alpha, or deprecated.

  • URL: File URL for a local directory or download HTTPS URL for the pack archive.

  • Checksum: A pair where the key is the hash algorithm and the value is the checksum. Currently, the hash algorithm must be sha256. For file:// URLs of local directories, use none.

  • Dependencies: A list of the pack dependencies. Each dependency is a compound term Registry::Pack Operator Version where Operator is a term comparison operator. The atom logtalk can also be used in place of Registry::Pack`.

  • Dependency names: Either Registry::Dependency or just Dependency where both Registry and Dependency are atoms.

  • Portability: Either the atom all or a list of the supported backend Prolog compilers (using the identifier atoms use by the prolog_dialect flag).

  • Clause order: Versions must be listed ordered from newest to oldest.


Operators

(none)