To build the Fortress library from sources, following components must be installed:
  1. Git
  2. Java Development Kit (JDK) 1.11 or higher (use AdoptOpenJDK for Windows and openjdk-11-jdk for Ubuntu Linux based OS)

For project building we use Gradle system.
You can either install it, or use wrapper scripts (we use Gradle 5.0 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

  • Generate the Eclipse IDE project and classpath files with Gradle:
    $ ./gradlew eclipse
  • Create a workspace located in the directory with fortress
    - Use the menu item File/Switch Workspace...
    - Browse the directory
  • Import an existing project called fortress into the workspace
    - Use the menu item File/Import...
    - Choose General/Existing Projects into Workspace
    - Select the fortress folder as the root directory
    - Select the fortress project located in this directory
    - Press the Finish button

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 6 months ago · 7 revisions