From 74847cc9ecfedd2a241bd461df462801e15ea796 Mon Sep 17 00:00:00 2001 From: alhardy Date: Thu, 1 Jun 2017 20:52:31 +1000 Subject: [PATCH] travis build fix --- .travis.yml | 16 ++++---- build.cake | 17 ++++++-- build.sh | 32 ++++++++++++++- build_travis.sh | 101 ------------------------------------------------ 4 files changed, 54 insertions(+), 112 deletions(-) delete mode 100755 build_travis.sh diff --git a/.travis.yml b/.travis.yml index 039b347..f8cd793 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,12 +4,14 @@ notifications: - al_hardy@live.com.au language: csharp -# dotnet: 1.0.0-preview2-003131 +dotnet: 1.0.4 os: - - osx +# - osx - linux +before_script: + - chmod a+x ./build.sh script: - - ./build_travis.sh + - ./build.sh # .NET CLI require Ubuntu 14.04 sudo: required @@ -24,11 +26,11 @@ addons: - libunwind8 # .NET CLI require OSX 10.10 -osx_image: xcode7.1 -before_install: - - if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi +# osx_image: xcode7.1 +# before_install: +# - if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi -mono: +mono: - 4.6.0 cache: diff --git a/build.cake b/build.cake index df90b6e..4accd7d 100644 --- a/build.cake +++ b/build.cake @@ -59,7 +59,17 @@ var openCoverExcludeFile = "*/*Designer.cs;*/*.g.cs;*/*.g.i.cs"; var coverIncludeFilter = "+:App.Metrics*"; var coverExcludeFilter = "-:*.Facts"; var excludeFromCoverage = "*.AppMetricsExcludeFromCodeCoverage*"; -var versionSuffix = !string.IsNullOrEmpty(preReleaseSuffix) ? preReleaseSuffix + "-" + buildNumber.ToString("D4") : !AppVeyor.Environment.Repository.Tag.IsTag ? buildNumber.ToString("D4") : null; +string versionSuffix = null; + +if (!string.IsNullOrEmpty(preReleaseSuffix)) +{ + versionSuffix = preReleaseSuffix + "-" + buildNumber.ToString("D4"); +} + else if (AppVeyor.IsRunningOnAppVeyor && !AppVeyor.Environment.Repository.Tag.IsTag) + { + versionSuffix = buildNumber.ToString("D4"); + } + ////////////////////////////////////////////////////////////////////// // TASKS @@ -123,7 +133,8 @@ Task("Build") Context.Information("Building using versionSuffix: " + versionSuffix); // Workaround to fixing pre-release version package references - https://github.com/NuGet/Home/issues/4337 - settings.ArgumentCustomization = args=>args.Append("/t:Restore /p:RestoreSources=" + @"""C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\""" + ";https://api.nuget.org/v3/index.json;https://www.myget.org/F/alhardy/api/v3/index.json;"); + settings.ArgumentCustomization = args=>args.Append("/t:Restore /p:RestoreSources=https://api.nuget.org/v3/index.json;https://www.myget.org/F/alhardy/api/v3/index.json;"); + if (IsRunningOnWindows()) { @@ -232,7 +243,7 @@ Task("RunTests") }); Task("HtmlCoverageReport") - .WithCriteria(() => FileExists(testOCoverageOutputFilePath) && coverWith != "None" && IsRunningOnWindows() && !skipHtmlCoverageReport) + .WithCriteria(() => IsRunningOnWindows() && FileExists(testOCoverageOutputFilePath) && coverWith != "None" && !skipHtmlCoverageReport) .IsDependentOn("RunTests") .Does(() => { diff --git a/build.sh b/build.sh index 04731ad..72dffeb 100644 --- a/build.sh +++ b/build.sh @@ -9,10 +9,14 @@ # Define directories. SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) TOOLS_DIR=$SCRIPT_DIR/tools +ADDINS_DIR=$TOOLS_DIR/Addins +MODULES_DIR=$TOOLS_DIR/Modules NUGET_EXE=$TOOLS_DIR/nuget.exe CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe PACKAGES_CONFIG=$TOOLS_DIR/packages.config PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum +ADDINS_PACKAGES_CONFIG=$ADDINS_DIR/packages.config +MODULES_PACKAGES_CONFIG=$MODULES_DIR/packages.config # Define md5sum or md5 depending on Linux/OSX MD5_EXE= @@ -79,7 +83,7 @@ fi mono "$NUGET_EXE" install -ExcludeVersion if [ $? -ne 0 ]; then - echo "Could not restore NuGet packages." + echo "Could not restore NuGet tools." exit 1 fi @@ -87,6 +91,32 @@ $MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' >| "$PACKAGES_CONFIG_MD5" popd >/dev/null +# Restore addins from NuGet. +if [ -f "$ADDINS_PACKAGES_CONFIG" ]; then + pushd "$ADDINS_DIR" >/dev/null + + mono "$NUGET_EXE" install -ExcludeVersion + if [ $? -ne 0 ]; then + echo "Could not restore NuGet addins." + exit 1 + fi + + popd >/dev/null +fi + +# Restore modules from NuGet. +if [ -f "$MODULES_PACKAGES_CONFIG" ]; then + pushd "$MODULES_DIR" >/dev/null + + mono "$NUGET_EXE" install -ExcludeVersion + if [ $? -ne 0 ]; then + echo "Could not restore NuGet modules." + exit 1 + fi + + popd >/dev/null +fi + # Make sure that Cake has been installed. if [ ! -f "$CAKE_EXE" ]; then echo "Could not find Cake.exe at '$CAKE_EXE'." diff --git a/build_travis.sh b/build_travis.sh deleted file mode 100755 index ffb2fea..0000000 --- a/build_travis.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env bash -########################################################################## -# This is the Cake bootstrapper script for Linux and OS X. -# This file was downloaded from https://github.com/cake-build/resources -# Feel free to change this file to fit your needs. -########################################################################## - -# Define directories. -SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) -TOOLS_DIR=$SCRIPT_DIR/tools -NUGET_EXE=$TOOLS_DIR/nuget.exe -NUGET_URL=https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -CAKE_VERSION=0.18.0 -CAKE_EXE=$TOOLS_DIR/Cake.$CAKE_VERSION/Cake.exe - -# Define default arguments. -TARGET="Default" -CONFIGURATION="Release" -VERBOSITY="verbose" -DRYRUN= -SCRIPT_ARGUMENTS=() - -# Parse arguments. -for i in "$@"; do - case $1 in - -t|--target) TARGET="$2"; shift ;; - -c|--configuration) CONFIGURATION="$2"; shift ;; - -v|--verbosity) VERBOSITY="$2"; shift ;; - -d|--dryrun) DRYRUN="-dryrun" ;; - --) shift; SCRIPT_ARGUMENTS+=("$@"); break ;; - *) SCRIPT_ARGUMENTS+=("$1") ;; - esac - shift -done - -# Make sure the tools folder exist. -if [ ! -d "$TOOLS_DIR" ]; then - mkdir "$TOOLS_DIR" -fi - -########################################################################### -# INSTALL .NET CORE CLI -########################################################################### - -#echo "Installing .NET CLI..." -if [ ! -d "$SCRIPT_DIR/.dotnet" ]; then - mkdir "$SCRIPT_DIR/.dotnet" -fi -#curl -Lsfo "$SCRIPT_DIR/.dotnet/dotnet-install.sh" https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0-preview2/scripts/obtain/dotnet-install.sh -#curl -Lsfo "$SCRIPT_DIR/.dotnet/dotnet-install.sh" https://raw.githubusercontent.com/dotnet/cli/v1.0.0-preview2-1-3177/scripts/obtain/dotnet-install.sh -curl -Lsfo "$SCRIPT_DIR/.dotnet/dotnet-install.sh" https://raw.githubusercontent.com/dotnet/cli/rel/1.0.1/scripts/obtain/dotnet-install.sh - -#sudo bash "$SCRIPT_DIR/.dotnet/dotnet-install.sh" --install-dir .dotnet --no-path -#sudo bash "$SCRIPT_DIR/.dotnet/dotnet-install.sh" --version 1.0.0-preview2-003121 --install-dir .dotnet --no-path - -sudo bash "$SCRIPT_DIR/.dotnet/dotnet-install.sh" --version 1.0.1 --install-dir .dotnet --no-path -export PATH="$SCRIPT_DIR/.dotnet":$PATH -export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 -export DOTNET_CLI_TELEMETRY_OPTOUT=1 - -"$SCRIPT_DIR/.dotnet/dotnet" -"$SCRIPT_DIR/.dotnet/dotnet" --info - -########################################################################### -# INSTALL NUGET -########################################################################### - -# Download NuGet if it does not exist. -if [ ! -f "$NUGET_EXE" ]; then - echo "Downloading NuGet..." - curl -Lsfo "$NUGET_EXE" $NUGET_URL - if [ $? -ne 0 ]; then - echo "An error occured while downloading nuget.exe." - exit 1 - fi -fi - -########################################################################### -# INSTALL CAKE -########################################################################### - -if [ ! -f "$CAKE_EXE" ]; then - mono "$NUGET_EXE" install Cake -Version $CAKE_VERSION -OutputDirectory "$TOOLS_DIR" - if [ $? -ne 0 ]; then - echo "An error occured while installing Cake." - exit 1 - fi -fi - -# Make sure that Cake has been installed. -if [ ! -f "$CAKE_EXE" ]; then - echo "Could not find Cake.exe at '$CAKE_EXE'." - exit 1 -fi - -########################################################################### -# RUN BUILD SCRIPT -########################################################################### - -# Start Cake -exec mono "$CAKE_EXE" build.cake --verbosity=$VERBOSITY --configuration=$CONFIGURATION --target=$TARGET $DRYRUN "${SCRIPT_ARGUMENTS[@]}" \ No newline at end of file