mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-16 12:01:41 +08:00
67 lines
2.6 KiB
Bash
Executable File
67 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
cd "$(dirname "$0")"
|
|
|
|
# Source logging utilities
|
|
source ../formatters/logging/logging.sh
|
|
|
|
log_title "Spine Android Publisher"
|
|
|
|
log_detail "Modern Central Portal Publishing Setup:"
|
|
log_detail "1. Set up PGP key for signing: gpg --generate-key"
|
|
log_detail "2. Create Central Portal account at https://central.sonatype.com/"
|
|
log_detail "3. Generate user token in Central Portal settings"
|
|
log_detail "4. Create ~/.gradle/gradle.properties with:"
|
|
log_detail " MAVEN_USERNAME=<central-portal-username>"
|
|
log_detail " MAVEN_PASSWORD=<central-portal-token>"
|
|
log_detail " signing.gnupg.passphrase=<pgp-key-passphrase>"
|
|
log_detail ""
|
|
log_detail "Version Configuration:"
|
|
log_detail "- Edit spine-libgdx/gradle.properties and update the 'version' property (single source of truth)"
|
|
log_detail "- For releases: version=4.2.9 (no -SNAPSHOT suffix)"
|
|
log_detail "- For snapshots: version=4.2.9-SNAPSHOT (with -SNAPSHOT suffix)"
|
|
|
|
log_section "Reading Version Configuration"
|
|
log_action "Reading version from spine-libgdx gradle.properties"
|
|
if VERSION=$(grep '^version=' ../spine-libgdx/gradle.properties | cut -d'=' -f2); then
|
|
log_ok "Version found: $VERSION"
|
|
else
|
|
log_fail "Failed to read version from ../spine-libgdx/gradle.properties"
|
|
exit 1
|
|
fi
|
|
|
|
log_section "Publishing to Central Portal"
|
|
if echo "$VERSION" | grep -q "SNAPSHOT"; then
|
|
log_detail "Detected SNAPSHOT version"
|
|
log_action "Publishing SNAPSHOT version $VERSION to Central Portal"
|
|
if output=$(./gradlew :spine-android:publishReleasePublicationToSonaTypeRepository --info 2>&1); then
|
|
log_ok "Successfully published SNAPSHOT version $VERSION"
|
|
log_summary "Android SNAPSHOT published successfully to Central Portal"
|
|
else
|
|
log_fail "Failed to publish SNAPSHOT version"
|
|
log_detail "$output"
|
|
exit 1
|
|
fi
|
|
else
|
|
log_detail "Detected RELEASE version"
|
|
log_action "Publishing RELEASE version $VERSION to Central Portal via JReleaser"
|
|
|
|
log_action "Publishing to SonaType repository"
|
|
if output=$(./gradlew :spine-android:publishReleasePublicationToSonaTypeRepository -PRELEASE 2>&1); then
|
|
log_ok "Successfully published to SonaType repository"
|
|
else
|
|
log_fail "Failed to publish to SonaType repository"
|
|
log_detail "$output"
|
|
exit 1
|
|
fi
|
|
|
|
log_action "Deploying via JReleaser"
|
|
if output=$(./gradlew :spine-android:jreleaserDeploy -PRELEASE --info 2>&1); then
|
|
log_ok "Successfully deployed via JReleaser"
|
|
log_summary "Android RELEASE published successfully to Central Portal"
|
|
else
|
|
log_fail "Failed to deploy via JReleaser"
|
|
log_detail "$output"
|
|
exit 1
|
|
fi
|
|
fi |