16 Commits

Author SHA1 Message Date
Aaron Suen
f0042e11a1 Enable video URL editing 2022-04-05 21:12:57 -04:00
Aaron Suen
4c37af231b Oops, more missed config options 2021-12-22 16:55:17 -05:00
Aaron Suen
719dfc79ad Fix dev_state support 2021-12-22 16:43:15 -05:00
Aaron Suen
0029e9a3cf Fix broken --edit option
Also, only do screenshots if metadata editing
is enabled.
2021-02-28 08:17:48 -05:00
Aaron Suen
84b1aabf85 Don't support renaming packages
Not even sure this would even work, or what
implications it would have on future cdbrelease
runs for that package.
2021-02-28 08:11:17 -05:00
Aaron Suen
987dbaa9c5 Throw error on unsupported setting
This should help weed out old junk settings from
old versions of CDB config.
2021-02-28 08:04:14 -05:00
Aaron Suen
0cd6f8d911 Screenshots, handle array cmdline opts 2021-02-27 18:25:03 -05:00
Aaron Suen
8362e41b0e Metadata editing, releasing via the API
Left to do:
- test out including commit hash, when ruben
  finishes implementing this in the API.
- screenshot reconciliation.
2021-02-27 11:20:52 -05:00
Aaron Suen
8f06601e86 Begin rebuilding to use new CDB API
Since writing cdbrelease, CDB has added a new set
of stable APIs suitable for creating releases.  Major
changes planned:

- Use the JSON API and token auth for everything
  instead of scraping site HTML.
- Switch to using CDB's standard mechanisms for
  some config, such as *.conf for versions and
  .cdb.json for static settings.
- Switch to zip uploads so we can locally control
  exports, since CDB uses git-export-all which does
  not properly support .gitattributes export-subst.

This also involves a significant rework of the
configuration interfaces to support the new
.cdb.json source, and mirroring the git repo is now
mandatory, as using zip upload, we cannot rely on
CDB to access the repo itself directly.

New configuration interfaces are ostensibly done,
CDB components need to be reworked still.
2021-02-27 09:31:13 -05:00
Aaron Suen
5795bef3a4 Add dry run, mod scan. 2020-03-27 23:43:56 -04:00
Aaron Suen
9546ae147e Beautify, code standards. 2020-03-27 22:22:51 -04:00
Aaron Suen
3966a42431 VS Code formatting. 2020-03-27 17:20:16 -04:00
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