diff --git a/build.gradle b/build.gradle index 0aff0c00064..bc97d917636 100644 --- a/build.gradle +++ b/build.gradle @@ -23,18 +23,31 @@ plugins { id "com.matthewprenger.cursegradle" version "1.4.0" id "com.modrinth.minotaur" version "1.2.1" id 'io.github.juuxel.loom-quiltflower' version '1.7.1' + id "com.github.johnrengelman.shadow" version "7.0.0" } configurations { - includeInJar + shaded { + transitive = false + } portaforgyImplementation.extendsFrom(compileClasspath) - implementation.extendsFrom(includeInJar) } dependencies { - includeInJar project(path: ':libs:markdown', configuration: "archives") - includeInJar project(path: ':libs:shaded-snakeyaml', configuration: "shadow") - includeInJar project(path: ':libs:shaded-directory-watcher', configuration: "shadow") + // To be copied into the jar file + shaded project(path: ':libs:markdown', configuration: "archives") + shaded "io.methvin:directory-watcher:${directory_watcher_version}" + shaded "org.yaml:snakeyaml:${snakeyaml_version}" + + implementation project(':libs:markdown') + // Do not inherit any transitive dependencies here since we rely on those dependencies being + // present in Minecrafts own dependencies already. + implementation("io.methvin:directory-watcher:${directory_watcher_version}") { + transitive = false + } + implementation("org.yaml:snakeyaml:${snakeyaml_version}") { + transitive = false + } // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" @@ -307,14 +320,14 @@ processResources { } } -jar { +jar.enabled = false // Replaced by "shadowJar" + +shadowJar { finalizedBy 'remapJar' from sourceSets.main.output.classesDirs from sourceSets.main.output.resourcesDir - from configurations.includeInJar.collect { zipTree it } - from('guidebook') { into 'assets/ae2/ae2guide' } @@ -330,6 +343,17 @@ jar { "MixinConfigs" : "ae2.mixins.json" ]) } + + relocate "io.methvin", "appeng.shaded.methvin" + relocate "org.yaml.snakeyaml", "appeng.shaded.snakeyaml" + + configurations = [project.configurations.shaded] + archiveClassifier = jar.archiveClassifier + destinationDirectory = jar.destinationDirectory +} + +remapJar { + inputFile = shadowJar.archiveFile } def publicApiIncludePatterns = { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f398c33c4b0..91dc341732d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/libs/shaded-directory-watcher/build.gradle b/libs/shaded-directory-watcher/build.gradle deleted file mode 100644 index d3ba8ee6ecb..00000000000 --- a/libs/shaded-directory-watcher/build.gradle +++ /dev/null @@ -1,23 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "7.0.0" - id "java" -} - -configurations { - relocated { - // Directory-Watcher depends on JNA and on SLF4j, - // both of which are part of MCs own dependencies already - transitive = false - } -} - -dependencies { - relocated "io.methvin:directory-watcher:${rootProject.directory_watcher_version}" -} - -shadowJar { - relocate "io.methvin", "appeng.shaded.directorywatcher" - - configurations = [project.configurations.relocated] - archiveClassifier = "shaded" -} diff --git a/libs/shaded-snakeyaml/build.gradle b/libs/shaded-snakeyaml/build.gradle deleted file mode 100644 index 5d864348d46..00000000000 --- a/libs/shaded-snakeyaml/build.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "7.0.0" - id "java" -} - -configurations { - relocated { - transitive = false - } -} - -dependencies { - relocated "org.yaml:snakeyaml:${rootProject.snakeyaml_version}" -} - -shadowJar { - relocate "org.yaml.snakeyaml", "appeng.shaded.snakeyaml" - - configurations = [project.configurations.relocated] - archiveClassifier = "shaded" -} diff --git a/settings.gradle b/settings.gradle index 56edb6027fb..1b5af92f96c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,5 +10,3 @@ pluginManagement { } include 'libs:markdown' -include 'libs:shaded-snakeyaml' -include 'libs:shaded-directory-watcher' diff --git a/src/main/java/appeng/client/guidebook/GuideSourceWatcher.java b/src/main/java/appeng/client/guidebook/GuideSourceWatcher.java index b677f7b5b2e..663b5584336 100644 --- a/src/main/java/appeng/client/guidebook/GuideSourceWatcher.java +++ b/src/main/java/appeng/client/guidebook/GuideSourceWatcher.java @@ -23,14 +23,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import io.methvin.watcher.DirectoryChangeEvent; +import io.methvin.watcher.DirectoryChangeListener; +import io.methvin.watcher.DirectoryWatcher; + import net.minecraft.resources.ResourceLocation; import appeng.client.guidebook.compiler.PageCompiler; import appeng.client.guidebook.compiler.ParsedGuidePage; import appeng.core.AppEng; -import appeng.shaded.directorywatcher.watcher.DirectoryChangeEvent; -import appeng.shaded.directorywatcher.watcher.DirectoryChangeListener; -import appeng.shaded.directorywatcher.watcher.DirectoryWatcher; class GuideSourceWatcher { private static final Logger LOGGER = LoggerFactory.getLogger(GuideSourceWatcher.class); diff --git a/src/main/java/appeng/client/guidebook/compiler/Frontmatter.java b/src/main/java/appeng/client/guidebook/compiler/Frontmatter.java index dc70494ad7b..5b13f59b475 100644 --- a/src/main/java/appeng/client/guidebook/compiler/Frontmatter.java +++ b/src/main/java/appeng/client/guidebook/compiler/Frontmatter.java @@ -3,14 +3,13 @@ import java.util.Map; import org.jetbrains.annotations.Nullable; +import org.yaml.snakeyaml.LoaderOptions; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.constructor.SafeConstructor; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; -import appeng.shaded.snakeyaml.LoaderOptions; -import appeng.shaded.snakeyaml.Yaml; -import appeng.shaded.snakeyaml.constructor.SafeConstructor; - public record Frontmatter( FrontmatterNavigation navigationEntry, Map additionalProperties) {