1
0
Fork 0

Refactor the build and list-packages scripts

Until now the build and package scripts have supported
several architectures, compilers, build types, package-managers,
and bit-depth targets.

The code might be maintainable if left as-such, however we have plans
to continue expanding the number of architectures (ARM, PPC, ... ),
operating systems (Android, BSDs, ...), and build variations
amung those.

The scripts (regardless of language) would only grow in complexity
as more variations are added. Thus, we needed a solution that can
scale without adding complexity.

To achieve this, the scripts were refactored as follows:
 - all "data" was moved out of code into configuration files
 - A back-end "Automator" engine was written to parse the
   data based on generic variables fed to it by a front-end
   script
 - build.sh and list-packages.sh were re-authored as thin front-end
   scripts that drive the automator
 - Their CLI's were retained so there has been very little change
   needed to the CI invocation lines.  The only changes have been to
   clarify the existing arguments improved based on feedback, ie:
   --build-type release, --build-type debug instead of fast, small
This commit is contained in:
krcroft 2019-11-23 19:54:19 -08:00 committed by Patryk Obara
parent fd74aa0720
commit 0f11ab8ecb
39 changed files with 478 additions and 697 deletions

10
.gitignore vendored
View file

@ -53,6 +53,16 @@ stamp-h1
# Other
compile
build.log
clean.log
make.log
.previous_build
.current_build
# Visual Studio
.vs
# Common editor temp/backup files
*~
*.swp
*.tmp