Project

General

Profile

Building » History » Revision 4

Revision 3 (Sergey Smolov, 12/20/2019 02:52 PM) → Revision 4/7 (Sergey Smolov, 01/22/2020 03:30 PM)

h1. Building 

 {{toc}} 

 h2. Prerequisites 

 To build the _Fortress_ library from sources, following components must be installed: 
 # *Git* 
 # *Java Development Kit (JDK) 1.11* 1.8* or higher 

 For project building we use " *Gradle* ":http://gradle.org system.  
 You can either install it, or use wrapper scripts (we use "Gradle 4.10.3":https://docs.gradle.org/4.10.3/release-notes.html 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. 

 h3. Access to Nexus 

 For some cases an access to "ISP RAS Nexus":https://forge.ispras.ru/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 *gradle-local.properties* file of the following format: 
 <pre> 
 repoUser=<write your login here> 
 repoPassword=<write your password here> 
 </pre> 

 h2. Get the project source code 

 Clone the project's Git repository 
 <pre><code class="shell"> 
 git clone --recursive https://forge.ispras.ru/git/solver-api.git fortress 
 cd fortress 
 </code></pre> 

 h2. Building from command line 

 To list all Gradle commands run: 
 <pre><code class="shell"> 
 gradle tasks 
 </code></pre> 

 To compile both main and test classes run: 
 <pre><code class="shell"> 
 gradle assemble 
 </code></pre> 

 To run all unit tests run: 
 <pre><code class="shell"> 
 gradle test 
 </code></pre> 


 h2. Building from Eclipse IDE 

 # Install "Buildship":https://marketplace.eclipse.org/content/buildship-gradle-integration Gradle integration plugin for Eclipse IDE (if Gradle support has not provided by the IDE already). 
 # Create @init.gradle@ file in the $HOME/.gradle directory and write the following to it: 
 <pre> 
 allprojects 
 { 
   apply plugin: 'eclipse' 

   it.eclipse 
   { 
     classpath.downloadJavadoc = true 
   } 
 } 
 </pre> 
 # 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. 

 h2. Building from IntelliJ IDEA 

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