Repository: reef Updated Branches: refs/heads/master f3c1a5c3f -> 4941eb604
[REEF-1275] Move build/test instructions from wiki to Github This change creates BUILD.md files with build/test instructions for Java and .NET and updates project's README.md to reference them. JIRA: [REEF-1275](https://issues.apache.org/jira/browse/REEF-1275) Pull request: This closes #907 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/4941eb60 Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/4941eb60 Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/4941eb60 Branch: refs/heads/master Commit: 4941eb60411d4b57d269004bb8f4907fce2a8822 Parents: f3c1a5c Author: Mariia Mykhailova <[email protected]> Authored: Mon Mar 28 11:09:25 2016 -0700 Committer: Markus Weimer <[email protected]> Committed: Mon Mar 28 17:45:03 2016 -0700 ---------------------------------------------------------------------- README.md | 56 +++-------------------------------- lang/cs/BUILD.md | 44 +++++++++++++++++++++++++++ lang/java/BUILD.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 52 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/4941eb60/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md index ec8ad8a..55270c8 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,7 @@ Hadoop. Online Documentation ==================== -This file will cover the very basics of compiling and testing -REEF. Much more detailed information can be found in the following -places: +Detailed information on REEF can be found in the following places: * [The project website](http://reef.apache.org/) * [The project wiki](https://cwiki.apache.org/confluence/display/REEF/Home) @@ -26,53 +24,7 @@ sufficient. Building REEF ============= -Requirements ------------- +| | Java | .NET | +|---|:------:|:----:| +|Build & run unit tests| [java\BUILD.md](lang/java/BUILD.md) | [cs\BUILD.md](lang/cs/BUILD.md) | - * Java 7 Development Kit. - * [Apache Maven](http://maven.apache.org) 3.3 or newer. Make sure that - `mvn` is in your `PATH`. - * [Protocol Buffers](https://code.google.com/p/protobuf/) Compiler - version 2.5. Make sure that `protoc` is on your `PATH`. - * For REEF.NET, you will also need [Visual Studio] - (http://www.visualstudio.com), preferably Version 2015 (2013 is still - supported). Most REEF developers use the free Community Edition. - -REEF Java ---------- -The Java side of REEF is built using Apache Maven. To build, execute: - - mvn -DskipTests clean install - -To test, execute: - - mvn test - -Note that the tests will take several minutes to complete. You will -also see stack traces fly by. Not to worry: those are part of the -tests that test REEF's error reporting. - -REEF.NET --------- -REEF.NET uses REEF Java. In fact, the instructions below build REEF -Java as part of building REEF.NET. Hence, the same requirements apply. - -To build and test in Visual Studio, open -`lang\cs\Org.Apache.REEF.sln`. - -Alternatively, you can build REEF.NET from a developer command line -via: - - msbuild .\lang\cs\Org.Apache.REEF.sln - -To test, execute the following command thereafter: - - msbuild .\lang\cs\TestRunner.proj - -Additional Information ----------------------- -More detailed documentation, including building from PowerShell and -creating NuGets is available from the [project -wiki](https://cwiki.apache.org/confluence/display/REEF/Home), -specifically the [building -instructions](https://cwiki.apache.org/confluence/display/REEF/Compiling+REEF). http://git-wip-us.apache.org/repos/asf/reef/blob/4941eb60/lang/cs/BUILD.md ---------------------------------------------------------------------- diff --git a/lang/cs/BUILD.md b/lang/cs/BUILD.md new file mode 100644 index 0000000..ff79cac --- /dev/null +++ b/lang/cs/BUILD.md @@ -0,0 +1,44 @@ +<!-- +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. +--> + +Building and Testing REEF .NET +================== + +Prerequisites +------------- + + * Windows OS. + * [Building REEF Java](../java/BUILD.md). + * [Visual Studio](http://www.visualstudio.com) 2015 (preferred) or 2013. Most REEF developers use the free Community Edition. + * NuGet 2.8.6 or later. + * xunit.runner.console.2.1.0 package (installing it might require manual restore of NuGet packages). + + +Instructions +------------ + +To build and run tests in Visual Studio, open `lang\cs\Org.Apache.REEF.sln`, build entire solution and run all tests in Test Explore. + +To build REEF.NET from command line, execute + + msbuild .\lang\cs\Org.Apache.REEF.sln + +To run .NET tests from command line, execute + + msbuild .\lang\cs\TestRunner.proj http://git-wip-us.apache.org/repos/asf/reef/blob/4941eb60/lang/java/BUILD.md ---------------------------------------------------------------------- diff --git a/lang/java/BUILD.md b/lang/java/BUILD.md new file mode 100644 index 0000000..0567ddf --- /dev/null +++ b/lang/java/BUILD.md @@ -0,0 +1,79 @@ +<!-- +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. +--> + +Building and Testing REEF Java +================== + +Prerequisites +------------- + + * Java Development Kit 7 or 8. Make sure that `$JAVA_HOME` points to it. + * [Apache Maven](https://maven.apache.org/download.cgi) 3.3 or newer. + Make sure that `mvn` is in your `$PATH` and `$M2_HOME` points to its installation. + * [Protocol Buffers Compiler version 2.5](https://github.com/google/protobuf/releases/tag/v2.5.0). + Make sure that `protoc` is on your `PATH`. + +Build Instructions +------------ + +The Java side of REEF is built using Apache Maven. To build and run tests, execute: + + mvn clean install + +To perform build alone without tests in a multithreaded mode, execute + + mvn -TC1 -DskipTests clean install + +To perform "fast" build, which skips tests and all code quality enforcement tools, execute: + + mvn clean install -DskipTests -TC1 -P!code-quality + +Test Instructions +------------ + +To run tests separately on local runtime, execute: + + mvn test + +Note that the tests will take several minutes to complete. You will +also see stack traces fly by. Not to worry: those are part of the +tests that test REEF's error reporting. + +Code Quality Enforcement Tools +------------ + +Java build incorporates several code quality tools: + +* **Apache RAT** verifies that Apache headers are in place where needed. To run this check separately, execute: + + `mvn apache-rat:check` + +* **Checkstyle** verifies that all Java code adheres to a coding standard. To run this check separately, execute: + + `mvn checkstyle:checkstyle` + + Per-project Checkstyle reports can be found at `\<project>\target\site\checkstyle.html`. Violations which caused the build break will show up as errors and need to be fixed; violations which show up as warnings or info can be ignored. + +* **Findbugs** looks for potential bugs in Java code, and can fail the build if any high-priority warnings are found. + To run this check separately, execute: + + `mvn findbugs:check xml:transform` + + Per-project Findbugs reports can be found at `\<project>\target\findbugs\findbugsXml.html`. +
