Skip to content

Commit c063e41

Browse files
author
Alexander Bainczyk
committed
Merge branch 'developer'
2 parents aac26a4 + 13626b7 commit c063e41

File tree

1,634 files changed

+90137
-46203
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,634 files changed

+90137
-46203
lines changed

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ frontend/src/main/javascript/node_modules
1818
frontend/src/main/javascript/dist
1919
frontend/src/main/javascript/test/coverage
2020
frontend/src/main/javascript/npm-debug\.log
21-
frontend/src/main/javascript/package-lock\.json
2221
frontend/src/main/javascript/dist
2322

2423
# uploaded files
@@ -27,4 +26,3 @@ main/uploads
2726
# genereated user documentation
2827
documentation/src/main/docs/.vuepress/dist
2928
documentation/src/main/docs/node_modules
30-
documentation/src/main/docs/package-lock\.json

.travis.yml

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
language: java
22

3-
dist: trusty
3+
dist: bionic
44
sudo: true
55

6-
addons:
7-
apt:
8-
sources:
9-
- sourceline: "deb https://deb.nodesource.com/node_10.x trusty main"
10-
key_url: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key"
11-
packages:
12-
- nodejs
13-
- chromium-chromedriver
14-
156
cache:
167
directories:
178
- $HOME/.m2
@@ -26,7 +17,7 @@ install:
2617
- cp ${TRAVIS_BUILD_DIR}/.travis/settings.xml ${HOME}/.m2/settings.xml
2718

2819
script:
29-
- mvn clean install -Pbootstrap,code-analysis,documentation,integration-tests
20+
- mvn clean install -Pcode-analysis,documentation,integration-tests
3021

3122
branches:
3223
only:
@@ -35,12 +26,10 @@ branches:
3526

3627
jobs:
3728
include:
38-
- jdk: openjdk8
3929
- jdk: openjdk11
40-
- jdk: oraclejdk8
4130
- jdk: oraclejdk11
4231
- stage: "Coverage"
43-
jdk: openjdk8
32+
jdk: openjdk11
4433
script:
45-
- mvn install -Pbootstrap,code-analysis,integration-tests # code-analysis currently includes JaCoCo
34+
- mvn clean install -Pcode-analysis,integration-tests
4635
- mvn coveralls:report

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
# ALEX 2.0.0
2+
3+
## Fixes
4+
5+
* Scoping issues with variables
6+
7+
## Improvements
8+
9+
* Add Flyway support
10+
* Migrate frontend to Angular 8
11+
* Server-side import and export
12+
* Add stack trace for failed tests
13+
* Abort test processes more quickly
14+
* Show symbol references
15+
* Support for Java 11
16+
17+
## Features
18+
19+
* Project environments: create environments and environment variables
20+
* New actions:
21+
* Drag and drop operations
22+
* goto-like jumps
23+
* waiting for a script
24+
* Update a test suite during test generation
25+
* Extend "switch to" action for handling windows
26+
* Import and export for projects
27+
* Specify default test configurations
28+
* Multiple pre and post steps for test cases
29+
* Queue test and learning processes
30+
* Save learning setups
31+
* Collaboration for projects
32+
133
# ALEX 1.7.2
234

335
## Fixes

Dockerfile

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
FROM node:12 as builder-frontend
2+
WORKDIR /root/workdir
3+
COPY ./frontend/src/main/javascript .
4+
RUN npm ci
5+
RUN npm run build
6+
7+
FROM maven:3 as builder-backend
8+
WORKDIR /root/workdir
9+
COPY . .
10+
COPY --from=builder-frontend /root/workdir/dist ./frontend/target/classes
11+
RUN mvn install package -P !build-frontend
12+
13+
FROM debian as builder-ltsmin
14+
WORKDIR /root/workdir
15+
RUN apt-get update -qq && apt-get upgrade -qq && apt-get install -qq wget
16+
RUN wget http://github.com/utwente-fmt/ltsmin/releases/download/v3.0.2/ltsmin-v3.0.2-linux.tgz
17+
RUN tar -xzf ltsmin-v3.0.2-linux.tgz
18+
RUN mv v3.0.2 ltsmin
19+
20+
FROM openjdk:12
21+
COPY --from=builder-backend /root/workdir/build/target/alex-2.0.0.war /usr/share/java/alex/alex.war
22+
COPY --from=builder-ltsmin /root/workdir/ltsmin /opt/ltsmin
23+
WORKDIR /var/lib/alex
24+
EXPOSE 8000
25+
CMD java -jar /usr/share/java/alex/alex.war --ltsmin.path=/opt/ltsmin/bin

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
176176

177177
END OF TERMS AND CONDITIONS
178178

179-
Copyright 2015 - 2019 TU Dortmund
179+
Copyright 2015 - 2020 TU Dortmund
180180

181181
Licensed under the Apache License, Version 2.0 (the "License");
182182
you may not use this file except in compliance with the License.

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ an automaton model (a [Mealy machine][mealy]), which represents the behavior of
1515

1616
## Installation
1717

18-
Make sure you have Java 8 installed on your system.
18+
Make sure you have Java 8 or 11 installed on your system.
1919
We advise to use a modern web browser like Google Chrome, Mozilla Firefox or Microsoft Edge with JavaScript enabled.
2020

2121
1. [Download](https://github.com/LearnLib/alex/releases/latest) the latest version.
22-
2. Open a terminal and start ALEX via `java -jar alex-1.7.2.war [--server.port=XXXX]`.
22+
2. Open a terminal and start ALEX via `java -jar alex-2.0.0.war [--server.port=XXXX]`.
2323
3. Wait until the command line prints something like `de.learnlib.alex.App - Started App in XX.XXX seconds`.
2424
3. Open *http://localhost:8000* in a web browser.
2525

@@ -32,9 +32,9 @@ Password: *admin*
3232

3333
In order to build ALEX from source make sure your system matches the following requirements:
3434

35-
* Java JDK 8
35+
* Java JDK 8 or 11
3636
* Maven 3
37-
* Node.js (v10.0.0) and the NPM (v6.0.0)
37+
* Node.js (v12.*.*) and the NPM (v6.*.*)
3838

3939
To build ALEX, open a terminal and follow the instructions below:
4040

@@ -49,7 +49,9 @@ cd alex
4949
mvn install package [-DskipTests]
5050
```
5151

52-
The bundle can then be found at `build/target/alex-build-1.7.2.war`.
52+
The bundle can then be found at `build/target/alex-2.0.0.war`.
53+
54+
Only build the REST API and skip the frontend with `mvn package -P!build-frontend`
5355

5456
## Connecting to a database
5557

@@ -71,7 +73,7 @@ spring.jpa.hibernate.ddl-auto=update
7173

7274
Then, start ALEX like this:
7375

74-
`java -jar alex-buid-1.7.2.war "--spring.config.location=/path/to/your/application.properties"`
76+
`java -jar alex-buid-2.0.0.war "--spring.config.location=/path/to/your/application.properties"`
7577

7678

7779
## Using LTSMin
@@ -81,7 +83,7 @@ If you want to use its capabilities, download version **3.0.2** and append the `
8183
The value for the argument should be the *bin* directory where the compiled binaries of LTSMin are located.
8284
Example:
8385

84-
`java -jar alex-1.7.2.war --ltsmin.path="/path/to/ltsmin/bin"`
86+
`java -jar alex-2.0.0.war --ltsmin.path="/path/to/ltsmin/bin"`
8587

8688

8789

backend/pom.xml

Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
~ Copyright 2015 - 2019 TU Dortmund
3+
~ Copyright 2015 - 2020 TU Dortmund
44
~
55
~ Licensed under the Apache License, Version 2.0 (the "License");
66
~ you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>de.learnlib.alex</groupId>
2525
<artifactId>alex-parent</artifactId>
26-
<version>1.7.2</version>
26+
<version>2.0.0</version>
2727
<relativePath>../pom.xml</relativePath>
2828
</parent>
2929

@@ -38,7 +38,7 @@
3838
<!--===== properties ======-->
3939
<properties>
4040
<!-- general -->
41-
<start-class>de.learnlib.alex.App</start-class>
41+
<start-class>de.learnlib.alex.AlexApp</start-class>
4242

4343
<!-- plugin versions -->
4444
<javadoc-plugin.version>2.10.4</javadoc-plugin.version>
@@ -49,34 +49,28 @@
4949
<pmd.version>3.6</pmd.version>
5050

5151
<!-- dependencies versions -->
52-
<spring.version>5.1.2.RELEASE</spring.version>
53-
<jersey.version>2.27</jersey.version>
54-
<learnlib.version>0.14.0</learnlib.version>
55-
<automatalib.version>0.8.0</automatalib.version>
52+
<jersey.version>2.30.1</jersey.version>
53+
<learnlib.version>0.15.0</learnlib.version>
54+
<automatalib.version>0.9.0</automatalib.version>
5655
<selenium.version>3.141.59</selenium.version>
57-
<htmlunitdriver.version>2.33.2</htmlunitdriver.version>
58-
<jose4j.version>0.6.4</jose4j.version>
59-
<shiro.version>1.4.0</shiro.version>
60-
<xml-apis.version>2.0.2</xml-apis.version>
61-
<jsoup.version>1.11.3</jsoup.version>
56+
<htmlunitdriver.version>2.38.0</htmlunitdriver.version>
57+
<jose4j.version>0.7.0</jose4j.version>
58+
<shiro.version>1.5.2</shiro.version>
59+
<xml-apis.version>1.4.01</xml-apis.version>
60+
<jsoup.version>1.13.1</jsoup.version>
6261
<json-path.version>2.4.0</json-path.version>
63-
<hsqldb.version>2.4.1</hsqldb.version>
64-
<jackson-datatype.version>2.9.7</jackson-datatype.version>
65-
<junit.version>4.12</junit.version>
62+
<hsqldb.version>2.5.0</hsqldb.version>
63+
<jackson-datatype.version>2.10.3</jackson-datatype.version>
64+
<junit.version>4.13</junit.version>
6665
<mockito.version>2.23.0</mockito.version>
6766
<json-schema-validator.version>2.2.10</json-schema-validator.version>
68-
<mysql-connector.version>8.0.13</mysql-connector.version>
67+
<mysql-connector.version>8.0.19</mysql-connector.version>
6968
<jaxb.version>2.4.0-b180830.0359</jaxb.version>
69+
<flyway.version>5.2.4</flyway.version>
7070
</properties>
7171

7272
<!--===== dependencies ======-->
7373
<dependencies>
74-
<dependency>
75-
<groupId>org.springframework</groupId>
76-
<artifactId>spring-context</artifactId>
77-
<version>${spring.version}</version>
78-
</dependency>
79-
8074
<dependency>
8175
<groupId>org.springframework.boot</groupId>
8276
<artifactId>spring-boot-starter-web</artifactId>
@@ -87,6 +81,11 @@
8781
<artifactId>spring-boot-starter-log4j2</artifactId>
8882
<version>${spring-boot.version}</version>
8983
</dependency>
84+
<dependency>
85+
<groupId>org.springframework.boot</groupId>
86+
<artifactId>spring-boot-starter-security</artifactId>
87+
<version>${spring-boot.version}</version>
88+
</dependency>
9089

9190
<dependency>
9291
<groupId>org.springframework.boot</groupId>
@@ -130,11 +129,6 @@
130129
<artifactId>spring-boot-starter-data-jpa</artifactId>
131130
<version>${spring-boot.version}</version>
132131
</dependency>
133-
<dependency>
134-
<groupId>org.springframework</groupId>
135-
<artifactId>spring-orm</artifactId>
136-
<version>${spring.version}</version>
137-
</dependency>
138132
<dependency>
139133
<groupId>org.springframework.boot</groupId>
140134
<artifactId>spring-boot-starter-validation</artifactId>
@@ -147,6 +141,13 @@
147141
<version>${json-schema-validator.version}</version>
148142
</dependency>
149143

144+
<!-- flyway -->
145+
<dependency>
146+
<groupId>org.flywaydb</groupId>
147+
<artifactId>flyway-core</artifactId>
148+
<version>${flyway.version}</version>
149+
</dependency>
150+
150151
<dependency>
151152
<groupId>org.hsqldb</groupId>
152153
<artifactId>hsqldb</artifactId>
@@ -200,6 +201,16 @@
200201
<artifactId>automata-modelchecking-ltsmin</artifactId>
201202
<version>${automatalib.version}</version>
202203
</dependency>
204+
<dependency>
205+
<groupId>net.automatalib</groupId>
206+
<artifactId>automata-util</artifactId>
207+
<version>${automatalib.version}</version>
208+
</dependency>
209+
<dependency>
210+
<groupId>net.automatalib</groupId>
211+
<artifactId>automata-dot-visualizer</artifactId>
212+
<version>${automatalib.version}</version>
213+
</dependency>
203214

204215
<!-- LearnLib -->
205216
<dependency>
@@ -364,7 +375,7 @@
364375
<artifactId>spring-boot-maven-plugin</artifactId>
365376
<version>${spring-boot.version}</version>
366377
<configuration>
367-
<mainClass>de.learnlib.alex.App</mainClass>
378+
<mainClass>de.learnlib.alex.AlexApp</mainClass>
368379
<addResources>false</addResources>
369380
</configuration>
370381
<executions>

0 commit comments

Comments
 (0)