- moved builder frome itwatch to devtools
- restructured, added variable handling, callbacks, ....
This commit is contained in:
70
bin/builder.sh
Executable file
70
bin/builder.sh
Executable file
@@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
#
|
||||
|
||||
# enabled debug
|
||||
# set -x
|
||||
|
||||
#####################
|
||||
# Controller
|
||||
####################
|
||||
builder_controller() {
|
||||
local result
|
||||
|
||||
# read config
|
||||
call_entry_point result config; (( $result == "0" )) || builder_config
|
||||
|
||||
# prepare
|
||||
call_entry_point result prepare ; (( $result == "0" )) || builder_prepare
|
||||
|
||||
# download and process dist files
|
||||
call_entry_point result retrieve; (( $result == "0" )) || builder_retrieve
|
||||
|
||||
# Create some special files
|
||||
call_entry_point result create; (( $result == "0" )) || builder_create
|
||||
|
||||
# Start packaging
|
||||
call_entry_point result package; (( $result == "0" )) || builder_package
|
||||
|
||||
# Upload to repos
|
||||
call_entry_point result publish; (( $result == "0" )) || builder_publish
|
||||
|
||||
# git commit
|
||||
call_entry_point result commit; (( $result == "0" )) || builder_commit
|
||||
|
||||
# cleanup
|
||||
call_entry_point result cleanup; (( $result == "0" )) || builder_cleanup
|
||||
}
|
||||
|
||||
####################
|
||||
# Main
|
||||
####################
|
||||
|
||||
# get the 'real' directory this program stored in (resolve symbolic links)
|
||||
PRG=$(readlink -f $0)
|
||||
BASEDIR=`dirname "$PRG"`
|
||||
BASEDIR=`cd "$BASEDIR" && pwd`/..
|
||||
|
||||
# Parameters
|
||||
PRODUCT_DIR=$1
|
||||
TARGET=$2
|
||||
|
||||
# read libraries
|
||||
. $BASEDIR/lib/builder-targets.sh
|
||||
|
||||
# check product directory
|
||||
if [ -z ${PRODUCT_DIR} ]; then PRODUCT_DIR="`pwd`" ; fi
|
||||
test -d $PRODUCT_DIR
|
||||
builder_check_error "no opsi product directory specified: $PRODUCT_DIR"
|
||||
|
||||
# source additional, product dependent callback (cb) targets
|
||||
if [ -f "$PRODUCT_DIR/builder-targets-cb.sh" ] ; then
|
||||
. "$PRODUCT_DIR/builder-targets-cb.sh"
|
||||
fi
|
||||
|
||||
# call main
|
||||
builder_controller
|
||||
|
||||
# exit
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user