| ---+ Tools required to build and run Apache Atlas on Eclipse |
| |
| These instructions are provided as-is. They worked at a point in time; other variants of software may work. These instructions may become stale if the build dependencies change. |
| |
| They have been shown to work on 19th of December 2016. |
| |
| To build, run tests, and debug Apache Atlas, the following software is required: |
| |
| *Java* |
| * Download and install a 1.8 Java SDK |
| * Set JAVA_HOME system environment variable to the installed JDK home directory |
| * Add JAVA_HOME/bin directory to system PATH |
| *Python* |
| |
| Atlas command line tools are written in Python. |
| * Download and install Python version 2.7.7 |
| * For Mac, we used 2.7.11 |
| * Add Python home directory to system PATH |
| *Maven* |
| * Download and install Maven 3.3.9 |
| * Set the environment variable M2_HOME to point to the maven install directory |
| * Add M2_HOME/bin directory to system PATH e.g. C:\Users\IBM_ADMIN\Documents\Software\apache-maven-3.3.9\bin |
| *Git* |
| * Install Git |
| * Add git bin directory to the system PATH e.g. C:\Program Files (x86)\Git\bin |
| *Eclipse* |
| * Install Eclipse Neon (4.6) |
| * The non-EE Neon for iOS from eclipse.org has been proven to work here. |
| * Install the Scala IDE, TestNG, and m2eclipse-scala features/plugins as described below. |
| *Scala IDE Eclipse feature* |
| |
| Some of the Atlas source code is written in the Scala programming language. The Scala IDE feature is required to compile Scala source code in Eclipse. |
| * In Eclipse, choose Help - Install New Software.. |
| * Click Add... to add an update site, and set Location to http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site |
| * Select Scala IDE for Eclipse from the list of available features |
| * Restart Eclipse after install |
| * Set the Scala compiler to target the 1.7 JVM: Window - Preferences - Scala - Compiler, change target to 1.7 |
| *TestNG Eclipse plug-in* |
| |
| Atlas tests use the [[http://testng.org/doc/documentation-main.html][TestNG framework]], which is similar to JUnit. The TestNG plug-in is required to run TestNG tests from Eclipse. |
| * In Eclipse, choose Help - Install New Software.. |
| * Click Add... to add an update site, and set Location to http://beust.com/eclipse-old/eclipse_6.9.9.201510270734 |
| * Choose TestNG and continue with install |
| * Restart Eclipse after installing the plugin |
| * In Window - Preferences - TestNG, <b>un</b>check "Use project TestNG jar" |
| *m2eclipse-scala Eclipse plugin* |
| * In Eclipse, choose Help - Install New Software.. |
| * Click Add... to add an update site, and set Location to http://alchim31.free.fr/m2e-scala/update-site/ |
| * Choose Maven Integration for Scala IDE, and continue with install |
| * Restart Eclipse after install |
| * In Window - Preferences -Maven - Errors/Warnings, set Plugin execution not covered by lifecycle configuration to Warning |
| *Import Atlas maven projects into Eclipse:* |
| |
| a. File - Import - Maven - Existing Maven Projects b. Browse to your Atlas folder c. Uncheck the root project and non-Java projects such as dashboardv2, docs and distro, then click Finish |
| |
| On the Mac, the Maven import fails with message |
| <verbatim> |
| "Cannot complete the install because one or more required items could not be found. Software being installed: Maven Integration for AJDT (Optional) 0.14.0.201506231302 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.14.0.201506231302) Missing requirement: Maven Integration for AJDT (Optional) 0.14.0.201506231302 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.14.0.201506231302) requires 'org.eclipse.ajdt.core 1.5.0' but it could not be found". |
| </verbatim> |
| |
| Install http://download.eclipse.org/tools/ajdt/46/dev/update and rerun. The Maven AspectJ should plugin install - allowing the references to Aspects in Maven to be resolved. |
| |
| d. In the atlas-typesystem, atlas-repository, hdfs-model, and storm-bridge projects, add the src/main/scala and src/test/scala (if available) directories as source folders. Note: the hdfs-model and storm-bridge projects do not have the src/test/scala folder. |
| |
| Right-click on the project, and choose *Properties*. |
| |
| Click the *Java Build Path* in the left-hand panel, and choose the *Source* tab. |
| |
| Click *Add Folder*, and select the src/main/scala and src/test/scala directories. |
| |
| Only the atlas-repository and atlas-type system projects have Scala source folders to update. |
| |
| e. Select atlas-typesystem, atlas-repository, hdfs-model, and storm-bridge projects, right-click, go to the Scala menu, and choose ‘Set the Scala Installation’. |
| |
| f. Choose Fixed Scala Installation: 2.11.8 (bundled) , and click OK. |
| |
| g. Restart Eclipse |
| |
| h. Choose Project - Clean, select Clean all projects, and click OK. |
| |
| Some projects may not pick up the Scala library – if this occurs, quick fix on those projects to add in the Scala library – projects atlas-typesystem, atlas-repository, hdfs-model, storm-bridge and altas-webapp. |
| |
| You should now have a clean workspace. |
| |
| *Sample Bash scripts to help mac users* |
| |
| You will need to change some of these scripts to point to your installation targets. |
| * Run this script to setup your command line build environment |
| <verbatim> |
| #!/bin/bash # export JAVA_HOME=/Library/Java/JavaVirtualMachines/macosxx6480sr3fp10hybrid-20160719_01-sdk |
| export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home |
| export M2_HOME=/Applications/apache-maven-3.3.9 # Git is installed in the system path |
| export PYTHON_HOME='/Applications/Python 2.7' |
| export PATH=$PYTHON_HOME:$M2_HOME/bin:$JAVA_HOME/bin:$PATH |
| export MAVEN_OPTS="-Xmx1536m -Drat.numUnapprovedLicenses=100 -XX:MaxPermSize=256m" |
| </verbatim> |
| |
| * If you do not want to set Java 8 as your system java, you can use this bash script to setup the environment and run Eclipse (which you can drop in Applications and rename to neon). |
| <verbatim> |
| #!/bin/bash |
| export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home |
| export M2_HOME=/Applications/apache-maven-3.3.9 |
| # Git is installed in the system path |
| export PYTHON_HOME='/Applications/Python 2.7' |
| export PATH=$PYTHON_HOME:$M2_HOME/bin:$JAVA_HOME/bin:$PATH/Applications/neon.app/Contents/MacOS/eclipse |
| </verbatim> |