From 75b51f1e80260e2325709e7426fc5b2ebd88ada9 Mon Sep 17 00:00:00 2001 From: Maxim Prokhorov Date: Tue, 8 Jun 2021 13:22:25 +0300 Subject: [PATCH] scripts: restore old build.sh and fixup release.sh generator Leave build.sh as a local script, assume that CI will use the release.sh instead Generator parser returned None at the end (...this is not rust...), also fix args.* typos with a more declarative structure. --- code/build.sh | 35 ++--------------------------- code/scripts/generate_release_sh.py | 26 +++++++++++---------- 2 files changed, 16 insertions(+), 45 deletions(-) diff --git a/code/build.sh b/code/build.sh index aa258c3a..75ad2c2f 100755 --- a/code/build.sh +++ b/code/build.sh @@ -5,10 +5,7 @@ set -e script_build_environments=true script_build_webui=true -script_build_release=false - destination=../firmware -release_args="" # ALL env: sections from the .ini, even including those we don't want to build list_all_envs() { @@ -48,18 +45,6 @@ build_webui() { node node_modules/gulp/bin/gulp.js || exit } -build_release() { - echo "--------------------------------------------------------------" - echo "Building release images..." - - set -x - python scripts/generate_release_sh.py $release_args > release.sh - bash release.sh - set +x - - echo "--------------------------------------------------------------" -} - build_environments() { echo "--------------------------------------------------------------" echo "Building environment images..." @@ -93,16 +78,13 @@ Options: -f VALUE Filter build stage by name to skip it Supported VALUEs are "environments" and "webui" Can be specified multiple times. - -r Release mode. Instead of building specified environments, - build every available one with an external script (ref. scripts/generate_release_sh.py) - -a When in 'Release mode', append the string to the builder script arguments list -l Print available environments -d VALUE Destination to move the .bin file after building the environment -h Display this message EOF } -while getopts "f:lra:pd:h" opt; do +while getopts "f:ld:h" opt; do case $opt in f) case "$OPTARG" in @@ -121,17 +103,6 @@ while getopts "f:lra:pd:h" opt; do d) destination=$OPTARG ;; - r) - script_build_environments=false - script_build_release=true - ;; - a) - if ! $script_build_release ; then - echo Must be in release mode to append arguments - exit 1 - fi - release_args="$release_args $OPTARG" - ;; h) print_getopts_help exit @@ -148,8 +119,6 @@ if $script_build_webui ; then build_webui fi -if $script_build_release ; then - build_release -elif $script_build_environments ; then +if $script_build_environments ; then build_environments $@ fi diff --git a/code/scripts/generate_release_sh.py b/code/scripts/generate_release_sh.py index d0f8c9af..21ee95df 100755 --- a/code/scripts/generate_release_sh.py +++ b/code/scripts/generate_release_sh.py @@ -152,7 +152,7 @@ def parse_args(): version_parts.add_argument("--revision") version_parts.add_argument("--suffix") - parser.parse_args() + return parser.parse_args() if __name__ == "__main__": @@ -171,17 +171,19 @@ if __name__ == "__main__": print("#!/bin/bash") print("set -e -x") - print('export ESPURNA_BUILD_DESTINATION="{}"'.format(args.destination)) - print("export ESPURNA_BUILD_SINGLE_SOURCE={}".format(int(args.single_source))) - if args.full_version: - print('export ESPURNA_BUILD_FULL_VERSION="{}"'.format(args.full_version)) - else: - if args.version: - print('export ESPURNA_BUILD_VERSION="{}"'.format(args.version)) - if args.suffix: - print('export ESPURNA_BUILD_REVISION="{}"'.format(args.revision)) - if args.suffix: - print('export ESPURNA_BUILD_VERSION_SUFFIX="{}"'.format(args.suffix)) + + variables = [ + ["ESPURNA_BUILD_DESTINATION", args.destination], + ["ESPURNA_BUILD_SINGLE_SOURCE", int(args.single_source)], + ["ESPURNA_BUILD_FULL_VERSION", args.full_version], + ["ESPURNA_BUILD_VERSION", args.version], + ["ESPURNA_BUILD_REVISION", args.revision], + ["ESPURNA_BUILD_VERSION_SUFFIX", args.suffix]] + + for var, value in variables: + if value or not value is None: + print("export {}=\"{}\"".format(var, value)) + print('trap "ls -R ${ESPURNA_BUILD_DESTINATION}" EXIT') print( 'echo "Selected thread #{} out of {}"'.format(