Project

General

Profile

Building » History » Version 11

Sergey Smolov, 01/22/2020 04:33 PM

1 1 Sergey Smolov
h1. Building
2
3 11 Sergey Smolov
{{toc}}
4 1 Sergey Smolov
5 11 Sergey Smolov
h2. Prerequisites
6 1 Sergey Smolov
7 11 Sergey Smolov
To build the @Retrascope@ tool from sources, following components must be installed:
8
# *Git*
9
# *Java Development Kit (JDK) 1.11* (use "AdoptOpenJDK":https://adoptopenjdk.net/ for Windows and *openjdk-11-jdk* for Ubuntu Linux based OS)
10
11
For project building we use "*Gradle*":http://gradle.org system. 
12
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).
13
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 common guide, "gradle" acronym will be used in the following examples.
14
15
h3. Access to Nexus
16
17
For some cases an access to "ISP RAS Nexus":https://forge.ispras.ru/nexus local repository server may be required via @Retrascope@ 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:
18 1 Sergey Smolov
<pre>
19 11 Sergey Smolov
repoUser=<write your login here>
20
repoPassword=<write your password here>
21 1 Sergey Smolov
</pre>
22 11 Sergey Smolov
23
h2. Get the project source code
24
25
Clone the project's Git repository
26
<pre><code class="shell">
27
git clone --recursive https://forge.ispras.ru/git/retrascope.git
28
cd retrascope
29
</code></pre>
30
31
h2. Building from command line
32
33 1 Sergey Smolov
To list all Gradle commands run:
34 11 Sergey Smolov
<pre><code class="shell">
35 1 Sergey Smolov
gradle tasks
36 11 Sergey Smolov
</code></pre>
37 1 Sergey Smolov
38 11 Sergey Smolov
To compile both main and test classes run:
39
<pre><code class="shell">
40
gradle assemble
41
</code></pre>
42 10 Sergey Smolov
43 11 Sergey Smolov
To run all unit tests run:
44
<pre><code class="shell">
45
gradle test
46
</code></pre>
47
48
49
h2. Building from "Eclipse IDE":https://www.eclipse.org/ide/
50
51 10 Sergey Smolov
* Generate the Eclipse IDE project and classpath files with "Gradle":https://gradle.org:
52
  <pre>$ ./gradlew eclipse</pre>
53
* Create a workspace located in the directory with @retrascope@
54 8 Sergey Smolov
  - Use the menu item @File/Switch Workspace...@
55 10 Sergey Smolov
  - Browse the directory
56 8 Sergey Smolov
* Import an existing project called @retrascope@ into the workspace
57
  - Use the menu item @File/Import...@
58 10 Sergey Smolov
  - Choose @General/Existing Projects into Workspace@
59 8 Sergey Smolov
  - Select the @retrascope@ folder as the root directory
60 1 Sergey Smolov
  - Select the @retrascope@ project located in this directory
61
  - Press the @Finish@ button
62
63 11 Sergey Smolov
h2. Building from "IntelliJ IDEA":https://www.jetbrains.com/idea/
64 1 Sergey Smolov
65 11 Sergey Smolov
# From Welcome menu select "Import project".
66
# Select @retrascope@ directory, then press "OK".
67
# From "Import project" menu select "Import project from external model" -> Gradle, then press "Finish".