From 00ce259c01a8206c07cf47f4c5548f6f8d45e01b Mon Sep 17 00:00:00 2001 From: yfakariya Date: Thu, 4 May 2017 01:29:11 +0900 Subject: [PATCH 1/4] Fix Android SDK related build scripts. AppVeyor now locates Android SDK under %ProgramFiles(x86)%Android, and the directory cannot be accessed from powershell. So, this commit change android.bat path and its execution source. --- appveyor-debug.yml | 19 ++++--------------- appveyor-release.yml | 19 ++++--------------- build/UpdateAndroidSdk.cmd | 2 +- 3 files changed, 9 insertions(+), 31 deletions(-) diff --git a/appveyor-debug.yml b/appveyor-debug.yml index 9e615f46b..e57e8049c 100644 --- a/appveyor-debug.yml +++ b/appveyor-debug.yml @@ -2,31 +2,20 @@ version: '{branch}-{build}' image: Visual Studio 2017 skip_tags: true configuration: Debug -init: -- cmd: >- - cd \ - - appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.4.1-windows.zip - - 7z x android-sdk_r24.4.1-windows.zip > nul - - cd %APPVEYOR_BUILD_FOLDER% assembly_info: patch: true file: '**\*AssemblyInfo.cs' assembly_version: $(AssemblyBaseVersion).0 assembly_file_version: $(AssemblyBaseVersion).{build} assembly_informational_version: $(PackageVersion) -environment: - ANDROID_HOME: C:\android-sdk-windows install: -- ps: >- - cd ./build +- cmd: >- + cd .\build + UpdateAndroidSdk.cmd +- ps: >- ./SetBuildEnv.ps1 - ./UpdateAndroidSdk.cmd - cd .. build_script: - ps: >- diff --git a/appveyor-release.yml b/appveyor-release.yml index 598ce2e36..f19d66fea 100644 --- a/appveyor-release.yml +++ b/appveyor-release.yml @@ -5,31 +5,20 @@ branches: - master - 0.7 configuration: Release -init: -- cmd: >- - cd \ - - appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.4.1-windows.zip - - 7z x android-sdk_r24.4.1-windows.zip > nul - - cd %APPVEYOR_BUILD_FOLDER% assembly_info: patch: true file: '**\*AssemblyInfo.cs' assembly_version: $(AssemblyBaseVersion).0 assembly_file_version: $(AssemblyBaseVersion).{build} assembly_informational_version: $(PackageVersion) -environment: - ANDROID_HOME: C:\android-sdk-windows install: -- ps: >- - cd ./build +- cmd: >- + cd .\build + UpdateAndroidSdk.cmd +- ps: >- ./SetBuildEnv.ps1 - ./UpdateAndroidSdk.cmd - cd .. build_script: - ps: >- diff --git a/build/UpdateAndroidSdk.cmd b/build/UpdateAndroidSdk.cmd index 25f2504a3..0e0d27807 100644 --- a/build/UpdateAndroidSdk.cmd +++ b/build/UpdateAndroidSdk.cmd @@ -1 +1 @@ -echo y | "%ANDROID_HOME%/tools/android.bat" --silent update sdk --no-ui --all --filter android-10,android-23,platform-tools,tools,build-tools-23.0.3 +echo y | "%ProgramFiles(x86)%\Android\android-sdk\tools\android.bat" --silent update sdk --no-ui --all --filter android-10,platform-tools,tools,build-tools-23.0.3 From 1cce6bfed900ecd6ecfd36955616608f31871d11 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Thu, 4 May 2017 01:31:07 +0900 Subject: [PATCH 2/4] Improve build script robustness. Add error check as long as possible. Note that install script does not have error check because it cannot stop build process even if it returns non-zero exit code. --- appveyor-debug.yml | 8 ++++++-- appveyor-release.yml | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/appveyor-debug.yml b/appveyor-debug.yml index e57e8049c..6552638c2 100644 --- a/appveyor-debug.yml +++ b/appveyor-debug.yml @@ -25,11 +25,15 @@ build_script: ./Build.ps1 + if ( $LastExitCode -ne 0 ) + { + Write-Error "Failed to build." + exit 1 + } + cd .. test_script: - cmd: >- cd ./build ./RunUnitTests.cmd - - cd .. diff --git a/appveyor-release.yml b/appveyor-release.yml index f19d66fea..199e68758 100644 --- a/appveyor-release.yml +++ b/appveyor-release.yml @@ -28,12 +28,36 @@ build_script: ./Build.ps1 + if ( $LastExitCode -ne 0 ) + { + Write-Error "Failed to build." + exit 1 + } + appveyor PushArtifact "../dist/MsgPack.Cli.${env:PackageVersion}.nupkg" + if ( $LastExitCode -ne 0 ) + { + Write-Error "Failed to publish nupkg." + exit 1 + } + appveyor PushArtifact "../dist/MsgPack.Cli.${env:PackageVersion}.symbols.nupkg" + if ( $LastExitCode -ne 0 ) + { + Write-Error "Failed to publish symbol nupkg." + exit 1 + } + appveyor PushArtifact "../dist/MsgPack.Cli.${env:PackageVersion}.zip" + if ( $LastExitCode -ne 0 ) + { + Write-Error "Failed to publish zip." + exit 1 + } + cd .. deploy: - provider: Environment From 9e6c43c8c870946ebb7e805e1e0aab8c4e4e4b24 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Thu, 4 May 2017 01:31:19 +0900 Subject: [PATCH 3/4] Add target release branches. --- appveyor-release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appveyor-release.yml b/appveyor-release.yml index 199e68758..131a306fe 100644 --- a/appveyor-release.yml +++ b/appveyor-release.yml @@ -4,6 +4,8 @@ branches: only: - master - 0.7 + - 0.8 + - 0.9 configuration: Release assembly_info: patch: true From 08176f1b2e8450ca9bcf15f18a3765e1e78f9abd Mon Sep 17 00:00:00 2001 From: yfakariya Date: Thu, 4 May 2017 02:02:07 +0900 Subject: [PATCH 4/4] Add symbol package with source code build. --- MsgPack.nuspec | 2 ++ build/Build.ps1 | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/MsgPack.nuspec b/MsgPack.nuspec index 8a6682537..3a4062a4f 100644 --- a/MsgPack.nuspec +++ b/MsgPack.nuspec @@ -86,5 +86,7 @@ This package provides MessagePack serialization/deserialization APIs. This pacak + + \ No newline at end of file diff --git a/build/Build.ps1 b/build/Build.ps1 index ab4723f6d..004ac4190 100644 --- a/build/Build.ps1 +++ b/build/Build.ps1 @@ -147,7 +147,7 @@ if ( $LastExitCode -ne 0 ) if ( $buildConfig -eq 'Release' ) { - & $msbuild ../src/MsgPack/MsgPack.csproj /t:pack /p:Configuration=$buildConfig /p:NuspecProperties=version=$env:PackageVersion + & $msbuild ../src/MsgPack/MsgPack.csproj /t:pack /p:Configuration=$buildConfig /p:IncludeSymbols=true /p:IncludeSource=true /p:NuspecProperties=version=$env:PackageVersion Move-Item ../bin/*.nupkg ../dist/ Copy-Item ../bin/* ./MsgPack-CLI/ -Recurse -Exclude @("*.vshost.*")