mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
deployment-tool: Add platform-specific deployments and flag to send disc notification
This commit is contained in:
@@ -15,10 +15,32 @@ public class Main {
|
||||
private static final Gson GSON = new Gson();
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
String configFilePath = args[0];
|
||||
if (args.length < 2) {
|
||||
System.err.println("Usage: java -jar deployment.jar <platform> <config_file path> [send_notification]");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
String platform = args[0];
|
||||
|
||||
String configFilePath = args[1];
|
||||
String configData = Files.readString(Path.of(configFilePath));
|
||||
Configuration configuration = GSON.fromJson(configData, Configuration.class);
|
||||
|
||||
boolean sendNotification = args.length > 2 && Boolean.parseBoolean(args[2]);
|
||||
|
||||
if (platform.equalsIgnoreCase("modrinth")) {
|
||||
deployToModrinth(configuration);
|
||||
}
|
||||
|
||||
if (sendNotification) {
|
||||
sendDiscordNotification(configuration);
|
||||
System.out.println("Deployment completed and notification sent.");
|
||||
} else {
|
||||
System.out.println("Deployment completed without sending notification.");
|
||||
}
|
||||
}
|
||||
|
||||
private static void deployToModrinth(Configuration configuration) {
|
||||
String modrinthApiKey = System.getenv("MODRINTH_API_KEY");
|
||||
ModrinthService modrinthService = new ModrinthService(modrinthApiKey);
|
||||
try {
|
||||
@@ -26,23 +48,25 @@ public class Main {
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void sendDiscordNotification(Configuration configuration) {
|
||||
String discordWebhookUrl = System.getenv("DISCORD_WEBHOOK_URL");
|
||||
if (discordWebhookUrl != null) {
|
||||
DiscordWebhook.Data data = new DiscordWebhook.Data("Deployment completed", List.of(
|
||||
new DiscordWebhook.Data.Embed(
|
||||
"New version of "+configuration.projectName(),
|
||||
"New version of " + configuration.projectName(),
|
||||
"""
|
||||
**Version:** %s
|
||||
**Channel:** %s
|
||||
**Commit:** [%s](https://github.com/FancyMcPlugins/fancyplugins/commit/%s)
|
||||
**Download:** %s
|
||||
""".formatted(
|
||||
configuration.readVersion(),
|
||||
configuration.channel(),
|
||||
GitService.getCommitHash().substring(0, 7),
|
||||
GitService.getCommitHash(),
|
||||
"https://modrinth.com/plugin/"+configuration.projectName()+"/version/"+configuration.readVersion()),
|
||||
configuration.readVersion(),
|
||||
configuration.channel(),
|
||||
GitService.getCommitHash().substring(0, 7),
|
||||
GitService.getCommitHash(),
|
||||
"https://modrinth.com/plugin/" + configuration.projectName() + "/version/" + configuration.readVersion()),
|
||||
|
||||
0x00FF00
|
||||
)
|
||||
@@ -52,7 +76,6 @@ public class Main {
|
||||
} else {
|
||||
System.out.println("Discord webhook URL not set. Skipping notification.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user