To build the Fortress library from sources, following components must be installed:
  1. Git
  2. Java Development Kit (JDK) 1.8 or higher

For project building we use Gradle system.
You can either install it, or use wrapper scripts (we use Gradle 4.10.3 in scripts).
Two Gradle wrapper scripts are included in the project repository: one for Linux-based OS (gradlew), another for Windows OS (gradlew.bat). To make the guide uniform, a "gradle" acronym will be used in the following examples.

Access to Nexus

For some cases an access to ISP RAS Nexus local repository server may be required via Fortress building. Ask your ISP RAS colleagues for login and password and store them either in _REPO_USER and _REPO_PASSWORD environment variables, or in non-versioned by Git file of the following format:

repoUser=<write your login here>
repoPassword=<write your password here>

Get the project source code

Clone the project's Git repository

git clone --recursive fortress
cd fortress

Building from command line

To list all Gradle commands run:

gradle tasks

To compile both main and test classes run:

gradle assemble

To run all unit tests run:

gradle test

Building from Eclipse IDE

  1. Install Buildship Gradle integration plugin for Eclipse IDE (if Gradle support has not provided by the IDE already).
  2. Create init.gradle file in the $HOME/.gradle directory and write the following to it:
      apply plugin: 'eclipse'
        classpath.downloadJavadoc = true
  3. Import Fortress sources into Eclipse workspace:
    • Use the menu item "File/Import...".
    • Choose "Gradle/Gradle Project".
    • Select the "fortress" directory as the root directory, press "Next".
    • Select the "Gradle wrapper (recommended)" import option.
    • Press the "Finish" button: the project will be opened in the Eclipse IDE.

Building from IntelliJ IDEA

  1. From Welcome menu select "Import project".
  2. Select "fortress" directory, then press "OK".
  3. From "Import project" menu select "Import project from external model" -> Gradle, then press "Finish".

Updated by Sergey Smolov 30 days ago · 3 revisions