4 Commits

Author SHA1 Message Date
Aaron Suen
d15799f6a9 Add CDB details sync support.
- Automatically load detail edits from meta JSON, allowing release
  of new descriptions to sync with release of package versions.
- Load long description from external markdown file.
- Automatically calculate provides/depends info if needed.
2020-03-27 17:12:38 -04:00
Aaron Suen
815eec04e6 Bugfixes, add config file. 2019-08-13 23:07:02 -04:00
Aaron Suen
1f0ae91cf3 New layered config system.
This allows --fromgit to override built-in defaults (e.g. setting
min/max MT version) but not explicit cmdline settings.
2019-03-31 09:47:16 -04:00
Aaron Suen
a8ed60296a Add --fromgit to pull settings from a git repo.
If --fromgit=<url> is specified:
- Shallow-clone the repo.
- Export the tree from the clone.
- Run .cdbrelease.lua hook in the root of the tree.
- Merge any data returned into config.

.cdbrelease.lua can do more-or-less whatever lua allows (e.g.
using dofile, filesystem access, etc.) to figure out the settings
it wants to provide.  This allows it to do things like include
files from mods for shared versioning logic and perform more
complex version number calculations, like NodeCore does.  It could
also be a security risk, so this should be used only on repos that
the user has good control over.

The canonical example is for .cdbrelease.lua to compute its own
version number from stats that get baked into the file by the
export step based on .gitattributes.  Things like defaulting the
pacakge name and author are possible too.

Settings that are already explicitly specified at an earlier step
are ignored from .cdbrelease.lua.
2019-03-31 09:24:16 -04:00