|  | 
| 3 | 3 | import io.github.cichlidmc.cichlid_gradle.util.Distribution; | 
| 4 | 4 | import org.gradle.api.Action; | 
| 5 | 5 | import org.gradle.api.Project; | 
| 6 |  | -import org.gradle.api.artifacts.Dependency; | 
| 7 |  | -import org.gradle.api.artifacts.dsl.DependencyHandler; | 
|  | 6 | +import org.gradle.api.artifacts.ExternalModuleDependency; | 
|  | 7 | +import org.gradle.api.artifacts.dsl.DependencyFactory; | 
| 8 | 8 | 
 | 
| 9 | 9 | public class MinecraftDepsExtension { | 
| 10 | 10 | 	// can't use managed properties - https://github.com/gradle/gradle/issues/18213 | 
| 11 |  | -	private final DependencyHandler deps; | 
|  | 11 | +	private final DependencyFactory factory; | 
| 12 | 12 | 
 | 
| 13 |  | -    private MinecraftDepsExtension(DependencyHandler deps) { | 
| 14 |  | -        this.deps = deps; | 
|  | 13 | +    private MinecraftDepsExtension(DependencyFactory factory) { | 
|  | 14 | +        this.factory = factory; | 
| 15 | 15 |     } | 
| 16 | 16 | 
 | 
| 17 |  | -    public Dependency client(String version) { | 
|  | 17 | +    public ExternalModuleDependency client(String version) { | 
| 18 | 18 | 		return this.ofDist(Distribution.CLIENT, version); | 
| 19 | 19 | 	} | 
| 20 | 20 | 
 | 
| 21 |  | -	public Dependency server(String version) { | 
|  | 21 | +	public ExternalModuleDependency server(String version) { | 
| 22 | 22 | 		return this.ofDist(Distribution.SERVER, version); | 
| 23 | 23 | 	} | 
| 24 | 24 | 
 | 
| 25 |  | -	public Dependency merged(String version) { | 
|  | 25 | +	public ExternalModuleDependency merged(String version) { | 
| 26 | 26 | 		return this.ofDist(Distribution.MERGED, version); | 
| 27 | 27 | 	} | 
| 28 | 28 | 
 | 
| 29 |  | -	public Dependency of(Action<MinecraftSpec> action) { | 
|  | 29 | +	public ExternalModuleDependency of(Action<MinecraftSpec> action) { | 
| 30 | 30 | 		MinecraftSpecImpl spec = new MinecraftSpecImpl(); | 
| 31 | 31 | 		action.execute(spec); | 
| 32 |  | -		return this.deps.create(spec.toDependencyString()); | 
|  | 32 | +		return spec.createDependencyOrThrow(this.factory); | 
| 33 | 33 | 	} | 
| 34 | 34 | 
 | 
| 35 |  | -	private Dependency ofDist(Distribution dist, String version) { | 
|  | 35 | +	private ExternalModuleDependency ofDist(Distribution dist, String version) { | 
| 36 | 36 | 		return this.of(spec -> spec.distribution(dist).version(version)); | 
| 37 | 37 | 	} | 
| 38 | 38 | 
 | 
| 39 | 39 | 	public static void setup(Project project) { | 
| 40 |  | -		MinecraftDepsExtension mc = new MinecraftDepsExtension(project.getDependencies()); | 
|  | 40 | +		MinecraftDepsExtension mc = new MinecraftDepsExtension(project.getDependencyFactory()); | 
| 41 | 41 | 		project.getDependencies().getExtensions().add("minecraft", mc); | 
| 42 | 42 | 	} | 
| 43 | 43 | } | 
0 commit comments