buildscript {
repositories {
maven { url "http://nexus.ebert-p.com:8080/content/groups/public" }
maven { url "http://repo.gradle.org/gradle/libs-releases-local" }
}
dependencies {
classpath "de.otto:lpt-gradle-plugin:0.0.3-SNAPSHOT"
}
}
apply plugin: "lpt-gradle"
Mit repositories wird definiert wo nach den dependencies gesucht werden soll. Mit dependencies wird die Jar-Datei beschrieben, die Code, hier ein eigenes Gradle-Plugin enthält. Mit apply wir das Gradle-Plugin auf das aktuelle Projekt angewendet. Wie Gradle von dem Plugin-Namen zur ausführbaren Klasse kommt wird unten beschrieben.
Zuerst muss das Plugin programmiert werden. Womit man diese Jar-Datei baut ist egal, es ist auch möglich ein Gradle-Plugin mit Maven zu bauen. Wenn man das Gradle Plugin mit Java entwickeln möchte, muss man seine Haupklasse von org.gradle.api.Plugin ableiten.
package com.ebertp.gradleplugin.wpt;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
public final class WptTest implements Plugin<Project> {
@Override
public void apply(Project project) {
System.out.println("Hello Gradle Plugin User, this is Java.");
}
}
Als Zweites muss ein Mapping vom Plugin-Namen zur Hauptklasse definiert werden. Dafür muss eine Properties-Datei mit dem Namen des Plugins unter resources/META-INF/gradle-plugins angelegt werden.
src/
├── main
│ ├── java
│ │ └── com
│ │ └── ebertp
│ │ └── gradleplugin
│ │ └── wpt
│ │ └── WptTest.java
│ └── resources
│ └── META-INF
│ └── gradle-plugins
│ └── lpt-gradle.properties
└── test
├── java
└── resources
In dieser Properties-Datei wird das Mapping des Plugin-Names auf die Java Klasse definiert:
implementation-class=com.ebertp.gradleplugin.wpt.WptTest
Jetzt muss nur noch eine Har-Datei gebaut werden und auf den Nexus hochgeladen werden.
Keine Kommentare:
Kommentar veröffentlichen