You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by se...@apache.org on 2015/03/16 23:54:44 UTC

incubator-reef git commit: [REEF-205] Add Org.Apache.REEF.Bridge.JAR

Repository: incubator-reef
Updated Branches:
  refs/heads/master f47abcf59 -> 352f090eb


[REEF-205] Add Org.Apache.REEF.Bridge.JAR

This adds a new project to the .NET solution:
`Org.Apache.REEF.Bridge.JAR`. Upon build, it checks whether the shaded
jar for `reef-bridge-java` exists. If not, it will be built. The build
will fail if M2_HOME isn't set and copying the JAR to the output folder.

Also, this PR adds the shaded jar to `reef-bridge-java`.

JIRA:
  [REEF-205](https://issues.apache.org/jira/browse/REEF-205)

Pull Request:
  This closes #114

Author:    Markus Weimer <we...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/352f090e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/352f090e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/352f090e

Branch: refs/heads/master
Commit: 352f090ebc845c824e774fd6544878175e281877
Parents: f47abcf
Author: Markus Weimer <we...@apache.org>
Authored: Mon Mar 16 14:17:45 2015 -0700
Committer: Beysim Sezgin <be...@microsoft.com>
Committed: Mon Mar 16 15:51:27 2015 -0700

----------------------------------------------------------------------
 .../Org.Apache.REEF.Bridge.JAR.csproj           | 55 ++++++++++++++++++++
 lang/cs/Org.Apache.REEF.sln                     | 10 +++-
 lang/cs/build.props                             |  6 +++
 lang/java/reef-bridge-java/pom.xml              | 29 +++++++++++
 4 files changed, 99 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/352f090e/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
new file mode 100644
index 0000000..36b5f28
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Bridge.JAR/Org.Apache.REEF.Bridge.JAR.csproj
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+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.
+-->
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
+  <PropertyGroup>
+    <!--Set configuration parameters usually set in the Solution. This is needed for build.props to work.-->
+    <SolutionDir Condition="'$(SolutionDir)' == ''">$([System.IO.Path]::GetFullPath($(MSBuildProjectDirectory)\..))</SolutionDir>
+    <Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
+    <Platform Condition="'$(Platform)' == ''">x64</Platform>
+    <RootNameSpace>$(MSBuildProjectName)</RootNameSpace>
+  </PropertyGroup>
+  <Import Project="..\build.props" />
+  <PropertyGroup>
+    <!--The folder where the REEF sources have been checked out to.-->
+    <REEF_Source_Folder>$([System.IO.Path]::GetFullPath($(MSBuildProjectDirectory)\..\..\..))</REEF_Source_Folder>
+    <!--The shaded jar of the bridge -->
+    <Bridge_JAR_Name>reef-bridge-java-$(REEF_Version)-shaded.jar</Bridge_JAR_Name>
+    <Bridge_JAR>$(REEF_Source_Folder)\lang\java\reef-bridge-java\target\$(Bridge_JAR_Name)</Bridge_JAR>
+    <!--The destination folder where to put the JAR file -->
+  </PropertyGroup>
+  
+  <Target Name="CheckMavenInstall">
+    <!--Check that maven is installed-->
+    <Error Condition=" '$(M2_HOME)' == '' " Text="$M2_HOME is not set. Please make sure that Maven is installed and configured. See https://cwiki.apache.org/confluence/display/REEF/Compiling+REEF for details." />
+    <Message Text="Using the maven installation found in $(M2_HOME)" />
+  </Target>
+  <!--
+    Executes 'mvn install', if the JAR does not exist.
+  -->
+  <Target Name="Build" DependsOnTargets="CheckMavenInstall">
+    <Exec Command="$(M2_HOME)\bin\mvn -TC1 -DskipTests install" Condition="!Exists('$(Bridge_JAR)')" WorkingDirectory="$(REEF_Source_Folder)" />
+    <Copy DestinationFolder="$(OutputPath)" SourceFiles="$(Bridge_JAR)"/>
+  </Target>
+  <!--
+    Executes 'mvn clean', if the JAR exists.
+  -->
+  <Target Name="Clean" DependsOnTargets="CheckMavenInstall">
+    <Exec Command="$(M2_HOME)\bin\mvn -TC1 -DskipTests clean" Condition="Exists('$(Bridge_JAR)')" WorkingDirectory="$(REEF_Source_Folder)" />
+    <Delete Files="$(OutputPath)\$(Bridge_JAR_Name)" />
+  </Target>
+</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/352f090e/lang/cs/Org.Apache.REEF.sln
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.sln b/lang/cs/Org.Apache.REEF.sln
index d0c3d00..40ac1ca 100644
--- a/lang/cs/Org.Apache.REEF.sln
+++ b/lang/cs/Org.Apache.REEF.sln
@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
+VisualStudioVersion = 12.0.31101.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{2B7EE9D5-CA54-4204-B89D-B48A7FC6E3CD}"
 	ProjectSection(SolutionItems) = preProject
@@ -42,6 +42,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Examples",
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Common.Tests", "Org.Apache.REEF.Common.Tests\Org.Apache.REEF.Common.Tests.csproj", "{F1A3495C-2CBD-4F3B-AEDC-9C1A43D9F238}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Bridge.JAR", "Org.Apache.REEF.Bridge.JAR\Org.Apache.REEF.Bridge.JAR.csproj", "{62905C7C-1A7E-4923-B78D-1BF42D7FAD40}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -176,6 +178,12 @@ Global
 		{F1A3495C-2CBD-4F3B-AEDC-9C1A43D9F238}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{F1A3495C-2CBD-4F3B-AEDC-9C1A43D9F238}.Release|Any CPU.Build.0 = Release|Any CPU
 		{F1A3495C-2CBD-4F3B-AEDC-9C1A43D9F238}.Release|x64.ActiveCfg = Release|Any CPU
+		{62905C7C-1A7E-4923-B78D-1BF42D7FAD40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{62905C7C-1A7E-4923-B78D-1BF42D7FAD40}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{62905C7C-1A7E-4923-B78D-1BF42D7FAD40}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{62905C7C-1A7E-4923-B78D-1BF42D7FAD40}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{62905C7C-1A7E-4923-B78D-1BF42D7FAD40}.Release|Any CPU.Build.0 = Release|Any CPU
+		{62905C7C-1A7E-4923-B78D-1BF42D7FAD40}.Release|x64.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/352f090e/lang/cs/build.props
----------------------------------------------------------------------
diff --git a/lang/cs/build.props b/lang/cs/build.props
index 5a3c9a6..cfbc6a6 100644
--- a/lang/cs/build.props
+++ b/lang/cs/build.props
@@ -70,6 +70,12 @@ under the License.
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
 
+  <!-- REEF Version -->
+  <PropertyGroup>
+    <!--TODO: Fetch this from the POM-->
+    <REEF_Version>0.11.0-incubating-SNAPSHOT</REEF_Version>
+  </PropertyGroup>
+  
   <!-- REEF NuGet properties -->
   <PropertyGroup>
     <IsSnapshot>true</IsSnapshot>

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/352f090e/lang/java/reef-bridge-java/pom.xml
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/pom.xml b/lang/java/reef-bridge-java/pom.xml
index e93274d..4a77f7c 100644
--- a/lang/java/reef-bridge-java/pom.xml
+++ b/lang/java/reef-bridge-java/pom.xml
@@ -84,6 +84,35 @@ under the License.
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <outputFile>
+                        ${project.build.directory}/${project.artifactId}-${project.version}-shaded.jar
+                    </outputFile>
+                    <filters>
+                        <filter>
+                            <artifact>*:*</artifact>
+                            <excludes>
+                                <exclude>yarn-default.xml</exclude>
+                                <exclude>yarn-version-info.properties</exclude>
+                                <exclude>core-default.xml</exclude>
+                                <exclude>LICENSE</exclude>
+                                <exclude>META-INF/*</exclude>
+                            </excludes>
+                        </filter>
+                    </filters>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-antrun-plugin</artifactId>
                 <executions>
                     <execution>