codearchiver

A simple utility that verifies and archives entire source and build
directories, so that that the exact distributable can be re-created at a
later time.
The normal use is to first run
$ codearchiver tag <product> <brand> <version>
This command generates a unique tag for later operations: The tag looks
like <product>_<brand>_<version>_<timestamp>. For example,
g2cwinclient_ce_2.0.1_1504464925894. Note that the version should be
the published and displayed version of the brand, and not the underlying
version of any dependancies. When this command runs, it will verify that
the product, brand, and version submitted are consistent with the version
of the code being built.
Once you have a tag, you can then run additional commands:
-
brand
$ codearchiver brand <tag> <brand root>
This does handlebars substitution on anything in the src/templates
directory into the target/branded directory, using properties
obtained from the <brand root>/<brand>/properties.toml ('product',
'brand', 'version', and 'stamp' properties are also available). If
that properties file contains a property named <product>_resources,
then it recursively copies all files listed in that property from
<brand root>/<brand> into target/branded
-
archive
$ codearchiver archive <tag> <directory>
This command will permanently save everything in the directory
including source code, intermediate generated files, and all
distributables for later use. During execution, you may be required to
gain access to upload to the archives folder: follow the prompts on
screen.