From e6deb70ecd2d59dac9627c01cf0746c11e14afeb Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Sun, 5 Nov 2023 18:16:29 +0200 Subject: [PATCH] [BUG] Fix imports and add remapAndPack method --- gradle.properties | 2 +- .../hypherionmc/jarmanager/JarManager.java | 22 +++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index fb02318..6dc974c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ version_major=1 version_minor=0 -version_patch=2 +version_patch=3 maven_group=com.hypherionmc diff --git a/src/main/java/com/hypherionmc/jarmanager/JarManager.java b/src/main/java/com/hypherionmc/jarmanager/JarManager.java index b77daf0..b7ed63c 100644 --- a/src/main/java/com/hypherionmc/jarmanager/JarManager.java +++ b/src/main/java/com/hypherionmc/jarmanager/JarManager.java @@ -4,11 +4,11 @@ */ package com.hypherionmc.jarmanager; +import com.hypherionmc.jarrelocator.JarRelocator; +import com.hypherionmc.jarrelocator.Relocation; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import me.lucko.jarrelocator.JarRelocator; -import me.lucko.jarrelocator.Relocation; import java.io.File; import java.io.IOException; @@ -102,4 +102,22 @@ public final class JarManager { // Move the temporary file to the outputJar Files.move(tempJar.toPath(), outputJar.toPath(), StandardCopyOption.REPLACE_EXISTING); } + + /** + * Relocate or remap packages inside a directory. + * For example, from com.google.gson to lib.com.google.gson + * The directory will be packed into a jar after remapping is done + * @param inputDirectory - The input directory containing the jar content + * @param outputJar - The remapped and packed output jar + * @param relocations - Packages to relocate. See example above + * @throws IOException - Thrown when an IO error occurs + */ + public void remapAndPack(File inputDirectory, File outputJar, List relocations) throws IOException { + + // Run the jar relocater task + JarRelocator relocator = new JarRelocator(inputDirectory, outputJar, relocations); + relocator.runDirectory(); + + packJar(inputDirectory, outputJar); + } }