diff options
Diffstat (limited to 'build.sh')
-rwxr-xr-x | build.sh | 80 |
1 files changed, 67 insertions, 13 deletions
@@ -15,6 +15,12 @@ # * The basic convention is that the build name can be mapped onto a mercurial URL, # which is also used as the "branch" name. +check_for() +{ + if [ -e "$2" ]; then found_dict='FOUND'; else found_dict='MISSING'; fi + echo "$1 ${found_dict} '$2' " 1>&2 +} + build_dir_Darwin() { echo build-darwin-i386 @@ -59,6 +65,8 @@ pre_build() && [ -r "$master_message_template_checkout/message_template.msg" ] \ && template_verifier_master_url="-DTEMPLATE_VERIFIER_MASTER_URL=file://$master_message_template_checkout/message_template.msg" + check_for "Before 'autobuild configure'" ${build_dir}/packages/dictionaries + "$AUTOBUILD" configure -c $variant -- \ -DPACKAGE:BOOL=ON \ -DRELEASE_CRASH_REPORTING:BOOL=ON \ @@ -67,7 +75,33 @@ pre_build() -DGRID:STRING="\"$viewer_grid\"" \ -DLL_TESTS:BOOL="$run_tests" \ -DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url - end_section "Pre$variant" + + check_for "After 'autobuild configure'" ${build_dir}/packages/dictionaries + + end_section "Pre$variant" +} + +package_llphysicsextensions_tpv() +{ + begin_section "PhysicsExtensions_TPV" + tpv_status=0 + if [ "$variant" = "Release" ] + then + llpetpvcfg=$build_dir/packages/llphysicsextensions/autobuild-tpv.xml + "$AUTOBUILD" build --verbose --config-file $llpetpvcfg -c Tpv + + # capture the package file name for use in upload later... + PKGTMP=`mktemp -t pgktpv.XXXXXX` + trap "rm $PKGTMP* 2>/dev/null" 0 + "$AUTOBUILD" package --verbose --config-file $llpetpvcfg > $PKGTMP + tpv_status=$? + sed -n -e 's/^wrote *//p' $PKGTMP > $build_dir/llphysicsextensions_package + else + echo "Do not provide llphysicsextensions_tpv for $variant" + llphysicsextensions_package="" + fi + end_section "PhysicsExtensions_TPV" + return $tpv_status } build() @@ -76,13 +110,21 @@ build() if $build_viewer then begin_section "Viewer$variant" - if "$AUTOBUILD" build --no-configure -c $variant + check_for "Before 'autobuild build'" ${build_dir}/packages/dictionaries + + "$AUTOBUILD" build --no-configure -c $variant + viewer_build_ok=$? + end_section "Viewer$variant" + package_llphysicsextensions_tpv + tpvlib_build_ok=$? + if [ $viewer_build_ok -eq 0 -a $tpvlib_build_ok -eq 0 ] then echo true >"$build_dir"/build_ok else echo false >"$build_dir"/build_ok fi - end_section "Viewer$variant" + check_for "After 'autobuild configure'" ${build_dir}/packages/dictionaries + fi } @@ -132,10 +174,6 @@ if test -f scripts/update_version_files.py ; then end_section UpdateVer fi -# Now retrieve the version for use in the version manager -# First three parts only, $revision will be appended automatically. -build_viewer_update_version_manager_version=`python scripts/get_version.py --viewer-version | sed 's/\.[0-9]*$//'` - if [ -z "$AUTOBUILD" ] then export autobuild_dir="$here/../../../autobuild/bin/" @@ -176,10 +214,10 @@ eval "$("$AUTOBUILD" source_environment)" # dump environment variables for debugging env|sort +check_for "Before 'autobuild install'" ${build_dir}/packages/dictionaries -# Install packages. -"$AUTOBUILD" install --skip-license-check +check_for "After 'autobuild install'" ${build_dir}/packages/dictionaries # Now run the build succeeded=true build_processes= @@ -195,10 +233,14 @@ do begin_section "Do$variant" build_dir=`build_dir_$arch $variant` build_dir_stubs="$build_dir/win_setup/$variant" + + begin_section "PreClean" rm -rf "$build_dir" + end_section "PreClean" + mkdir -p "$build_dir" mkdir -p "$build_dir/tmp" - #export TMP="$build_dir/tmp" + if pre_build "$variant" "$build_dir" >> "$build_log" 2>&1 then if $build_link_parallel @@ -209,7 +251,7 @@ do end_section BuildParallel else begin_section "Build$variant" - build "$variant" "$build_dir" 2>&1 | tee -a "$build_log" | grep --line-buffered "^##teamcity" + build "$variant" "$build_dir" 2>&1 | tee -a "$build_log" | sed -n 's/^ *\(##teamcity.*\)/\1/p' if `cat "$build_dir/build_ok"` then echo so far so good. @@ -238,7 +280,7 @@ then begin_section "Build$variant" build_dir=`build_dir_$arch $variant` build_dir_stubs="$build_dir/win_setup/$variant" - tee -a $build_log < "$build_dir/build.log" | grep --line-buffered "^##teamcity" + tee -a $build_log < "$build_dir/build.log" | sed -n 's/^ *\(##teamcity.*\)/\1/p' if `cat "$build_dir/build_ok"` then echo so far so good. @@ -268,13 +310,25 @@ then upload_item quicklink "$package" binary/octet-stream [ -f summary.json ] && upload_item installer summary.json text/plain - # Upload crash reporter files. case "$last_built_variant" in Release) + # Upload crash reporter files for symbolfile in $symbolfiles do upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream done + + # Upload the llphysicsextensions_tpv package, if one was produced + if [ -r "$build_dir/llphysicsextensions_package" ] + then + llphysicsextensions_package=$(cat $build_dir/llphysicsextensions_package) + upload_item private_artifact "$llphysicsextensions_package" binary/octet-stream + else + echo "No llphysicsextensions_package" + fi + ;; + *) + echo "Skipping mapfile for $last_built_variant" ;; esac |