diff --git a/.gitignore b/.gitignore index 4fc7603..897a451 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,10 @@ build/ !**/src/main/**/build/ !**/src/test/**/build/ +# Repos +/repo +/snapshot + ### IntelliJ IDEA ### .idea diff --git a/README.md b/README.md new file mode 100644 index 0000000..bfa24fd --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ + +# Minecraft Dependencies for Gradle + +Creates Gradle module metadata files to enable depending on the libraries used by a +specific version of Minecraft. + +Pass `-PminecraftVersion=` to run this for a specific version of Minecraft. + diff --git a/build.gradle b/build.gradle index 3a2229a..a08a3d5 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,13 @@ plugins { id 'de.undercouch.download' id 'maven-publish' + id 'net.neoforged.gradleutils' version '3.0.0-alpha.13' } repositories { mavenCentral() } - import groovy.json.JsonSlurper import net.neoforged.minecraftdependencies.* @@ -33,19 +33,6 @@ tasks.register('downloadJson', DownloadWithVersion) { quiet true } -tasks.register('downloadClientJar', DownloadWithVersion) { - dependsOn tasks.downloadJson - def versionJson = tasks.downloadJson.dest - inputs.file versionJson - src { - new JsonSlurper().parse(versionJson).downloads.client.url - } - dest layout.buildDirectory.file(moduleVersion.map { "versions/$it/client.jar"}) - useETag 'all' - onlyIfModified true - quiet true -} - tasks.register('downloadServerJar', DownloadWithVersion) { dependsOn tasks.downloadJson def versionJson = tasks.downloadJson.dest @@ -61,11 +48,9 @@ tasks.register('downloadServerJar', DownloadWithVersion) { tasks.register('makeModuleMetadata', GenerateModuleMetadata) { dependsOn tasks.downloadJson - dependsOn tasks.downloadClientJar dependsOn tasks.downloadServerJar meta = tasks.downloadJson.dest - clientJar = tasks.downloadClientJar.dest serverJar = tasks.downloadServerJar.dest moduleGroup = project.group @@ -81,6 +66,7 @@ def moduleMetadataArtifact = artifacts.add('moduleMetadata', tasks.makeModuleMet builtBy tasks.makeModuleMetadata } +import net.neoforged.gradleutils.GradleUtils publishing { publications { timed(MavenPublication) { @@ -94,6 +80,14 @@ publishing { elem.insertBefore(comment, elem.getFirstChild()) } } + repositories { + maven(GradleUtils.setupSnapshotCompatiblePublishing( + project.providers.gradleProperty('minecraftVersion'), + 'https://maven.neoforged.net/mojang-meta/', + file('repo'), + file('snapshot') + )) + } } } -} \ No newline at end of file +} diff --git a/buildSrc/src/main/groovy/net/neoforged/minecraftdependencies/GenerateModuleMetadata.groovy b/buildSrc/src/main/groovy/net/neoforged/minecraftdependencies/GenerateModuleMetadata.groovy index eb34dc2..30f3852 100644 --- a/buildSrc/src/main/groovy/net/neoforged/minecraftdependencies/GenerateModuleMetadata.groovy +++ b/buildSrc/src/main/groovy/net/neoforged/minecraftdependencies/GenerateModuleMetadata.groovy @@ -24,10 +24,6 @@ abstract class GenerateModuleMetadata extends DefaultTask implements HasMinecraf @PathSensitive(PathSensitivity.NONE) abstract RegularFileProperty getServerJar() - @InputFile - @PathSensitive(PathSensitivity.NONE) - abstract RegularFileProperty getClientJar() - @Input abstract Property getModuleGroup()