From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 3 Feb 2024 18:45:53 -0500 Subject: [PATCH] Configurable LibraryLoader maven repos TODO - Dreeam: Support multi maven repos for lib downloading. Add JVM flag `-DLeaf.library-download-repo=link` to choose library download repo link. e.g. `-DLeaf.library-download-repo=https://maven.aliyun.com/repository/public` diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java index 78a6e7a31a81bc82d3e3687661e16c6d8ebc4617..d1052c9e8f64619170548336b25a62c863c5ee2b 100644 --- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java +++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java @@ -6,7 +6,6 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,6 +45,7 @@ public class LibraryLoader private final RepositorySystem repository; private final DefaultRepositorySystemSession session; private final List repositories; + private final String REPO = System.getProperty("Leaf.library-download-repo") != null ? System.getProperty("Leaf.library-download-repo") : "https://repo.maven.apache.org/maven2"; // Leaf - Configurable maven repos public LibraryLoader(@NotNull Logger logger) { @@ -72,7 +72,17 @@ public class LibraryLoader } ); session.setReadOnly(); - this.repositories = repository.newResolutionRepositories( session, Arrays.asList( new RemoteRepository.Builder( "central", "default", "https://repo.maven.apache.org/maven2" ).build() ) ); + // Leaf start - Configurable maven repos + this.repositories = repository.newResolutionRepositories( session, List.of( new RemoteRepository.Builder( "central", "default", REPO ).build() ) ); + /* // Dreeam TODO + this.repositories = repository.newResolutionRepositories(session, List.of( + new RemoteRepository.Builder("central", "default", "https://repo.maven.apache.org/maven2").build(), + new RemoteRepository.Builder("aliyun", "default", "https://maven.aliyun.com/repository/public").build(), + new RemoteRepository.Builder("tencentclound", "default", "https://mirrors.cloud.tencent.com/nexus/repository/maven-public/").build(), + new RemoteRepository.Builder("huaweicloud", "default", "https://repo.huaweicloud.com/repository/maven/").build() + )); + */ + // Leaf end } @Nullable