Skip to content

Commit 46be846

Browse files
committed
Add NeoForgedRepositoryFilter to streamline repository content configuration
1 parent a67787c commit 46be846

3 files changed

Lines changed: 158 additions & 164 deletions

File tree

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
2+
package net.neoforged.moddevgradle.internal.generated;
3+
4+
public class NeoForgedRepositoryFilter {
5+
public static void filter(org.gradle.api.artifacts.repositories.RepositoryContentDescriptor filter) {
6+
filter.includeModule("ca.weblite", "java-objc-bridge");
7+
filter.includeModule("com.electronwill.night-config", "core");
8+
filter.includeModule("com.electronwill.night-config", "toml");
9+
filter.includeModule("com.fasterxml.jackson.core", "jackson-annotations");
10+
filter.includeModule("com.fasterxml.jackson.core", "jackson-core");
11+
filter.includeModule("com.fasterxml.jackson", "jackson-base");
12+
filter.includeModule("com.fasterxml.jackson", "jackson-bom");
13+
filter.includeModule("com.fasterxml.jackson", "jackson-parent");
14+
filter.includeModule("com.fasterxml", "oss-parent");
15+
filter.includeModule("com.github.oshi", "oshi-core");
16+
filter.includeModule("com.github.oshi", "oshi-parent");
17+
filter.includeModule("com.google.code.findbugs", "jsr305");
18+
filter.includeModule("com.google.code.gson", "gson");
19+
filter.includeModule("com.google.code.gson", "gson-parent");
20+
filter.includeModule("com.google.errorprone", "error_prone_annotations");
21+
filter.includeModule("com.google.errorprone", "error_prone_parent");
22+
filter.includeModule("com.google.guava", "failureaccess");
23+
filter.includeModule("com.google.guava", "guava");
24+
filter.includeModule("com.google.guava", "guava-parent");
25+
filter.includeModule("com.google.guava", "listenablefuture");
26+
filter.includeModule("com.google.j2objc", "j2objc-annotations");
27+
filter.includeModule("com.ibm.icu", "icu4j");
28+
filter.includeModule("com.machinezoo.noexception", "noexception");
29+
filter.includeModule("com.mojang", "authlib");
30+
filter.includeModule("com.mojang", "blocklist");
31+
filter.includeModule("com.mojang", "brigadier");
32+
filter.includeModule("com.mojang", "datafixerupper");
33+
filter.includeModule("com.mojang", "logging");
34+
filter.includeModule("com.mojang", "patchy");
35+
filter.includeModule("com.mojang", "text2speech");
36+
filter.includeModule("com.nothome", "javaxdelta");
37+
filter.includeModule("commons-codec", "commons-codec");
38+
filter.includeModule("commons-io", "commons-io");
39+
filter.includeModule("commons-logging", "commons-logging");
40+
filter.includeModule("cpw.mods", "bootstraplauncher");
41+
filter.includeModule("cpw.mods", "modlauncher");
42+
filter.includeModule("cpw.mods", "securejarhandler");
43+
filter.includeModule("de.siegmar", "fastcsv");
44+
filter.includeModule("io.codechicken", "DiffPatch");
45+
filter.includeModule("io.fabric8", "kubernetes-client-bom");
46+
filter.includeModule("io.github.llamalad7", "mixinextras-neoforge");
47+
filter.includeModule("io.netty", "netty-bom");
48+
filter.includeModule("io.netty", "netty-buffer");
49+
filter.includeModule("io.netty", "netty-codec");
50+
filter.includeModule("io.netty", "netty-common");
51+
filter.includeModule("io.netty", "netty-handler");
52+
filter.includeModule("io.netty", "netty-parent");
53+
filter.includeModule("io.netty", "netty-resolver");
54+
filter.includeModule("io.netty", "netty-transport");
55+
filter.includeModule("io.netty", "netty-transport-classes-epoll");
56+
filter.includeModule("io.netty", "netty-transport-native-unix-common");
57+
filter.includeModule("it.unimi.dsi", "fastutil");
58+
filter.includeModule("jakarta.platform", "jakarta.jakartaee-bom");
59+
filter.includeModule("jakarta.platform", "jakartaee-api-parent");
60+
filter.includeModule("net.covers1624", "Quack");
61+
filter.includeModule("net.fabricmc", "sponge-mixin");
62+
filter.includeModule("net.java.dev.jna", "jna");
63+
filter.includeModule("net.java.dev.jna", "jna-platform");
64+
filter.includeModule("net.jodah", "typetools");
65+
filter.includeModule("net.minecraftforge", "mergetool");
66+
filter.includeModule("net.minecraftforge", "srgutils");
67+
filter.includeModule("net.minecrell", "terminalconsoleappender");
68+
filter.includeModule("net.neoforged.accesstransformers", "at-modlauncher");
69+
filter.includeModule("net.neoforged.accesstransformers", "at-parser");
70+
filter.includeModule("net.neoforged.fancymodloader", "earlydisplay");
71+
filter.includeModule("net.neoforged.fancymodloader", "loader");
72+
filter.includeModule("net.neoforged.installertools", "binarypatcher");
73+
filter.includeModule("net.neoforged.installertools", "cli-utils");
74+
filter.includeModule("net.neoforged.installertools", "installertools");
75+
filter.includeModule("net.neoforged.javadoctor", "gson-io");
76+
filter.includeModule("net.neoforged.javadoctor", "spec");
77+
filter.includeModule("net.neoforged.jst", "jst-cli-bundle");
78+
filter.includeModule("net.neoforged", "AutoRenamingTool");
79+
filter.includeModule("net.neoforged", "DevLaunch");
80+
filter.includeModule("net.neoforged", "JarJarFileSystems");
81+
filter.includeModule("net.neoforged", "JarJarMetadata");
82+
filter.includeModule("net.neoforged", "JarJarSelector");
83+
filter.includeModule("net.neoforged", "accesstransformers");
84+
filter.includeModule("net.neoforged", "bus");
85+
filter.includeModule("net.neoforged", "coremods");
86+
filter.includeModule("net.neoforged", "mergetool");
87+
filter.includeModule("net.neoforged", "minecraft-dependencies");
88+
filter.includeModule("net.neoforged", "neoforge");
89+
filter.includeModule("net.neoforged", "neoform");
90+
filter.includeModule("net.neoforged", "neoform-runtime");
91+
filter.includeModule("net.neoforged", "srgutils");
92+
filter.includeModule("net.sf.jopt-simple", "jopt-simple");
93+
filter.includeModule("org.antlr", "antlr4-master");
94+
filter.includeModule("org.antlr", "antlr4-runtime");
95+
filter.includeModule("org.apache.commons", "commons-compress");
96+
filter.includeModule("org.apache.commons", "commons-lang3");
97+
filter.includeModule("org.apache.commons", "commons-parent");
98+
filter.includeModule("org.apache.groovy", "groovy-bom");
99+
filter.includeModule("org.apache.httpcomponents", "httpclient");
100+
filter.includeModule("org.apache.httpcomponents", "httpcomponents-client");
101+
filter.includeModule("org.apache.httpcomponents", "httpcomponents-core");
102+
filter.includeModule("org.apache.httpcomponents", "httpcomponents-parent");
103+
filter.includeModule("org.apache.httpcomponents", "httpcore");
104+
filter.includeModule("org.apache.logging.log4j", "log4j");
105+
filter.includeModule("org.apache.logging.log4j", "log4j-api");
106+
filter.includeModule("org.apache.logging.log4j", "log4j-bom");
107+
filter.includeModule("org.apache.logging.log4j", "log4j-core");
108+
filter.includeModule("org.apache.logging.log4j", "log4j-slf4j2-impl");
109+
filter.includeModule("org.apache.logging", "logging-parent");
110+
filter.includeModule("org.apache.maven", "maven");
111+
filter.includeModule("org.apache.maven", "maven-artifact");
112+
filter.includeModule("org.apache.maven", "maven-parent");
113+
filter.includeModule("org.apache", "apache");
114+
filter.includeModule("org.checkerframework", "checker-qual");
115+
filter.includeModule("org.codehaus.groovy", "groovy-bom");
116+
filter.includeModule("org.codehaus.plexus", "plexus");
117+
filter.includeModule("org.codehaus.plexus", "plexus-utils");
118+
filter.includeModule("org.eclipse.ee4j", "project");
119+
filter.includeModule("org.eclipse.jetty", "jetty-bom");
120+
filter.includeModule("org.jcraft", "jorbis");
121+
filter.includeModule("org.jetbrains", "annotations");
122+
filter.includeModule("org.jline", "jline-parent");
123+
filter.includeModule("org.jline", "jline-reader");
124+
filter.includeModule("org.jline", "jline-terminal");
125+
filter.includeModule("org.joml", "joml");
126+
filter.includeModule("org.junit", "junit-bom");
127+
filter.includeModule("org.lwjgl", "lwjgl");
128+
filter.includeModule("org.lwjgl", "lwjgl-bom");
129+
filter.includeModule("org.lwjgl", "lwjgl-freetype");
130+
filter.includeModule("org.lwjgl", "lwjgl-glfw");
131+
filter.includeModule("org.lwjgl", "lwjgl-jemalloc");
132+
filter.includeModule("org.lwjgl", "lwjgl-openal");
133+
filter.includeModule("org.lwjgl", "lwjgl-opengl");
134+
filter.includeModule("org.lwjgl", "lwjgl-stb");
135+
filter.includeModule("org.lwjgl", "lwjgl-tinyfd");
136+
filter.includeModule("org.lz4", "lz4-java");
137+
filter.includeModule("org.mockito", "mockito-bom");
138+
filter.includeModule("org.openjdk.nashorn", "nashorn-core");
139+
filter.includeModule("org.ow2.asm", "asm");
140+
filter.includeModule("org.ow2.asm", "asm-analysis");
141+
filter.includeModule("org.ow2.asm", "asm-commons");
142+
filter.includeModule("org.ow2.asm", "asm-tree");
143+
filter.includeModule("org.ow2.asm", "asm-util");
144+
filter.includeModule("org.ow2", "ow2");
145+
filter.includeModule("org.parchmentmc.data", "parchment-1.21");
146+
filter.includeModule("org.slf4j", "slf4j-api");
147+
filter.includeModule("org.slf4j", "slf4j-bom");
148+
filter.includeModule("org.slf4j", "slf4j-parent");
149+
filter.includeModule("org.sonatype.oss", "oss-parent");
150+
filter.includeModule("org.springframework", "spring-framework-bom");
151+
filter.includeModule("org.tukaani", "xz");
152+
filter.includeModule("org.vineflower", "vineflower");
153+
filter.includeModule("trove", "trove");
154+
}
155+
}
Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package net.neoforged.moddevgradle.internal;
22

33
import java.net.URI;
4-
import java.util.Locale;
5-
import java.util.Set;
64
import net.neoforged.moddevgradle.internal.generated.MojangRepositoryFilter;
5+
import net.neoforged.moddevgradle.internal.generated.NeoForgedRepositoryFilter;
76
import org.gradle.api.GradleException;
87
import org.gradle.api.Plugin;
98
import org.gradle.api.Project;
109
import org.gradle.api.artifacts.dsl.RepositoryHandler;
11-
import org.gradle.api.artifacts.repositories.ArtifactRepository;
1210
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
1311
import org.gradle.api.initialization.Settings;
1412
import org.gradle.api.invocation.Gradle;
@@ -23,20 +21,12 @@
2321
* </ul>
2422
*/
2523
public class RepositoriesPlugin implements Plugin<PluginAware> {
26-
private static final String NEOFORGED_RELEASES_NAME = "NeoForged Releases";
27-
28-
private static final Set<String> MAVEN_CENTRAL_URLS = Set.of(
29-
normalizeRepositoryUrl(URI.create("https://repo.maven.apache.org/maven2/")),
30-
normalizeRepositoryUrl(URI.create("https://repo1.maven.org/maven2/")));
31-
3224
@Override
3325
public void apply(PluginAware target) {
3426
if (target instanceof Project project) {
3527
applyRepositories(project.getRepositories());
36-
project.afterEvaluate(p -> moveMavenCentralBeforeManagedRepositories(p.getRepositories()));
3728
} else if (target instanceof Settings settings) {
3829
applyRepositories(settings.getDependencyResolutionManagement().getRepositories());
39-
settings.getGradle().settingsEvaluated(s -> moveMavenCentralBeforeManagedRepositories(settings.getDependencyResolutionManagement().getRepositories()));
4030
settings.getGradle().getPlugins().apply(getClass()); // Add a marker to Gradle
4131
} else if (target instanceof Gradle gradle) {
4232
// Do nothing
@@ -65,47 +55,14 @@ private void applyRepositories(RepositoryHandler repositories) {
6555
sortFirst(repositories, mojangMetaMaven);
6656

6757
repositories.maven(repo -> {
68-
repo.setName(NEOFORGED_RELEASES_NAME);
58+
repo.setName("NeoForged Releases");
6959
repo.setUrl(URI.create("https://maven.neoforged.net/releases/"));
60+
repo.content(NeoForgedRepositoryFilter::filter);
7061
});
7162
}
7263

7364
private static void sortFirst(RepositoryHandler repositories, MavenArtifactRepository repo) {
7465
repositories.remove(repo);
7566
repositories.add(0, repo);
7667
}
77-
78-
private static void moveMavenCentralBeforeManagedRepositories(RepositoryHandler repositories) {
79-
MavenArtifactRepository mavenCentral = repositories.stream()
80-
.filter(MavenArtifactRepository.class::isInstance)
81-
.map(MavenArtifactRepository.class::cast)
82-
.filter(RepositoriesPlugin::isMavenCentral)
83-
.findFirst()
84-
.orElse(null);
85-
86-
if (mavenCentral == null) {
87-
return;
88-
}
89-
90-
repositories.remove(mavenCentral);
91-
92-
int insertIndex = repositories.size();
93-
for (int i = 0; i < repositories.size(); i++) {
94-
ArtifactRepository repository = repositories.get(i);
95-
if (NEOFORGED_RELEASES_NAME.equals(repository.getName())) {
96-
insertIndex = i;
97-
break;
98-
}
99-
}
100-
101-
repositories.add(insertIndex, mavenCentral);
102-
}
103-
104-
private static boolean isMavenCentral(MavenArtifactRepository repository) {
105-
return MAVEN_CENTRAL_URLS.contains(normalizeRepositoryUrl(repository.getUrl()));
106-
}
107-
108-
private static String normalizeRepositoryUrl(URI uri) {
109-
return uri.toString().replaceAll("/+$", "").toLowerCase(Locale.ROOT);
110-
}
11168
}

src/test/java/net/neoforged/moddevgradle/functional/RepositoriesPluginFunctionalTest.java

Lines changed: 0 additions & 118 deletions
This file was deleted.

0 commit comments

Comments
 (0)