Repository: reef Updated Branches: refs/heads/master 5123659da -> 0b00f9587
[REEF-111] Provide continuous integration for the .NET code This change: * adds configuration for building and testing .NET code in AppVeyor * converts Java build in .NET code to quiet mode to reduce logs * updates change_version.py to include version in appveyor.yml JIRA: [REEF-111](https://issues.apache.org/jira/browse/REEF-111) Pull request: This closes #883 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/0b00f958 Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/0b00f958 Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/0b00f958 Branch: refs/heads/master Commit: 0b00f9587d7cb6476d09f0b11d4c17f948ea13c8 Parents: 5123659 Author: Mariia Mykhailova <[email protected]> Authored: Wed Feb 24 12:35:17 2016 -0800 Committer: Dongjoon Hyun <[email protected]> Committed: Wed Mar 9 14:33:30 2016 -0800 ---------------------------------------------------------------------- appveyor.yml | 41 ++++++++++++ dev/appveyor-install-dependencies.ps1 | 65 ++++++++++++++++++++ .../Org.Apache.REEF.Bridge.JAR.csproj | 4 +- 3 files changed, 108 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/0b00f958/appveyor.yml ---------------------------------------------------------------------- diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..000c86e --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,41 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: "{build}-{branch}" + +shallow_clone: true + +platform: x64 +configuration: Debug + +cache: + - .\lang\cs\packages + - C:\Users\appveyor\.m2 + +# install section: install maven, protoc etc. +install: + - ps: .\dev\appveyor-install-dependencies.ps1 + +build_script: + - cmd: msbuild .\lang\cs\Org.Apache.REEF.sln /p:Configuration="Debug" /p:Platform="x64" /m + +test_script: + - cmd: msbuild .\lang\cs\TestRunner.proj /p:Configuration="Debug" /p:Platform="x64" + +notifications: + - provider: Email + on_build_success: false + on_build_failure: false + on_build_status_changed: false http://git-wip-us.apache.org/repos/asf/reef/blob/0b00f958/dev/appveyor-install-dependencies.ps1 ---------------------------------------------------------------------- diff --git a/dev/appveyor-install-dependencies.ps1 b/dev/appveyor-install-dependencies.ps1 new file mode 100644 index 0000000..eb23090 --- /dev/null +++ b/dev/appveyor-install-dependencies.ps1 @@ -0,0 +1,65 @@ +<# +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +#> + +# create tools directory outside of REEF directory +$up = (Get-Item -Path ".." -Verbose).FullName +$tools = "$up\tools" +if (!(Test-Path $tools)) +{ + New-Item -ItemType Directory -Force -Path $tools | Out-Null +} + +# ========================== maven +Push-Location $tools + +$mavenVer = "3.3.3" +Start-FileDownload "https://archive.apache.org/dist/maven/maven-3/$mavenVer/binaries/apache-maven-$mavenVer-bin.zip" "maven.zip" + +# extract +Invoke-Expression "7z.exe x maven.zip" | Out-Null + +# add maven to environment variables +$env:Path += ";$tools\apache-maven-$mavenVer\bin" +$env:M2_HOME = "$tools\apache-maven-$mavenVer" + +Pop-Location + +# ========================== protoc +$protocVer = "2.5.0" +$protocPath = "$tools\protoc-$protocVer" +if (!(Test-Path $protocPath)) +{ + New-Item -ItemType Directory -Force -Path $protocPath | Out-Null +} +Push-Location $protocPath + +Start-FileDownload "https://github.com/google/protobuf/releases/download/v$protocVer/protoc-$protocVer-win32.zip" "protoc.zip" + +# extract +Invoke-Expression "7z.exe x protoc.zip" | Out-Null + +# add protoc to environment variables +$env:Path += ";$protocPath" + +Pop-Location + +# ========================== xUnit console runner +$root = (Get-Item -Path "." -Verbose).FullName +$packages = "$root\lang\cs\packages" +Invoke-Expression "nuget install .\lang\cs\.nuget\packages.config -o $packages" http://git-wip-us.apache.org/repos/asf/reef/blob/0b00f958/lang/cs/Org.Apache.REEF.Bridge.JAR/Org.Apache.REEF.Bridge.JAR.csproj ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge.JAR/Org.Apache.REEF.Bridge.JAR.csproj b/lang/cs/Org.Apache.REEF.Bridge.JAR/Org.Apache.REEF.Bridge.JAR.csproj index ec6c5e7..7a1ac39 100644 --- a/lang/cs/Org.Apache.REEF.Bridge.JAR/Org.Apache.REEF.Bridge.JAR.csproj +++ b/lang/cs/Org.Apache.REEF.Bridge.JAR/Org.Apache.REEF.Bridge.JAR.csproj @@ -63,7 +63,7 @@ under the License. <Client_JAR_Name>reef-bridge-client-$(REEF_Version)-shaded.jar</Client_JAR_Name> <Client_JAR>$(REEF_Source_Folder)\lang\java\reef-bridge-client\target\$(Client_JAR_Name)</Client_JAR> </PropertyGroup> - <Exec Command='call "$(M2_HOME)\bin\mvn.cmd" --projects lang/java/reef-bridge-java,lang/java/reef-bridge-client --also-make -TC1 -DskipTests -P!code-quality install' Condition="!Exists('$(Bridge_JAR)')" WorkingDirectory="$(REEF_Source_Folder)" /> + <Exec Command='call "$(M2_HOME)\bin\mvn.cmd" --projects lang/java/reef-bridge-java,lang/java/reef-bridge-client --also-make -TC1 -DskipTests -P!code-quality -q install' Condition="!Exists('$(Bridge_JAR)')" WorkingDirectory="$(REEF_Source_Folder)" /> <Copy DestinationFolder="$(OutputPath)" SourceFiles="$(Bridge_JAR)" /> <Copy DestinationFolder="$(OutputPath)" SourceFiles="$(Client_JAR)" /> </Target> @@ -79,7 +79,7 @@ under the License. <Client_JAR_Name>reef-bridge-client-$(REEF_Version)-shaded.jar</Client_JAR_Name> <Client_JAR>$(REEF_Source_Folder)\lang\java\reef-bridge-client\target\$(Client_JAR_Name)</Client_JAR> </PropertyGroup> - <Exec Command='call "$(M2_HOME)\bin\mvn.cmd" -TC1 -DskipTests clean' Condition="Exists('$(Bridge_JAR)')" WorkingDirectory="$(REEF_Source_Folder)" /> + <Exec Command='call "$(M2_HOME)\bin\mvn.cmd" -TC1 -DskipTests -q clean' Condition="Exists('$(Bridge_JAR)')" WorkingDirectory="$(REEF_Source_Folder)" /> <Delete Files="$(OutputPath)\$(Bridge_JAR_Name)" /> <Delete Files="$(OutputPath)\$(Client_JAR_Name)" />
