Skip to main content
Proton v5

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_HOME pointing to it;
  • Maven 3.9 or newer, with mvn on the PATH.
  1. Install a JDK 21, such as Eclipse Temurin, and check the option that sets JAVA_HOME.
  2. Download Maven from maven.apache.org (the bin.zip file) and extract it, for example, to C:\Program Files\Maven.
  3. In Environment Variables, add Maven's bin folder to Path.

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 platformWhat else the machine needs
APINothing 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 desktopUse 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.