mirror of
https://github.com/godotengine/godot-build-scripts.git
synced 2026-01-06 14:09:54 +03:00
Add logic to upload the Godot Android library to MavenCentral
Add environment variables to sign the release build for the Godot Android editor and to publish the library to MavenCentral. If the environment vars are not defined, we do a simple unsigned `release_debug` build for the Android editor. Change `config.sh.in` template to use single quotes by default, to prevent expanding special characters in environment variables. To publish to MavenCentral, a new `build-android/upload-mavencentral.sh` script is added. It needs to run after the build using gradle, but we still want it to be optional and used only when making an official release, so we copy the compiled sources in the first step. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
This commit is contained in:
committed by
Rémi Verschelde
parent
72cb40ffad
commit
0780ea4a4f
@@ -14,6 +14,16 @@ mkdir godot
|
||||
cd godot
|
||||
tar xf /root/godot.tar.gz --strip-components=1
|
||||
|
||||
# Environment variables and keystore needed for signing store editor build,
|
||||
# as well as signing and publishing to MavenCentral.
|
||||
source /root/keystore/config.sh
|
||||
|
||||
store_release="yes"
|
||||
if [ -z "${GODOT_ANDROID_SIGN_KEYSTORE}" ]; then
|
||||
echo "No keystore provided to sign the Android release editor build, using debug build instead."
|
||||
store_release="no"
|
||||
fi
|
||||
|
||||
# Classical
|
||||
|
||||
dnf -y install gettext
|
||||
@@ -21,17 +31,29 @@ dnf -y install gettext
|
||||
if [ "${CLASSICAL}" == "1" ]; then
|
||||
echo "Starting classical build for Android..."
|
||||
|
||||
$SCONS platform=android arch=arm32 $OPTIONS target=editor
|
||||
$SCONS platform=android arch=arm64 $OPTIONS target=editor
|
||||
$SCONS platform=android arch=x86_32 $OPTIONS target=editor
|
||||
$SCONS platform=android arch=x86_64 $OPTIONS target=editor
|
||||
$SCONS platform=android arch=arm32 $OPTIONS target=editor store_release=${store_release}
|
||||
$SCONS platform=android arch=arm64 $OPTIONS target=editor store_release=${store_release}
|
||||
$SCONS platform=android arch=x86_32 $OPTIONS target=editor store_release=${store_release}
|
||||
$SCONS platform=android arch=x86_64 $OPTIONS target=editor store_release=${store_release}
|
||||
|
||||
pushd platform/android/java
|
||||
./gradlew generateGodotEditor
|
||||
popd
|
||||
|
||||
mkdir -p /root/out/tools
|
||||
cp bin/android_editor.apk /root/out/tools/
|
||||
# Copy the generated Android editor binaries (apk & aab).
|
||||
if [ "$store_release" == "yes" ]; then
|
||||
cp bin/android_editor_builds/android_editor-release.apk /root/out/tools/android_editor.apk
|
||||
cp bin/android_editor_builds/android_editor-release.aab /root/out/tools/android_editor.aab
|
||||
else
|
||||
cp bin/android_editor_builds/android_editor-debug.apk /root/out/tools/android_editor.apk
|
||||
cp bin/android_editor_builds/android_editor-debug.aab /root/out/tools/android_editor.aab
|
||||
fi
|
||||
|
||||
# Restart from a clean tarball, as we'll copy all the contents
|
||||
# outside the container for the MavenCentral upload.
|
||||
rm -rf /root/godot/*
|
||||
tar xf /root/godot.tar.gz --strip-components=1
|
||||
|
||||
$SCONS platform=android arch=arm32 $OPTIONS target=template_debug
|
||||
$SCONS platform=android arch=arm32 $OPTIONS target=template_release
|
||||
@@ -47,6 +69,14 @@ if [ "${CLASSICAL}" == "1" ]; then
|
||||
|
||||
pushd platform/android/java
|
||||
./gradlew generateGodotTemplates
|
||||
|
||||
if [ "$store_release" == "yes" ]; then
|
||||
# Copy source folder with compiled libs so we can optionally use it
|
||||
# in a separate script to upload the templates to MavenCentral.
|
||||
cp -r /root/godot /root/out/source/
|
||||
# Backup ~/.gradle too so we can reuse all the downloaded stuff.
|
||||
cp -r /root/.gradle /root/out/source/.gradle
|
||||
fi
|
||||
popd
|
||||
|
||||
mkdir -p /root/out/templates
|
||||
|
||||
Reference in New Issue
Block a user