Skip to content

Commit

Permalink
1
Browse files Browse the repository at this point in the history
  • Loading branch information
metux committed Sep 8, 2023
1 parent 3094890 commit 5f7c443
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 2 deletions.
6 changes: 4 additions & 2 deletions doc/GlobalSpec.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,15 @@ config, the fields `package.name` and `package.version` are automatically set.
The packages defined here are only built, when explicitly pulled in by a pool's package list or
as some other package's dependency.

See [PkgSpec](doc/PkgSpec.md)

Package config:
---------------

The package config defines everyhing needed for an individual package, which is loaded into a
separate object *(thus: separate variable namespace)*. When loaded from the global config, the
fields `package.name` and `package.version` *(if version is present)* are automatically set from
the package key.
fields `package.fqname` *(the key)* `package.name` *(package name w/o version suffix)* and
`package.version` *(if version is present)* are automatically set from the package key.

Most of the common data, eg. source repo locations, is loaded from CSDB - looked up by the package
*name* *(w/o the version qualifier)*. See topic CSDB for details.
Expand Down
25 changes: 25 additions & 0 deletions doc/PkgSpec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
PkgSpec
=======

Package specs everyhing needed for an individual package. It's usually loaded from individual
entries of [GlobalSpec](doc/GlobalSpec.md)'s `packages` section - the key from there is stored
in the `package.fqname` intrinsic.

When loaded from the global config, the
fields `package.name` and `package.version` *(if version is present)* are automatically set from
the package key.

Most of the common data, eg. source repo locations, is loaded from CSDB - looked up by the package
*name* *(w/o the version qualifier)*. See topic CSDB for details.

Important fields:
---------------------

variable | description
---|---
package.name | *(intrinsic)* the name of the package, w/o version qualifier
package.version | *(intrinsic)* the version string *(if present)*
package.fqname | *(intrinsic)* full package name, including version suffix
skip-on-targets | list of targets which skips the package
depends | list of dependency packages
autobuild-ref | git ref to check out by default
7 changes: 7 additions & 0 deletions doc/spec-objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ Path addressing also works through intrinsic object references:
${GLOBAL::config.basedir}/cf
${GLOBAL::pathes::github::current}oss-qm/

Defaults and intrinsics
-----------------------

Spec objects may have defaults set by other places. Intrinsics are defaults defined by the objects
themselves, usually functions or references to other SpecObject's.


Object types
------------

Expand Down

0 comments on commit 5f7c443

Please sign in to comment.