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)" />
 

Reply via email to