Java >> Java Tutorial >  >> Java

Packen von TestProject-Tests und Add-Ons mit Gradle

Bevor wir unsere Tests und Addons auf der Website app.testproject.io veröffentlichen können, müssen wir unsere Tests paketieren und Addons für die JAR-Datei. Dieser Blogbeitrag beschreibt, wie wir ein Gradle-Projekt erstellen können, das die erforderliche JAR-Datei erstellen kann. Nachdem wir diesen Blogbeitrag fertiggestellt haben, werden wir:

  • Verstehen Sie, wie wir das TestProject SDK erhalten können.
  • Kann die Abhängigkeiten unseres Gradle-Projekts deklarieren.
  • Wissen, wie wir unsere Tests und Addons in eine JAR-Datei packen können.

Beginnen wir mit dem Herunterladen des TestProject SDK.

Herunterladen des TestProject SDK

Bevor wir das TestProject SDK verwenden können, müssen wir es von der Entwicklerseite der Website app.testproject.io herunterladen. Wir können dies tun, indem wir diesen Schritten folgen:

  1. Öffnen Sie die Entwicklerseite. Wenn Sie nicht angemeldet sind, werden Sie auf der Website aufgefordert, sich anzumelden.
  2. Wählen Sie das heruntergeladene SDK aus (wir verwenden das Java-SDK) und klicken Sie auf die Schaltfläche „SDK herunterladen“.
  3. Laden Sie die Datei io.testproject.sdk.java.jar herunter Datei.
  4. Erstellen Sie eine Bibliothek Verzeichnis in das Stammverzeichnis unseres Gradle-Projekts.
  5. Kopieren Sie io.testproject.sdk.java.jar Datei in die libs Verzeichnis.

Nachdem wir das TestProject SDK heruntergeladen haben, sollte die Verzeichnisstruktur unseres Gradle-Projekts wie folgt aussehen:

libs
|__ io.testproject.sdk.java.jar

Als nächstes werden wir herausfinden, wie wir die Gradle-Eigenschaften unseres Gradle-Builds konfigurieren können.

Konfigurieren Sie die Gradle-Eigenschaften unseres Gradle-Builds

Wenn wir die Gradle-Eigenschaften unseres Gradle-Builds konfigurieren möchten, müssen wir eine Datei namens:gradle.properties erstellen und legen Sie diese Datei im Stammverzeichnis unseres Gradle-Builds ab. Nachdem wir diese Datei erstellt haben, sieht die Verzeichnisstruktur unseres Gradle-Projekts wie folgt aus:

libs
|__ io.testproject.sdk.java.jar
gradle.properties

Nachdem wir die gradle.properties erstellt haben -Datei müssen wir die Gradle-Eigenschaften unseres Gradle-Builds konfigurieren, indem Sie die folgenden Schritte ausführen:

  1. Stellen Sie sicher, dass unser Quellcode mit dem Java-Compiler 1.8 kompiliert wird.
  2. Stellen Sie sicher, dass die kompilierten Klassendateien mit der Java 8 Virtual Machine kompatibel sind.
  3. Konfigurieren Sie die Version der gepackten JAR-Datei. Wir werden den Wert dieser Eigenschaft im Namen der erstellten JAR-Datei verwenden.

Nachdem wir die Gradle-Eigenschaften unseres Gradle-Builds konfiguriert haben, wird die Datei gradle.properties Datei sieht wie folgt aus:

sourceCompatibility = 1.8
targetCompatibility = 1.8
version = 0.0.1

Lassen Sie uns weitermachen und herausfinden, wie wir das Build-Skript unseres Gradle-Builds erstellen können.

Erstellen des Build-Skripts unseres Gradle-Builds

Wenn wir das Build-Skript unseres Gradle-Builds erstellen möchten, müssen wir eine Datei namens:build.gradle erstellen ) und legen Sie diese Datei im Stammverzeichnis unseres Gradle-Builds ab. Nachdem wir diese Datei erstellt haben, sieht die Verzeichnisstruktur unseres Gradle-Projekts wie folgt aus:

libs
|__ io.testproject.sdk.java.jar
build.gradle
gradle.properties

Wir können jetzt unseren Gradle-Build konfigurieren, indem wir diesen Schritten folgen:

Zuerst , müssen wir ein Java-Projekt erstellen, indem wir das Java-Plugin anwenden. Nachdem wir dieses Plugin angewendet haben, müssen wir die Kodierung des Java-Compilers auf 'UTF-8' setzen.

Nachdem wir unser Java-Projekt erstellt haben, wird die Datei build.gradle Datei sieht wie folgt aus:

apply plugin: 'java'

compileJava.options.encoding = 'UTF-8'

Zweiter , müssen wir die Abhängigkeitskonfigurationen unseres Gradle-Builds konfigurieren, indem Sie diesen Schritten folgen:

  1. Erstellen Sie eine Abhängigkeitskonfiguration namens:tpsdk . Wir werden diese Konfiguration verwenden, wenn wir die TestProject SDK-Abhängigkeit deklarieren.
  2. Stellen Sie sicher, dass compile Abhängigkeitskonfiguration erweitert den tpsdk Aufbau. Dadurch wird sichergestellt, dass wir Klassen kompilieren können, die das TestProject SDK verwenden.

Nachdem wir die erforderlichen Abhängigkeitskonfigurationen erstellt haben, wird unsere build.gradle Datei sieht wie folgt aus:

apply plugin: 'java'

compileJava.options.encoding = 'UTF-8'

configurations {
 tpsdk
 compile.extendsFrom tpsdk
}

Dritter , müssen wir die Abhängigkeiten unseres Gradle-Builds deklarieren. Wenn wir die Abhängigkeiten unseres Gradle-Builds deklarieren, müssen wir diese beiden Regeln befolgen:

  1. Wir müssen die TestProject SDK-Abhängigkeit zu tpsdk hinzufügen Abhängigkeitskonfiguration. Außerdem müssen wir sicherstellen, dass Gradle diese Abhängigkeit von den libs auflöst Verzeichnis.
  2. Wir müssen alle anderen Abhängigkeiten zu compile hinzufügen Abhängigkeitskonfiguration.

Nachdem wir die erforderlichen Abhängigkeiten deklariert haben, wird die build.gradle Datei sieht wie folgt aus:

apply plugin: 'java'

compileJava.options.encoding = 'UTF-8'

configurations {
 tpsdk
 compile.extendsFrom tpsdk
}

dependencies {
 tpsdk files('libs/io.testproject.sdk.java.jar')
}

Vierter haben wir das jar konfiguriert Aufgabe, indem Sie diesen Schritten folgen:

  1. Konfigurieren Sie den Namen der erstellten JAR-Datei mithilfe der Formel:[Der Name des Stammprojekts]-[Die Version des Projekts].jar .
  2. Stellen Sie sicher, dass die erstellte JAR-Datei alle Abhängigkeiten enthält, die zu runtime gehören Abhängigkeitskonfiguration.
  3. Stellen Sie sicher, dass die TestProject SDK-Abhängigkeit nicht in der erstellten JAR-Datei enthalten ist. Wir müssen diese Abhängigkeit aus der erstellten JAR-Datei ausschließen, da wir Konflikte beim Laden von Klassen vermeiden möchten, die auftreten können, wenn unser Test oder Addon vom TestProject-Agenten ausgeführt wird. Der TestProject-Agent lädt immer das neueste SDK-Jar, das mit unserer SDK-Version abwärtskompatibel ist. Außerdem wird durch das Ausschließen der TestProject SDK-Abhängigkeit die Größe der erstellten JAR-Datei minimiert.
  4. Nehmen Sie die verwendete SDK-Version in die erstellte JAR-Datei auf. Wir können dies tun, indem wir die testproject-sdk.properties kopieren Datei aus der TestProject SDK-Abhängigkeit in die erstellte JAR-Datei. Wir müssen daran denken, da die TestProject-Plattform sonst eine Fehlermeldung anzeigt, wenn wir versuchen, die JAR-Datei auf die Website app.testproject.io hochzuladen. Die TestProject-Plattform verwendet die SDK-Version, um festzustellen, ob ein TestProject-Agent einen Test oder ein Add-On ausführen kann. Wenn der TestProject-Agent ein altes SDK lädt, kann er keine Tests oder Add-Ons ausführen, die mit einem neueren SDK geschrieben wurden.

Nachdem wir das jar konfiguriert haben Aufgabe, unser build.gradle Datei sieht wie folgt aus:

apply plugin: 'java'

compileJava.options.encoding = 'UTF-8'

configurations {
 tpsdk
 compile.extendsFrom tpsdk
}

dependencies {
 tpsdk files('libs/io.testproject.sdk.java.jar')
}

jar {
 archiveName "${rootProject.name}-${version}.jar"
 dependsOn configurations.runtime
 from {
 (configurations.runtime - configurations.tpsdk).collect {
 it.isDirectory() ? it : zipTree(it)
 }
 }

 from {
 (configurations.tpsdk).collect {
 zipTree(it).matching {
 include 'testproject-sdk.properties'
 }
 }
 }
}

Wir haben jetzt ein Gradle-Projekt erstellt, das sowohl TestProject-Tests als auch -Addons kompilieren und paketieren kann. Fassen wir zusammen, was wir aus diesem Blogbeitrag gelernt haben.

Zusammenfassung

Dieser Blogbeitrag hat uns fünf Dinge beigebracht:

  • Wir müssen das TestProject SDK von der Entwicklerseite der Website app.testproject.io herunterladen.
  • Das TestProject SDK unterstützt nur Java 8.
  • Wir müssen die TestProject SDK-Abhängigkeit zu tpspk hinzufügen Abhängigkeitskonfiguration.
  • Wir müssen alle anderen Abhängigkeiten zu compile hinzufügen Abhängigkeitskonfiguration.
  • Wir müssen sicherstellen, dass die TestProject SDK-Abhängigkeit nicht in der erstellten JAR-Datei enthalten ist.

Java-Tag