summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBuildParams118
-rwxr-xr-xautobuild.xml14
-rwxr-xr-xbuild.sh133
3 files changed, 58 insertions, 207 deletions
diff --git a/BuildParams b/BuildParams
index 74bd2b4923..35a737a191 100755
--- a/BuildParams
+++ b/BuildParams
@@ -71,121 +71,9 @@ additional_packages = ""
# for the package in a setting that overrides the compiled-in value
################################################################
-# Notifications - to configure email notices, add a setting like this:
-# <username>_<reponame>.email = <email-address>
+# Notifications - to configure email notices use the TeamCity parameter
+# setting screen for your project or build configuration to set the
+# environment variable 'email' to a space-separated list of email addresses
-# ========================================
-# mesh-development
-# ========================================
-mesh-development.viewer_channel = "Project Viewer - Mesh"
-mesh-development.viewer_grid = aditi
-mesh-development.build_debug_release_separately = true
-mesh-development.build_CYGWIN_Debug = false
-mesh-development.build_viewer_update_version_manager = false
-
-# ========================================
-# mesh-development-release-1-candidate
-# ========================================
-mesh-development-release-1-candidate.viewer_channel = "Project Viewer - Mesh"
-mesh-development-release-1-candidate.viewer_grid = agni
-mesh-development-release-1-candidate.build_debug_release_separately = true
-mesh-development-release-1-candidate.build_CYGWIN_Debug = false
-mesh-development-release-1-candidate.build_viewer_update_version_manager = false
-
-# ========================================
-# mesh-development-rc
-# ========================================
-mesh-development-rc.viewer_channel = "Project Viewer - Mesh"
-mesh-development-rc.viewer_grid = agni
-mesh-development-rc.build_debug_release_separately = true
-mesh-development-rc.build_CYGWIN_Debug = false
-mesh-development-rc.build_viewer_update_version_manager = false
-
-# ========================================
-# mesh-asset-deprecation
-# ========================================
-mesh-asset-deprecation.viewer_channel = "Project Viewer - Mesh Asset Deprecation"
-mesh-asset-deprecation.viewer_grid = aditi
-mesh-asset-deprecation.build_debug_release_separately = true
-mesh-asset-deprecation.build_CYGWIN_Debug = false
-mesh-asset-deprecation.build_viewer_update_version_manager = false
-
-# ========================================
-# viewer-mesh
-# ========================================
-
-viewer-mesh.build_viewer = true
-viewer-mesh.build_server = false
-viewer-mesh.build_Linux = true
-viewer-mesh.build_hg_bundle = true
-viewer-mesh.build_viewer_update_version_manager = false
-viewer-mesh.build_Debug = false
-viewer-mesh.build_RelWithDebInfo = false
-viewer-mesh.viewer_channel = "Project Viewer - Mesh"
-viewer-mesh.viewer_grid = aditi
-viewer-mesh.email = shining@lists.lindenlab.com
-
-# =================================================================
-# asset delivery 2010 projects
-# =================================================================
-viewer-asset-delivery.viewer_channel = "Second Life Development"
-viewer-asset-delivery.build_viewer_update_version_manager = false
-viewer-asset-delivery.email = monty@lindenlab.com
-viewer-asset-delivery.build_server = false
-viewer-asset-delivery.build_server_tests = false
-
-viewer-asset-delivery-metrics.viewer_channel = "Second Life Development"
-viewer-asset-delivery-metrics.build_viewer_update_version_manager = false
-viewer-asset-delivery-metrics.email = monty@lindenlab.com
-viewer-asset-delivery-metrics.build_server = false
-viewer-asset-delivery-metrics.build_server_tests = false
-
-# ========================================
-# Simon says
-# ========================================
-simon_viewer-dev-private.public_build = false
-simon_viewer-dev-private.email_status_this_is_os = false
-
-
-# ========================================
-# Vir
-# ========================================
-vir-project-1.viewer_channel = "Second Life Release"
-
-# ========================================
-# Merov
-# ========================================
-merov-viewer-maint-2287.viewer_channel = "Second Life Project Merchant Outbox"
-merov-viewer-maint-2287.login_channel = "Second Life Project Merchant Outbox"
-merov-viewer-maint-2287.build_viewer_update_version_manager = false
-merov-viewer-maint-2287.codeticket_add_context = false
-
-# ========================================
-# THX-1138 / Runway projects
-# ========================================
-viewer-thx1138-runway-shared.viewer_channel = "Project Viewer - THX-1138 Runway"
-viewer-thx1138-runway-shared.viewer_grid = uma
-viewer-thx1138-runway-shared.build_debug_release_separately = true
-viewer-thx1138-runway-shared.build_CYGWIN_Debug = false
-viewer-thx1138-runway-shared.build_viewer_update_version_manager = false
-
-viewer-thx1138.viewer_channel = "Project Viewer - THX-1138"
-viewer-thx1138.viewer_grid = uma
-viewer-thx1138.build_debug_release_separately = true
-viewer-thx1138.build_CYGWIN_Debug = false
-viewer-thx1138.build_viewer_update_version_manager = false
-
-runway-merge.viewer_channel = "Project Viewer - Runway Merge"
-runway-merge.viewer_grid = agni
-runway-merge.build_debug_release_separately = true
-runway-merge.build_CYGWIN_Debug = false
-runway-merge.build_viewer_update_version_manager = false
-
-runway.viewer_channel = "Project Viewer - Runway"
-runway.viewer_grid = agni
-runway.build_debug_release_separately = true
-runway.build_CYGWIN_Debug = false
-runway.build_viewer_update_version_manager = false
-# eof
diff --git a/autobuild.xml b/autobuild.xml
index 4c4ff5a0d4..8972c4ceb0 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -266,9 +266,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>d1c5125650a339a5209f429c70f4d395</string>
+ <string>89db4a1aa22599cf377ae49630b7b5b1</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/297172/arch/Darwin/installer/curl-7.38.0.297172-darwin-297172.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/301717/arch/Darwin/installer/curl-7.42.1.301717-darwin-301717.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@@ -278,9 +278,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>ee6c089ee193e551040d610befc5d1c1</string>
+ <string>de9e0c855ff6ee30c9e027a70bbef032</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/297172/arch/Linux/installer/curl-7.38.0.297172-linux-297172.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/301717/arch/Linux/installer/curl-7.42.1.301717-linux-301717.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@@ -290,16 +290,16 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>fdeca7cbc074a88d2701d74a31d21bd8</string>
+ <string>98d15713de8c439b7f54cc14f2df07ac</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/297172/arch/CYGWIN/installer/curl-7.38.0.297172-windows-297172.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/301717/arch/CYGWIN/installer/curl-7.42.1.301717-windows-301717.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
</map>
</map>
<key>version</key>
- <string>7.38.0.297172</string>
+ <string>7.42.1.301717</string>
</map>
<key>db</key>
<map>
diff --git a/build.sh b/build.sh
index b66d1a0705..f1a392f61f 100755
--- a/build.sh
+++ b/build.sh
@@ -1,10 +1,13 @@
#!/bin/sh
-# This is a the master build script - it is intended to be run by the Linden
-# Lab build farm
-# It is called by a wrapper script in the shared repository which sets up
-# the environment from the various BuildParams files and does all the build
-# result post-processing.
+# This is the custom build script for the viewer
+#
+# It must be run by the Linden Lab build farm shared buildscript because
+# it relies on the environment that sets up, functions it provides, and
+# the build result post-processing it does.
+#
+# The shared buildscript build.sh invokes this because it is named 'build.sh',
+# which is the default custom build script name in buildscripts/hg/BuildParams
#
# PLEASE NOTE:
#
@@ -12,7 +15,6 @@
# Cygwin can be tricky....
# * The special style in which python is invoked is intentional to permit
# use of a native python install on windows - which requires paths in DOS form
-# * This script relies heavily on parameters defined in BuildParams
check_for()
{
@@ -94,13 +96,11 @@ installer_CYGWIN()
pre_build()
{
local variant="$1"
- begin_section "Pre$variant"
+ begin_section "Configure $variant"
[ -n "$master_message_template_checkout" ] \
&& [ -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 "Confirm dictionaries are installed before 'autobuild configure'" ${build_dir}/packages/dictionaries
-
"$autobuild" configure -c $variant -- \
-DPACKAGE:BOOL=ON \
-DRELEASE_CRASH_REPORTING:BOOL=ON \
@@ -109,7 +109,7 @@ pre_build()
-DLL_TESTS:BOOL="$run_tests" \
-DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url
- end_section "Pre$variant"
+ end_section "Configure $variant"
}
package_llphysicsextensions_tpv()
@@ -134,7 +134,7 @@ package_llphysicsextensions_tpv()
echo "${autobuild_package_filename}" > $build_dir/llphysicsextensions_package
fi
else
- echo "Do not provide llphysicsextensions_tpv for $variant"
+ record_event "Do not provide llphysicsextensions_tpv for $variant"
llphysicsextensions_package=""
fi
end_section "PhysicsExtensions_TPV"
@@ -146,16 +146,15 @@ build()
local variant="$1"
if $build_viewer
then
- begin_section "Viewer$variant"
-
"$autobuild" build --no-configure -c $variant
build_ok=$?
- end_section "Viewer$variant"
# Run build extensions
if [ $build_ok -eq 0 -a -d ${build_dir}/packages/build-extensions ]; then
for extension in ${build_dir}/packages/build-extensions/*.sh; do
+ begin_section "Extension $extension"
. $extension
+ end_section "Extension $extension"
if [ $build_ok -ne 0 ]; then
break
fi
@@ -174,28 +173,6 @@ build()
fi
}
-# This is called from the branch independent script upon completion of all platform builds.
-build_docs()
-{
- begin_section "Building Documentation"
- begin_section "Autobuild metadata"
- if [ -r "$build_dir/autobuild-package.xml" ]
- then
- upload_item docs "$build_dir/autobuild-package.xml" text/xml
- else
- record_event "no metadata at '$build_dir/autobuild-package.xml'"
- fi
- end_section "Autobuild metadata"
- if [ "$arch" != "Linux" ]
- then
- record_dependencies_graph # defined in build.sh
- else
- echo "TBD - skipping linux graph (probable python version dependency)" 1>&2
- fi
- end_section "Building Documentation"
-}
-
-
# Check to see if we were invoked from the wrapper, if not, re-exec ourselves from there
if [ "x$arch" = x ]
then
@@ -207,7 +184,7 @@ then
cat <<EOF
This script, if called in a development environment, requires that the branch
independent build script repository be checked out next to this repository.
-This repository is located at http://hg.lindenlab.com/parabuild/buildscripts
+This repository is located at http://bitbucket.org/lindenlabinternal/sl-buildscripts
EOF
exit 1
fi
@@ -246,70 +223,54 @@ do
# Only the last built arch is available for upload
last_built_variant="$variant"
- begin_section "Do$variant"
+ begin_section "$variant"
build_dir=`build_dir_$arch $variant`
build_dir_stubs="$build_dir/win_setup/$variant"
- begin_section "PreClean"
+ begin_section "Initialize Build Directory"
rm -rf "$build_dir"
- end_section "PreClean"
-
mkdir -p "$build_dir"
mkdir -p "$build_dir/tmp"
+ end_section "Initialize Build Directory"
if pre_build "$variant" "$build_dir" >> "$build_log" 2>&1
then
- if $build_link_parallel
- then
- begin_section BuildParallel
- ( build "$variant" "$build_dir" > "$build_dir/build.log" 2>&1 ) &
- build_processes="$build_processes $!"
- end_section BuildParallel
- else
- begin_section "Build$variant"
+ begin_section "Build $variant"
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.
+ if [ "$variant" == "Release" ]
+ then
+ if [ -r "$build_dir/autobuild-package.xml" ]
+ then
+ begin_section "Autobuild metadata"
+ upload_item docs "$build_dir/autobuild-package.xml" text/xml
+ if [ "$arch" != "Linux" ]
+ then
+ record_dependencies_graph # defined in buildscripts/hg/bin/build.sh
+ else
+ record_event "no dependency graph for linux (probable python version dependency)" 1>&2
+ fi
+ end_section "Autobuild metadata"
+ else
+ record_event "no autobuild metadata at '$build_dir/autobuild-package.xml'"
+ fi
+ else
+ record_event "do not record autobuild metadata for $variant"
+ fi
else
- record_failure "Build of \"$variant\" failed."
+ record_failure "Build of \"$variant\" failed."
fi
- end_section "Build$variant"
- fi
- else
- record_failure "Build Prep for \"$variant\" failed."
+ end_section "Build $variant"
+ fi
+ end_section "$variant"
+ if ! $succeeded
+ then
+ record_event "remaining variants skipped due to $variant failure"
+ break
fi
- end_section "Do$variant"
done
-build_docs
-
-# If we are building variants in parallel, wait, then collect results.
-# This requires that the build dirs are variant specific
-if $build_link_parallel && [ x"$build_processes" != x ]
-then
- begin_section WaitParallel
- wait $build_processes
- for variant in $variants
- do
- eval '$build_'"$variant" || continue
- eval '$build_'"$arch"_"$variant" || continue
-
- 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" | sed -n 's/^ *\(##teamcity.*\)/\1/p'
- if `cat "$build_dir/build_ok"`
- then
- echo so far so good.
- else
- record_failure "Parallel build of \"$variant\" failed."
- fi
- end_section "Build$variant"
- done
- end_section WaitParallel
-fi
-
# build debian package
if [ "$arch" == "Linux" ]
then
@@ -376,7 +337,7 @@ then
end_section "Upload Debian Repository"
else
- echo skipping debian build
+ echo debian build not enabled
fi
else
echo skipping debian build due to failed build.
@@ -446,7 +407,9 @@ then
# Run upload extensions
if [ -d ${build_dir}/packages/upload-extensions ]; then
for extension in ${build_dir}/packages/upload-extensions/*.sh; do
+ begin_section "Upload Extenstion $extension"
. $extension
+ end_section "Upload Extenstion $extension"
done
fi