Setup your environment
- Install Java Development Kit 7 or 8. Make sure that $JAVA_HOME points to it.
- Install Maven 3 or newer. Make sure that mvn is in your $PATH and $M2_HOME points to its installation.
- Install Protocol Buffers Compiler (protoc) 2.5. Make sure that protoc is in your PATH. Note: You need to install version 2.5. Newer versions won't work.
- For C# support:
- Install Visual Studio 2013. Any edition will do, most REEF developers use the free Community Edition.
- Setup your environment to point to that installation. You can do that by either using the Developer Command Line or in PowerShell following these instructions.
With these requirements met, the instructions below should work regardless of OS choice and command line interpreter
Cloning the repository
Committers
Code Block | ||||
---|---|---|---|---|
| ||||
git clone https://git-wip-us.apache.org/repos/asf/incubator-reef.git |
Users
Code Block | ||||
---|---|---|---|---|
| ||||
git clone git://git.apache.org/incubator-reef.git |
Compiling
Java Code only
REEF is built using Maven. Hence, a simple
Code Block | ||||
---|---|---|---|---|
| ||||
mvn clean install |
should suffice. Not that we have quite a few integration tests in the default build. Hence, you might be better off using
Code Block | ||||
---|---|---|---|---|
| ||||
mvn -TC1 -DskipTests clean install |
This runs one thread per core (-TC1
) and skips the tests (-DskipTests
)
Note: You will see many exception printouts during the compilation of REEF with tests. Those are not, in fact, problems with the build: REEF guarantees that exceptions thrown on remote machines get serialized and shipped back to the Driver. We have extensive unit tests for that feature that produce the confusing printouts.
Java and .NET
REEF.NET depends on the Java side of it. This dependency is captured in the project Org.Apache.REEF.Bridge.Jar in the solution Org.Apache.REEF. Hence, REEF can be compiled directly in Visual Studio or, if you prefer, from the command line:
Code Block | ||||
---|---|---|---|---|
| ||||
msbuild $REEFSourcePath\lang\cs\Org.Apache.REEF.sln /p:Configuration="Release" /p:Platform="x64" |
Where $REEFSourcePath is the root folder after you clone the REEF source code from GIT.
To run Java and Net testing, reference Committer Guide