Get Started - Source code

Obtaining the source code

The ADAMS source code is available from repositories hosted here:

https://github.com/waikato-datamining

You can check out the code of the base modules in the console with the following command:

git clone https://github.com/waikato-datamining/adams-base.git

Other modules

Further modules are available:

Compiling the source code

ADAMS uses Maven as build tool. See the Requirements section for more details on what you need for compiling the code.

Download the settings.xml file and place it in the following directory (if you are behind a proxy, see section Proxy below):

  • Linux/Unix/Mac:

    $HOME/.m2

  • Windows:

    %USERPROFILE%\.m2

You need to set the environment variable JAVA_TOOL_OPTIONS to -Djsse.enableSNIExtension=false to avoid the Server SSL Error - handshake alert: unrecognized_name error message.

Also recommended, is adding the following parameter to the JAVA_TOOL_OPTIONS in order to always get a full strack traces whenever an error occurs: -XX:-OmitStackTraceInFastThrow

You can compile the source code in the console as follows:

mvn clean install

If you want to skip the tests, use the following:

mvn clean install -DskipTests=true

This will generate a ZIP archive in the target directory of the adams-base-all module that contains all the jars and scripts to start ADAMS and the generated documentation.

LaTeX

If your LaTeX binaries (e.g., pdflatex) aren't on the system's path, you need to modify the latex.binariesPath property of the latex profile in the settings.xml file. For instance, if your LaTeX binaries are located in:

C:\texlive\2016\bin\win32

Then adapt the latex.binariesPath as follows:

<latex.binariesPath>C:/texlive/2016/bin/win32/</latex.binariesPath>

Proxy

If you are behind a proxy, you need to tell Maven about it. Let's assume that your proxy is called proxy.blah.com and its port 3128.

If you don't need a password to connect to it, you can add the following tag to your settings.xml file:

<proxy>
  <active>true</active>
  <protocol>http</protocol>
  <host>proxy.blah.com</host>
  <port>3128</port>
  <nonProxyHosts>localhost|*.blah.com</nonProxyHosts>
</proxy>

If your proxy requires a user/password, then you have to 1) generate a master password with Maven (which gets stored in your home directory's .m2/settings-security.xml file) and then 2) the actual password for the proxy. The details are explained here on the Maven homepage. Once you've created the passwords, you have to add the following tag to your settings.xml file and replace the USER and ENCRYPTED_PASSWORD placeholders accordingly.

<proxy>
  <active>true</active>
  <protocol>http</protocol>
  <host>proxy.blah.com</host>
  <port>3128</port>
  <username>USER</username>
  <password>{ENCRYPTED_PASSWORD}</password>
  <nonProxyHosts>localhost|*.blah.com</nonProxyHosts>
</proxy>