Plugin-Erstellung/Java/Gradle

Aus Rising World Wiki

Gradle ist ein leistungsstarkes Build-Automatisierungswerkzeug und ein Build-Management-System, dass die Erstellung, das Testen und die Bereitstellung von Plugin-Projekten vereinfacht. Gradle ermöglicht eine effiziente Konfiguration von Build-Skripten und eine einfache Verwaltung von Abhängigkeiten. Durch die Integration von Gradle in die Entwicklung von Plugins für Rising World können Entwickler ihre Arbeitsabläufe optimieren, die Konsistenz der Projekte verbessern und die Effizienz bei der Bereitstellung von Plugin-Updates steigern.


Programmierung von Plugins erleichtern

  • Einfache Projektverwaltung: Gradle bietet eine einfache und intuitive Möglichkeit, Projekte zu verwalten und Abhängigkeiten zwischen verschiedenen Komponenten zu definieren. Dies erleichtert die Organisation von Plugin-Projekten und verbessert die Wartbarkeit des Codes.
  • Effiziente Build-Konfiguration: Mit Gradle können Entwickler komplexe Build-Konfigurationen definieren, um spezifische Anforderungen von Plugin-Projekten zu erfüllen. Dies umfasst das Festlegen von Build-Phasen, das Konfigurieren von Abhängigkeiten und das Definieren von benutzerdefinierten Tasks.


Automatisierung mit Gradle

  • Build-Prozesse: Gradle ermöglicht die Automatisierung von Build-Prozessen, einschließlich Kompilierung, Testausführung, Codeanalyse, Dokumentationserstellung und Paketierung von Artefakten.
  • Abhängigkeitsmanagement: Gradle bietet leistungsstarke Mechanismen für das Abhängigkeitsmanagement, mit denen Entwickler externe Bibliotheken einbinden können. Dies erleichtert die Integration von Drittanbieter-Tools und -Bibliotheken in Plugin-Projekte.
  • Continuous Integration (CI): Mit Gradle können Entwickler Continuous Integration (CI)-Prozesse einrichten, um automatisierte Builds und Tests bei jeder Änderung im Quellcode durchzuführen. Dies verbessert die Qualität und Stabilität von Plugin-Projekten und beschleunigt den Entwicklungszyklus.


Entwicklungsumgebungen

Gradle ist mit den Entwicklungsumgebungen NetBeans, Eclipse und IntelliJ IDEA kompatibel. Es gibt spezielle Plugins und Integrationen für jede dieser Entwicklungsumgebungen, die es Entwicklern ermöglichen, Gradle-basierte Projekte einfach zu erstellen, zu verwalten und auszuführen. Hier ist eine kurze Übersicht über die Integration von Gradle mit jeder der genannten Entwicklungsumgebungen:

NetBeans

Für NetBeans gibt es das Gradle-Support-Plugin, das eine nahtlose Integration von Gradle in die IDE ermöglicht. Dieses Plugin bietet Funktionen wie die Erstellung von Gradle-Projekten, die Ausführung von Build-Skripten und die Verwaltung von Abhängigkeiten direkt in der IDE-Oberfläche.

Eclipse

Eclipse bietet das Buildship-Plugin, dass eine umfassende Integration von Gradle in die Eclipse-Entwicklungsumgebung ermöglicht. Mit diesem Plugin können Entwickler Gradle-Projekte importieren, Build-Skripte konfigurieren und Build-Aufgaben ausführen, alles direkt innerhalb der Eclipse-Oberfläche.

IntelliJ IDEA

IntelliJ IDEA bietet native Unterstützung für Gradle-Projekte ohne zusätzliche Plugins. Entwickler können Gradle-Projekte direkt in IntelliJ IDEA importieren und haben Zugriff auf alle Funktionen von Gradle, einschließlich der Build-Konfiguration, Ausführung von Build-Tasks und Verwaltung von Abhängigkeiten.

Insgesamt ermöglicht die Integration von Gradle mit diesen Entwicklungsumgebungen eine effiziente und benutzerfreundliche Entwicklung von Projekten, einschließlich Plugins für Spiele wie Rising World.


build.gradle

Die build.gradle Datei ist eine Skriptdatei, die in Gradle-basierten Projekten verwendet wird, um den Build-Prozess zu konfigurieren und anzupassen. Sie enthält Anweisungen zum Herunterladen von Abhängigkeiten, zum Kompilieren von Quellcode, zum Erstellen von JAR-Dateien und zur Ausführung von Tests.
Hier ist ein einfaches Beispiel für eine build.gradle Datei, die ein Java-Projekt mit der Hauptklasse MyPluginClass und dem Package net.mypackage.mainerstesplugin erstellt:

plugins {
	id 'java'
}

def pathToRisingWorld = 'D:/SteamLibrary/steamapps/common/RisingWorld/_New Version'

group 'net.example'
version '1.0.0'

sourceCompatibility = JavaVersion.VERSION_20
targetCompatibility = JavaVersion.VERSION_20

repositories {
	mavenCentral()
}

dependencies {
	implementation files(pathToRisingWorld + '/Data/SDK/PluginAPI.jar')
}

jar {
    // Hier kann der Name des JAR-Files und die Hauptklasse definiert werden
    archiveBaseName = 'MyPluginName'
    manifest {
        attributes(
            'Main-Class': 'net.mypackage.mainerstesplugin.MyPluginClass'
        )
    }
}


Siehe auch