Java projects
The runner recognizes a Java project by the pom.xml at the root of the repository and runs:
mvn -B test -DidDatasetRun=<id>
with -Dtest=TestProtonScript when the project has that class.
JDK and Maven
For the user running the runner, the machine needs:
- a JDK 21 or newer, with
JAVA_HOMEpointing to it; - Maven 3.9 or newer, with
mvnon thePATH.
- Windows
- Linux
- Install a JDK 21, such as Eclipse Temurin, and check the option that sets
JAVA_HOME. - Download Maven from maven.apache.org (the
bin.zipfile) and extract it, for example, toC:\Program Files\Maven. - In Environment Variables, add Maven's
binfolder toPath.
- Install a JDK 21 with the package manager (on Ubuntu,
sudo apt install openjdk-21-jdk). - Download Maven from maven.apache.org and add its
binfolder to thePATH. Themavenpackage in some distributions is older than 3.9.
Open a new terminal and check:
java -version
mvn -version
After installing, restart the Runner: it reads the PATH and JAVA_HOME when it opens.
The Proton Cloud SDK and dependencies
The project declares the Proton Cloud SDK and Atomic's public Maven repository
(https://maven.protoncloud.com.br) in its own pom.xml. The machine needs no settings.xml or credentials: Maven
downloads the SDK and the other dependencies on the first run and stores them in the local repository (~/.m2).
If the machine still has a Proton 4 settings.xml with a GitHub Packages token, it's no longer needed for Proton 5
projects.
By platform
| Project platform | What else the machine needs |
|---|---|
| API | Nothing besides the JDK and Maven. |
| Web (Playwright) | Nothing on Windows: Playwright's browser is downloaded on the first run. On Linux, the system libraries the browser uses (below). |
| Mobile (Android) | adb, Appium, and the device. See Mobile (Android). |
| SAP GUI and desktop | Use a Python project: see Python projects. |
On Linux, install the browser libraries once, from inside the project folder (the command asks for the administrator password):
mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="install-deps chromium"
Run on the machine before the runner
To check the machine, run the project on it, without Proton, as the template project explains:
mvn test
If it passes in the terminal with the same user, it will pass through the runner.