Setting up your Environment

This page describes how to set up the development environment that you will use to complete the exercises in this tutorial.

This tutorial is written for a Microsoft Windows development environment, but you can also complete the exercises using macOS or Linux. Sections below that apply to Microsoft Windows only are indicated with a Windows icon ( ).

Install Oracle Java 8

Follow the steps below:

  1. Download and install the Oracle Java 8 64-bit JDK

    For detailed instructions on installing Java on Microsoft Windows, Red Hat Linux, and macOS, see Installing Java.
  2. Set the JAVA_HOME environment to the root of the JDK’s installation directory

There are known issues with installing some versions of Oracle Java on macOS. For details and workarounds, see Installing Java.

Install Eclipse or IntelliJ IDEA

The tutorials in this course require an IDE with Gradle integration. Eclipse and IntelliJ IDEA are used as examples.

For installation instructions, follow the links below:

Install Google Chrome

The tutorials require a web browser that includes comprehensive developer tools. Google Chrome is used as an example.

Install the Google Chrome web browser.

Install a Bash shell ( )

This section only applies if you are using Microsoft Windows.

The Caplin Deployment Framework is designed to run in a Bash shell. To run the Deployment Framework on Microsoft Windows, install one of the Bash shells below:

  • Cygwin

  • Git Bash (an MSYS2 shell distributed with Git for Windows)

Bash symbolic links on Windows

The Caplin Deployment Framework makes extensive use of Bash symbolic links. Cygwin and Git Bash (MSYS2) implement Bash symbolic links in one of four ways: so-called 'magic cookie' files (not recognised by Windows), Windows file shortcuts (*.lnk), NTFS junctions, or NTFS symbolic links. Which implementation is used is determined by the Cygwin/MYSY2 configuration option winsymlinks:{lnk,native,nativestrict}:

  • winsymlinks:lnk: Windows file shortcut

  • winsymlinks:native: NTFS symbolic link (with 'magic cookie' file as a fallback on failure)

  • winsymlinks:nativestrict: NTFS symbolic link (no fallback on failure)

Caplin Platform software on Windows requires Bash symbolic links to be implemented as Windows file shortcuts (winsymlinks:lnk).

Installing Cygwin ( )

To install Cygwin, follow the steps below:

  1. Download the Cygwin installer from the Cygwin website.

  2. Run the Cygwin installer and follow the installation instructions on the Cygwin website.

    When prompted by the installer, select the following additional packages: zip, unzip, vim, vim-common, dos2unix, wget, and curl.

  3. After installation, open a Cygwin terminal and run the command below to configure Cygwin to implement Bash symbolic links as Windows file shortcuts:

    echo 'export CYGWIN=winsymlinks:lnk' >> ~/.bashrc
    Alternatively, if you don’t want to set CYGWIN=winsymlinks globally, then you can set it temporarily when unzipping the Deployment Framework. See Installing the Deployment Framework in the first tutorial.
  4. Close the Cygwin terminal

Installing Git Bash ( )

Git Bash is included with Git for Windows. If you already have Git for Windows installed, skip to step 3 in the installation instructions below.

The Git for Windows installer requires you to have a knowledge of common Git configuration options. In case you are not familiar with Git, the instructions below include a list of Git options commonly used by Windows developers in mixed-OS environments. If you have already installed Git for Windows, you do not need to adjust your Git configuration to suit the example options below.

To install Git for Windows, follow the steps below:

  1. Install Notepad++.

    Notepad++ is a better option on Windows than the Git default of Vim if you need to integrate Git with other Windows programs. See the Choosing the default editor used by Git option below.

  2. Run the Git for Windows installer, and select the following Git configuration options when prompted:

    • 'Choosing the default editor used by Git': Use Notepad++

      Notepad++ is a better choice than Vim if you need to integrate Git with other Windows programs.
    • 'Adjusting your PATH environment': Use Git from the Windows Command Prompt

    • 'Choosing the SSH executable': Use OpenSSH

    • 'Choosing HTTPS transport backend': Use the OpenSSL library

    • 'Configuring the line ending conventions': Checkout as-is, commit Unix-style line endings

    • 'Configuring the terminal emulator': Use MinTTY

    • 'Configuring extra options': Enable file system caching and Enable Git Credential Manager

      The extra option Enable symbolic links is not required by the Caplin Platform on Windows. This option configures the git command on Windows to implement Bash symbolic links as NTFS native symbolic links. This option requires Windows 10, local Administrator privileges, and a new group policy entry (SeCreateSymbolicLinkPrivilege).
  3. After installation, open a Git Bash terminal and run the command below to configure Git Bash to implement Bash symbolic links as Windows file shortcuts:

    echo 'export MSYS=winsymlinks:lnk' >> ~/.bashrc

    If you don’t want to set MSYS=winsymlinks:lnk globally in ~/.bashrc (for example, if you’ve set MSYS=winsymlinks:nativestrict for working with Git), then you can set MSYS=winksymlinks:lnk temporarily when unzipping the Deployment Framework:

    $ MSYS=winsymlinks:lnk unzip -qoa DeploymentFramework-<version>.zip
  4. Close the Git Bash terminal

If you added MSYS=winsymlinks:lnk to the file ~/.bashrc in step 3, then the next time you open a Git Bash terminal, Git Bash will warn you that it has automatically created a Bash ~/bash_profile file. You can safely ignore this warning.

Install Microsoft Visual C++ Redistributable for VS 2015 ( )

This section only applies if you are using Microsoft Windows.

The Windows builds of Liberator and Transformer require the Microsoft Visual C++ Redistributable for Visual Studio 2015.

The installer is available at The latest supported Visual C++ downloads on the Microsoft website.