diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbc1ce9e..d8b2034e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,9 +56,9 @@ jobs: if-no-files-found: error retention-days: 30 path: | - build/libs/OreSpawn-1.13.2-4.0.8.113021.jar - build/libs/OreSpawn-1.13.2-4.0.8.113021-sources.jar - build/libs/OreSpawn-1.13.2-4.0.8.113021-javadoc.jar + build/libs/OreSpawn-4.0.8.113021.jar + build/libs/OreSpawn-4.0.8.113021-sources.jar + build/libs/OreSpawn-4.0.8.113021-javadoc.jar build/release/SHA256SUMS CHANGELOG.txt diff --git a/build.gradle b/build.gradle index 3198ff1d..453268a0 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ plugins { group = project.mod_group version = project.mod_version -base.archivesName = "OreSpawn-${project.minecraft_version}" +base.archivesName = 'OreSpawn' def versionParts = project.mod_version.toString().tokenize('.') if (versionParts.size() != 4 || !versionParts.every { it ==~ /\d+/ }) { @@ -739,6 +739,21 @@ tasks.register('verifyReleaseConfiguration') { || project.java_toolchain_version != '8.0.502+7') { throw new GradleException('Unexpected dispatcher or Java target metadata') } + List expectedPublicArtifacts = [ + 'OreSpawn-4.0.8.113021.jar', + 'OreSpawn-4.0.8.113021-sources.jar', + 'OreSpawn-4.0.8.113021-javadoc.jar' + ] + if (base.archivesName.get() != 'OreSpawn' + || expectedReleaseFiles.get().collect { it.toString() } != expectedPublicArtifacts) { + throw new GradleException('Public artifacts must use the version-only OreSpawn filename contract') + } + String ciWorkflow = file('.github/workflows/ci.yml').getText('UTF-8') + expectedPublicArtifacts.each { artifactName -> + if (!ciWorkflow.contains("build/libs/${artifactName}")) { + throw new GradleException("CI does not upload expected public artifact ${artifactName}") + } + } [ 'src/main/java/zone/moddev/mc/orespawn/worldgen/LegacyConfigMigrator.java', 'src/main/java/zone/moddev/mc/orespawn/worldgen/LegacyMineralogyProfileMigration.java',