add release support for new modules

This commit is contained in:
maggi373 committed 2026-09-26 16:07:15 +02:00
1 parent c2beb3e4e6
commit 72a51031c0
8 files changed
+121 -12

No files matched your search

+27 -2
View File
@@ -39,6 +39,17 @@ case "$minecraft_version" in
;;
esac
has_nuclear=false
if grep -Fq "tasks.register('nuclearJar'" "$repo_root/build.gradle"; then
expected+=(Nuclear:jar)
has_nuclear=true
fi
has_mekasuit=false
if grep -Fq "tasks.register('mekasuitJar'" "$repo_root/build.gradle"; then
expected+=(MekaSuit:jar)
has_mekasuit=true
fi
listing="$(mktemp)"
trap 'rm -f -- "$listing"' EXIT
@@ -95,10 +106,10 @@ for spec in "${expected[@]}"; do
case "$classifier" in
Core)
require_exact_entry 'mekanism/common/Mekanism.class' "$artifact"
reject_matching_entry '^(mekanism/(generators|tools|ultimate)/|defense/)' 'module class' "$artifact"
reject_matching_entry '^(mekanism/(generators|tools|ultimate|nuclear|mekasuit)/|defense/)' 'module class' "$artifact"
if [[ "$minecraft_version" == '1.12.2' ]]; then
reject_matching_entry '^assets/mekanism(generators|tools|ultimate)/' 'module asset' "$artifact"
reject_matching_entry '^assets/mekanism(generators|tools|ultimate|nuclear|mekasuit)/' 'module asset' "$artifact"
fi
;;
ALL)
@@ -106,6 +117,12 @@ for spec in "${expected[@]}"; do
require_exact_entry 'mekanism/generators/common/MekanismGenerators.class' "$artifact"
require_exact_entry 'mekanism/tools/common/MekanismTools.class' "$artifact"
require_exact_entry 'mekanism/ultimate/common/MekanismUltimate.class' "$artifact"
if [[ "$has_nuclear" == true ]]; then
require_exact_entry 'mekanism/nuclear/common/MekanismNuclear.class' "$artifact"
fi
if [[ "$has_mekasuit" == true ]]; then
require_exact_entry 'mekanism/mekasuit/common/MekanismMekaSuit.class' "$artifact"
fi
if [[ "$minecraft_version" == '1.7.10' ]]; then
require_exact_entry 'defense/common/DefenseTech.class' "$artifact"
@@ -140,6 +157,14 @@ for spec in "${expected[@]}"; do
require_exact_entry 'mcmod.info' "$artifact"
require_exact_entry 'mekanism/ultimate/common/MekanismUltimate.class' "$artifact"
;;
Nuclear)
require_exact_entry 'mcmod.info' "$artifact"
require_exact_entry 'mekanism/nuclear/common/MekanismNuclear.class' "$artifact"
;;
MekaSuit)
require_exact_entry 'mcmod.info' "$artifact"
require_exact_entry 'mekanism/mekasuit/common/MekanismMekaSuit.class' "$artifact"
;;
esac
echo "Validated $artifact"
+7
View File
@@ -123,6 +123,13 @@ jobs:
;;
esac
if grep -Fq "tasks.register('nuclearJar'" build.gradle; then
artifact_specs+=(Nuclear.jar)
fi
if grep -Fq "tasks.register('mekasuitJar'" build.gradle; then
artifact_specs+=(MekaSuit.jar)
fi
echo "prefix=$artifact_prefix" >> "$GITHUB_OUTPUT"
{
echo 'artifact_files<<ARTIFACT_FILES'
+70 -5
View File
@@ -25,6 +25,8 @@ jobs:
minecraft_version: ${{ steps.artifacts.outputs.minecraft_version }}
release_files: ${{ steps.artifacts.outputs.release_files }}
main_files: ${{ steps.artifacts.outputs.main_files }}
has_nuclear: ${{ steps.artifacts.outputs.has_nuclear }}
has_mekasuit: ${{ steps.artifacts.outputs.has_mekasuit }}
steps:
- name: Check out release tag
@@ -92,8 +94,21 @@ jobs:
;;
esac
has_nuclear=false
if grep -Fq "tasks.register('nuclearJar'" build.gradle; then
release_specs+=(Nuclear.jar)
has_nuclear=true
fi
has_mekasuit=false
if grep -Fq "tasks.register('mekasuitJar'" build.gradle; then
release_specs+=(MekaSuit.jar)
has_mekasuit=true
fi
echo "prefix=$artifact_prefix" >> "$GITHUB_OUTPUT"
echo "minecraft_version=$minecraft_version" >> "$GITHUB_OUTPUT"
echo "has_nuclear=$has_nuclear" >> "$GITHUB_OUTPUT"
echo "has_mekasuit=$has_mekasuit" >> "$GITHUB_OUTPUT"
{
echo 'release_files<<RELEASE_FILES'
for spec in "${release_specs[@]}"; do
@@ -207,34 +222,61 @@ jobs:
- name: DefenseTech
project-id: qBExn86I
classifier: DefenseTech
dependencies: toGHjw6t(required)
beta-only: false
only_version: '1.7.10'
- name: Generators
project-id: ksSEAhTL
classifier: Generators
dependencies: toGHjw6t(required)
beta-only: false
only_version: ''
- name: Tools
project-id: CD05L8Jr
classifier: Tools
dependencies: toGHjw6t(required)
beta-only: false
only_version: ''
- name: Ultimate
project-id: Q6fY4JVC
classifier: Ultimate
dependencies: toGHjw6t(required)
beta-only: true
only_version: ''
- name: Nuclear
project-id: O7q551F0
classifier: Nuclear
dependencies: |
toGHjw6t(required)
Q6fY4JVC(required)
ksSEAhTL(required)
beta-only: true
only_version: ''
- name: MekaSuit
project-id: cR1xSvIr
classifier: MekaSuit
dependencies: |
toGHjw6t(required)
Q6fY4JVC(required)
beta-only: true
only_version: ''
steps:
- name: Download release artifacts
if: matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version
if: >-
${{ (matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version) &&
(matrix.classifier != 'Nuclear' || needs.build.outputs.has_nuclear == 'true') &&
(matrix.classifier != 'MekaSuit' || needs.build.outputs.has_mekasuit == 'true') }}
uses: actions/download-artifact@v8
with:
name: release-${{ github.event.release.tag_name }}
path: output
- name: Publish ${{ matrix.name }} to Modrinth
if: matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version
if: >-
${{ (matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version) &&
(matrix.classifier != 'Nuclear' || needs.build.outputs.has_nuclear == 'true') &&
(matrix.classifier != 'MekaSuit' || needs.build.outputs.has_mekasuit == 'true') }}
uses: Kira-NT/mc-publish@52307b03863581dec6b652b83e597aec02ebb075 # v3.3.1
with:
modrinth-id: ${{ matrix.project-id }}
@@ -249,7 +291,7 @@ jobs:
game-version-filter: none
java: '8'
environment: client | server
modrinth-dependencies: toGHjw6t(required)
modrinth-dependencies: ${{ matrix.dependencies }}
retry-attempts: 2
publish-curseforge:
@@ -292,17 +334,40 @@ jobs:
dependencies: mekanism-ce(required)
beta-only: true
only_version: ''
- name: Nuclear
project-id: '1709256'
classifier: Nuclear
dependencies: |
399904(required)
872280(required)
813408(required)
beta-only: true
only_version: ''
- name: MekaSuit
project-id: '1709257'
classifier: MekaSuit
dependencies: |
399904(required)
872280(required)
beta-only: true
only_version: ''
steps:
- name: Download release artifacts
if: matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version
if: >-
${{ (matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version) &&
(matrix.classifier != 'Nuclear' || needs.build.outputs.has_nuclear == 'true') &&
(matrix.classifier != 'MekaSuit' || needs.build.outputs.has_mekasuit == 'true') }}
uses: actions/download-artifact@v8
with:
name: release-${{ github.event.release.tag_name }}
path: output
- name: Publish ${{ matrix.name }} to CurseForge
if: matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version
if: >-
${{ (matrix.only_version == '' || needs.build.outputs.minecraft_version == matrix.only_version) &&
(matrix.classifier != 'Nuclear' || needs.build.outputs.has_nuclear == 'true') &&
(matrix.classifier != 'MekaSuit' || needs.build.outputs.has_mekasuit == 'true') }}
uses: Kira-NT/mc-publish@52307b03863581dec6b652b83e597aec02ebb075 # v3.3.1
with:
curseforge-id: ${{ matrix.project-id }}
+1 -1
View File
@@ -52,7 +52,7 @@
},
{
"modid": "MekanismUltimate",
"name": "Mekanism Community Edition: Ultimate",
"name": "Mekanism Community Edition: Ultimate (Beta)",
"description": "Mekanism Ultimate module of Mekanism CE.",
"version": "${version}",
"mcversion": "${mc_version}",
+2 -2
View File
@@ -1,7 +1,7 @@
[
{
"modid": "MekanismUltimate",
"name": "Mekanism Community Edition: Ultimate",
"name": "Mekanism Community Edition: Ultimate (Beta)",
"description": "Mekanism Ultimate module of Mekanism CE.",
"version": "${version}",
"mcversion": "${mc_version}",
@@ -13,4 +13,4 @@
"screenshots": [
]
}
]
]
+12
View File
@@ -6,3 +6,15 @@ NEI_version=1.0.5.120
CCC_version=1.0.7.48
mod_version=9.10.51
alt_version=9, 10, 51
# External project metadata. Release automation must publish these modules as beta
# until their release_type is deliberately changed.
ultimate_modrinth_project_id=Q6fY4JVC
ultimate_curseforge_project_id=872280
ultimate_release_type=beta
mekasuit_modrinth_project_id=cR1xSvIr
mekasuit_curseforge_project_id=1709257
mekasuit_release_type=beta
nuclear_modrinth_project_id=O7q551F0
nuclear_curseforge_project_id=1709256
nuclear_release_type=beta
@@ -17,7 +17,7 @@ public class GuiUltimateConfig extends GuiConfig
{
public GuiUltimateConfig(GuiScreen parent)
{
super(parent, getConfigElements(), MekanismUltimate.MODID, false, true, "Mekanism Community Edition: Ultimate");
super(parent, getConfigElements(), MekanismUltimate.MODID, false, true, "Mekanism Community Edition: Ultimate (Beta)");
}
private static List<IConfigElement> getConfigElements()
@@ -30,7 +30,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
@Mod(modid = MekanismUltimate.MODID, name = "Mekanism Community Edition: Ultimate", version = "GRADLE_MODVERSION", dependencies = "required-after:Mekanism", guiFactory = "mekanism.ultimate.client.gui.UltimateGuiFactory")
@Mod(modid = MekanismUltimate.MODID, name = "Mekanism Community Edition: Ultimate (Beta)", version = "GRADLE_MODVERSION", dependencies = "required-after:Mekanism", guiFactory = "mekanism.ultimate.client.gui.UltimateGuiFactory")
public class MekanismUltimate implements IModule
{
public static final String MODID = "MekanismUltimate";