Add deployment tool

This commit is contained in:
Oliver
2025-03-15 13:40:49 +01:00
parent 15d4428dfd
commit 3a9bf95d77
4 changed files with 108 additions and 9 deletions

View File

@@ -11,12 +11,15 @@ include(":libraries:common")
include(":libraries:jdb") include(":libraries:jdb")
include(":libraries:plugin-tests") include(":libraries:plugin-tests")
include("libraries:packets:api") include(":libraries:packets:api")
include("libraries:packets:factories") include(":libraries:packets:factories")
include("libraries:packets:implementations") include(":libraries:packets:implementations")
include("libraries:packets:implementations:1_20_6") include(":libraries:packets:implementations:1_20_6")
include("libraries:packets:implementations:1_21") include(":libraries:packets:implementations:1_21")
include("libraries:packets:implementations:1_21_1") include(":libraries:packets:implementations:1_21_1")
include("libraries:packets:implementations:1_21_3") include(":libraries:packets:implementations:1_21_3")
include("libraries:packets:implementations:1_21_4") include(":libraries:packets:implementations:1_21_4")
include("libraries:packets:test_plugin") include(":libraries:packets:test_plugin")
include(":tools:deployment")

View File

@@ -0,0 +1,68 @@
import com.github.jengelman.gradle.plugins.shadow.ShadowJavaPlugin.Companion.shadowJar
plugins {
id("java")
id("maven-publish")
id("com.gradleup.shadow")
}
group = "de.oliver"
description = "Tool to deploy Minecraft plugins"
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(23))
}
repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://repo.fancyplugins.de/releases")
}
dependencies {
compileOnly("com.google.code.gson:gson:2.11.0")
implementation("org.jetbrains:annotations:26.0.2")
implementation("de.oliver.FancyAnalytics:java-sdk:0.0.2")
implementation("de.oliver.FancyAnalytics:logger:0.0.6")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.3")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.1")
testImplementation("com.google.code.gson:gson:2.11.0")
}
tasks {
jar {
manifest {
attributes["Main-Class"] = "de.oliver.deployment.Main"
}
}
shadowJar{
archiveClassifier.set("")
}
compileJava {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
// Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
// See https://openjdk.java.net/jeps/247 for more information.
options.release.set(23)
}
java {
withSourcesJar()
withJavadocJar()
}
javadoc {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
}
processResources {
filteringCharset = Charsets.UTF_8.name() // We want UTF-8 for everything
}
test {
useJUnitPlatform()
}
}

View File

@@ -0,0 +1,14 @@
package de.oliver.deployment;
import com.google.gson.annotations.SerializedName;
public record Configuration(
@SerializedName("project_id") String projectID,
@SerializedName("plugin_jar_path") String pluginJarPath,
String version,
@SerializedName("supported_versions") String[] supportedVersions,
String channel,
@SerializedName("loaders") String[] loaders,
boolean featured
) {
}

View File

@@ -0,0 +1,14 @@
package de.oliver.deployment;
import com.google.gson.Gson;
public class Main {
private static final Gson GSON = new Gson();
public static void main(String[] args) {
String configFilePath = args[0];
Configuration configuration = GSON.fromJson(configFilePath, Configuration.class);
}
}