11// This file is responsible for reconfiguring repositories to use EngineHub's mirrors
22// In addition, it configures content filtering to speed up dependency resolution
33
4- import org.gradle.api.artifacts.dsl.RepositoryHandler
5- import org.gradle.api.artifacts.repositories.UrlArtifactRepository
6- import org.gradle.api.logging.Logging
74import java.net.URI
85
96data class RepositoryReconfiguration (
107 val newUri : URI ,
11- val contentConfiguration : (MavenRepositoryContentDescriptor .() -> Unit )? = null ,
8+ val contentConfiguration : (MavenArtifactRepository .() -> Unit )? = null ,
129) {
13- constructor (newUri: String , contentConfiguration: (MavenRepositoryContentDescriptor .() -> Unit )? = null ) :
10+ constructor (newUri: String , contentConfiguration: (MavenArtifactRepository .() -> Unit )? = null ) :
1411 this (URI .create(newUri), contentConfiguration)
1512}
1613
@@ -30,67 +27,97 @@ object Isolated {
3027 private val REPO_RECONFIGURATIONS = listOf (
3128 " https://repo.maven.apache.org/maven2/" to
3229 RepositoryReconfiguration (" https://repo.enginehub.org/internal/maven-central-proxy/" ) {
33- releasesOnly()
30+ mavenContent {
31+ releasesOnly()
32+ }
3433 },
3534 " https://plugins.gradle.org/m2" to
3635 RepositoryReconfiguration (" https://repo.enginehub.org/internal/plugin-portal-proxy/" ) {
37- releasesOnly()
36+ mavenContent {
37+ releasesOnly()
38+ }
3839 },
3940 " https://libraries.minecraft.net/" to
4041 RepositoryReconfiguration (" https://repo.enginehub.org/internal/minecraft/" ) {
41- releasesOnly()
42+ mavenContent {
43+ releasesOnly()
44+ }
4245 },
4346 " https://maven.neoforged.net/releases/" to
4447 RepositoryReconfiguration (" https://repo.enginehub.org/internal/neoforged/" ) {
48+ mavenContent {
4549 releasesOnly()
4650 includeGroupAndSubgroups(" net.minecraftforge" )
47- includeGroupAndSubgroups(" net.neoforged" )
51+ includeGroupAndSubgroups(" net.neoforged" )
52+ }
4853 },
4954 " https://maven.minecraftforge.net/" to
5055 RepositoryReconfiguration (" https://repo.enginehub.org/internal/forge/" ) {
56+ mavenContent {
5157 releasesOnly()
52- includeGroupAndSubgroups(" net.minecraftforge" )
58+ includeGroupAndSubgroups(" net.minecraftforge" )
59+ }
5360 },
5461 " https://maven.parchmentmc.org/" to
5562 RepositoryReconfiguration (" https://repo.enginehub.org/internal/parchment/" ) {
63+ mavenContent {
5664 releasesOnly()
57- includeGroup(" org.parchmentmc.data" )
65+ includeGroup(" org.parchmentmc.data" )
66+ }
5867 },
5968 " https://repo.papermc.io/repository/maven-public/" to
6069 RepositoryReconfiguration (" https://repo.enginehub.org/internal/papermc-proxy/" ) {
70+ mavenContent {
6171 includeGroupAndSubgroups(" io.papermc" )
6272 includeGroupAndSubgroups(" com.velocitypowered" )
6373 includeGroupAndSubgroups(" ca.spottedleaf" )
6474 includeGroupAndSubgroups(" me.lucko" )
65- includeModule(" net.md-5" , " bungeecord-chat" )
75+ includeModule(" net.md-5" , " bungeecord-chat" )
76+ }
6677 },
6778 " https://maven.fabricmc.net/" to
6879 RepositoryReconfiguration (" https://repo.enginehub.org/internal/fabricmc/" ) {
80+ mavenContent {
6981 releasesOnly()
7082 includeGroupAndSubgroups(" fabric-loom" )
7183 includeGroupAndSubgroups(" net.fabricmc" )
72- excludeModule(" net.fabricmc" , " yarn" )
84+ excludeModule(" net.fabricmc" , " yarn" )
85+ }
7386 },
7487 " https://maven.fabricmc.net/#yarn-only" to
7588 RepositoryReconfiguration (" https://repo.enginehub.org/internal/fabricmc-yarn/" ) {
89+ mavenContent {
7690 releasesOnly()
77- includeModule(" net.fabricmc" , " yarn" )
91+ includeModule(" net.fabricmc" , " yarn" )
92+ }
7893 },
7994 " https://repo.spongepowered.org/repository/maven-releases/" to
8095 RepositoryReconfiguration (" https://repo.enginehub.org/internal/spongepowered-releases/" ) {
96+ mavenContent {
8197 releasesOnly()
82- includeGroupAndSubgroups(" org.spongepowered" )
98+ includeGroupAndSubgroups(" org.spongepowered" )
99+ }
83100 },
84101 " https://repo.spongepowered.org/repository/maven-snapshots/" to
85102 RepositoryReconfiguration (" https://repo.enginehub.org/internal/spongepowered-snapshots/" ) {
103+ mavenContent {
86104 snapshotsOnly()
87- includeGroupAndSubgroups(" org.spongepowered" )
105+ includeGroupAndSubgroups(" org.spongepowered" )
106+ }
88107 },
89108 " https://repo.enginehub.org/libs-release/" to
90109 RepositoryReconfiguration (" https://repo.enginehub.org/libs-release/" ) {
91- releasesOnly()
92- includeGroupAndSubgroups(" com.sk89q" )
93- includeGroupAndSubgroups(" org.enginehub" )
110+ mavenContent {
111+ releasesOnly()
112+ includeGroupAndSubgroups(" com.sk89q" )
113+ includeGroupAndSubgroups(" org.enginehub" )
114+ }
115+
116+ metadataSources {
117+ gradleMetadata()
118+ mavenPom()
119+ artifact()
120+ }
94121 },
95122 ).associate { (k, v) -> URI .create(k) to v }
96123 private val LOGGER = Logging .getLogger(" enginehub-reconfiguring-repositories" )
@@ -119,9 +146,7 @@ object Isolated {
119146 if (! (repo is MavenArtifactRepository )) {
120147 error(" Cannot configure content on non-Maven repository: ${repo.name} ${repo.url} " )
121148 }
122- repo.mavenContent {
123- reconfiguration.contentConfiguration.invoke(this )
124- }
149+ repo.run (reconfiguration.contentConfiguration)
125150 }
126151 }
127152 }
0 commit comments