|
# ASTracker
|
|
# Architectural Toolbox
|
|
ASTracker is a Java tool that parses Arcan's output and tracks the architectural smells detected in each versionString analysed by Arcan.
|
|
ASTracker is a Java tool that parses Arcan's output and tracks the architectural smells detected in each version analysed by Arcan.
|
|
|
|
Arcan produces a set of GraphML files that represent the dependency network of the analysed system. Each file represents one version.
|
|
|
|
|
|
# Requirements
|
|
# Requirements
|
|
The requirements to install and execute the application are:
|
|
The requirements to install and execute the application are:
|
|
|
|
|
|
* JDK 11 (or newer)
|
|
* JDK 11 (or newer)
|
|
* Maven 3 (3.6.0 is the one used, but other minor versions should work fine too)
|
|
* Maven 3 (3.6.0 is the one used, but other minor versions should work fine too)
|
|
|
|
* A JAR of Arcan (downloadable from [here](https://drive.google.com/file/d/1u8vYwAE9rrDosyoM33Nvg5YJuXRD_cA_/view?usp=sharing))
|
|
|
|
* Docker (optional)
|
|
|
|
|
|
# Installation with Maven
|
|
# Installation with Maven
|
|
The installation process is simple, but it requires `git` and `mvn` (Maven) to be installed on your system.
|
|
The installation process is simple, but it requires `git` and `mvn` (Maven) to be installed on your system.
|
... | @@ -15,19 +18,24 @@ git clone git@gitlab.seis.iti.gr:sdk4ed/atd-toolbox-new.git |
... | @@ -15,19 +18,24 @@ git clone git@gitlab.seis.iti.gr:sdk4ed/atd-toolbox-new.git |
|
cd atd-toolbox-new
|
|
cd atd-toolbox-new
|
|
mvn clean compile assembly:single -DskipTests=true
|
|
mvn clean compile assembly:single -DskipTests=true
|
|
```
|
|
```
|
|
After executing them, a fat JAR file will be created in the `target` with the suffix "with-jar-dependencies", containing all the necessary libraries to be executed.
|
|
After executing them, a fat JAR file will be created in the `target` with the suffix "with-jar-dependencies", containing all the necessary libraries to be executed. This JAR exposes the command line interface.
|
|
|
|
|
|
Alternatively, ASTracker can be executed as a web service:
|
|
Alternatively, you can deploy the toolbox as a web service on your local machine:
|
|
```shell script
|
|
```shell script
|
|
mvn spring-boot:run
|
|
mvn spring-boot:run
|
|
```
|
|
```
|
|
and even built as a Docker image (ensure you have Docker installed) using:
|
|
This will run a web server that will listen to RESTful API request on the default port 8080.
|
|
|
|
This is only intended to be used for test purposes and in combination with the dashboard.
|
|
|
|
|
|
|
|
# Installation with Docker
|
|
|
|
The toolbox can be deployed as a container using Docker. To do so, execute the following commands from the home directory of the project:
|
|
```shell script
|
|
```shell script
|
|
mvn clean compile package -DskipTest
|
|
mvn clean compile package -DskipTest
|
|
sudo docker build --tag astracker-web:1.0 .
|
|
sudo docker build --tag astracker-web:1.0 .
|
|
```
|
|
```
|
|
then run the Docker image using:
|
|
This will create a Docker image tagged with "astracker-web:1.0" which can be ran using:
|
|
```shell script
|
|
```shell script
|
|
sudo docker run -itp 8080:8080 astracker-web:1.0
|
|
sudo docker run -itp 8080:8080 astracker-web:1.0
|
|
```
|
|
```
|
|
|
|
|
|
**Note** that, in order for the image to be able to complete the requests you need to first [download](https://drive.google.com/file/d/1u8vYwAE9rrDosyoM33Nvg5YJuXRD_cA_/view?usp=sharing) Arcan and unzip the contents under a directory called `arcan` in the same directory as the Dockerfile. |
|
**Note** that, in order for the image to be able to complete the requests you need to first [download](https://drive.google.com/file/d/1u8vYwAE9rrDosyoM33Nvg5YJuXRD_cA_/view?usp=sharing) Arcan and unzip the contents under a directory called `arcan` in the same directory as the Dockerfile. |
|
|
|
\ No newline at end of file |