From 2d7799628a51b1a79ed5a5de0a5d0d0235f5a2f5 Mon Sep 17 00:00:00 2001 From: William278 Date: Sat, 21 Jun 2025 15:31:56 +0100 Subject: [PATCH] refactor(paper): avoid use of default maven central URL --- .../william278/husksync/PaperHuskSyncLoader.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java b/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java index 9637453c..810124e6 100644 --- a/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java +++ b/bukkit/src/main/java/net/william278/husksync/PaperHuskSyncLoader.java @@ -34,6 +34,7 @@ import org.jetbrains.annotations.Nullable; import java.io.InputStream; import java.util.List; import java.util.Objects; +import java.util.stream.Stream; @NoArgsConstructor @SuppressWarnings("UnstableApiUsage") @@ -46,13 +47,20 @@ public class PaperHuskSyncLoader implements PluginLoader { resolveLibraries(classpathBuilder).stream() .map(DefaultArtifact::new) .forEach(artifact -> resolver.addDependency(new Dependency(artifact, null))); - resolver.addRepository(new RemoteRepository.Builder( - "maven", "default", "https://repo.maven.apache.org/maven2/" - ).build()); + resolver.addRepository(new RemoteRepository.Builder("maven", "default", getMavenUrl()).build()); classpathBuilder.addLibrary(resolver); } + @NotNull + private static String getMavenUrl() { + return Stream.of( + System.getenv("PAPER_DEFAULT_CENTRAL_REPOSITORY"), + System.getProperty("org.bukkit.plugin.java.LibraryLoader.centralURL"), + "https://maven-central.storage-download.googleapis.com/maven2" + ).filter(Objects::nonNull).findFirst().orElseThrow(IllegalStateException::new); + } + @NotNull private static List resolveLibraries(@NotNull PluginClasspathBuilder classpathBuilder) { try (InputStream input = getLibraryListFile()) {