Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions build-android/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,15 @@ if [ "${CLASSICAL}" == "1" ]; then

prepare_source

$SCONS platform=android arch=arm32 $OPTIONS target=template_release
$SCONS platform=android arch=arm64 $OPTIONS target=template_release
$SCONS platform=android arch=x86_32 $OPTIONS target=template_release
$SCONS platform=android arch=x86_64 $OPTIONS target=template_release separate_debug_symbols=yes # Generate native debug symbols only for the release templates.

$SCONS platform=android arch=arm32 $OPTIONS target=template_debug
$SCONS platform=android arch=arm64 $OPTIONS target=template_debug
$SCONS platform=android arch=x86_32 $OPTIONS target=template_debug
$SCONS platform=android arch=x86_64 $OPTIONS target=template_debug
$SCONS platform=android arch=arm32 $OPTIONS module_dotnet_enabled=yes target=template_release
$SCONS platform=android arch=arm64 $OPTIONS module_dotnet_enabled=yes target=template_release
$SCONS platform=android arch=x86_32 $OPTIONS module_dotnet_enabled=yes target=template_release
$SCONS platform=android arch=x86_64 $OPTIONS module_dotnet_enabled=yes target=template_release separate_debug_symbols=yes # Generate native debug symbols only for the release templates.

$SCONS platform=android arch=arm32 $OPTIONS module_dotnet_enabled=yes target=template_debug
$SCONS platform=android arch=arm64 $OPTIONS module_dotnet_enabled=yes target=template_debug
$SCONS platform=android arch=x86_32 $OPTIONS module_dotnet_enabled=yes target=template_debug
$SCONS platform=android arch=x86_64 $OPTIONS module_dotnet_enabled=yes target=template_debug

pushd platform/android/java
./gradlew generateGodotTemplates
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the wrong gradle target, we have to use generateGodotMonoTemplates so it includes the .NET .jar dependencies.

Expand Down
17 changes: 17 additions & 0 deletions build-dotnet/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash

set -e

# Config

dnf install -y clang python-unversioned-command
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't need to install python-unversioned-command in my changes, is this to fix this error?:

urllib.request.urlretrieve fails with <urlopen error unknown url type: https>

I "fixed" it by downloading the .NET SDK outside of the container. (raulsntos@ca22bd4#diff-4d2a8eefdf2a9783512a35da4dc7676a66404b6f3826a8af9aad038722da6823R273-R285)

But we could alternatively download the .NET SDK with the dotnet install script in the container image, so it's pre-downloaded, and then in this build script we just copy it to the .dotnet directory. We just need to make sure it matches the version required in global.json (which right now is a moving target).


git clone https://github.com/raulsntos/godot-dotnet
cd godot-dotnet
git checkout upgrade-assistant-plus-source-code-plugin-wip
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently it's using the latest commit on the WIP branch.

We'll have to decide whether we want to have a local Git checkout and set the commit manually (like we do for Godot itself), or always build the latest dev branch. I'm not sure how the versioning for godot-dotnet will be like long term.


./build.sh --productBuild --warnAsError false /p:GenerateGodotBindings=true
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we build Godot to generate the API json and before building godot-dotnet?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a small chance it could break godot-dotnet, so we probably don't want to do this in the script when building a release, we should do it before building a release. We'd push the changes to the repo like godot-cpp (example: godotengine/godot-cpp@e83fd09).

The only difference is godot-cpp makes those commits after a release, and we probably want to do it before the release but after we tagged the commit we'll use for the release. So that we can publish the NuGet packages at the same time.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For official releases we want to build with the following options:

  ./build.sh --productBuild --ci --warnAsError false \
    /p:GenerateGodotBindings=true \
    /p:VersionPrefix=${version_prefix} \
    /p:OfficialBuildId=${build_id} \
    /p:FinalVersionKind=${final_version_kind} \
    /p:PreReleaseVersionLabel=${prerelease_label}

The --ci and /p:OfficialBuildId options are for making deterministic builds. The /p:VersionSuffix, /p:FinalVersionKind, and /p:PreReleaseVersionLabel options are to override the version of the packages with whatever is passed to the scripts so we match the editor version. (raulsntos@ca22bd4#diff-7ea7ad2452885a8abbd9bc73beed16c3f9cf613f94049bf94b61746c7fc80f1aR30-R74)


cp -r artifacts/packages/Release/Shipping/* /root/out/
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming this is everything we need to ship?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, those are the only packages we should publish to NuGet.


echo ".NET bindings generated successfully"
2 changes: 1 addition & 1 deletion build-ios/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ set -e
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no redirect_build_objects=no"
# Keep LTO disabled for iOS - it works but it makes linking apps on deploy very slow,
# which is seen as a regression in the current workflow.
export OPTIONS="production=yes use_lto=no SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.2.0/usr/bin/swift-frontend"
export OPTIONS="production=yes use_lto=no SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.2.0/usr/bin/swift-frontend module_dotnet_enabled=yes"
export OPTIONS_MONO="module_mono_enabled=yes"
export TERM=xterm

Expand Down
2 changes: 1 addition & 1 deletion build-linux/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -e
# Config

export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no redirect_build_objects=no"
export OPTIONS="production=yes accesskit_sdk_path=/root/accesskit/accesskit-c"
export OPTIONS="production=yes accesskit_sdk_path=/root/accesskit/accesskit-c module_dotnet_enabled=yes"
export OPTIONS_MONO="module_mono_enabled=yes"
export TERM=xterm

Expand Down
8 changes: 4 additions & 4 deletions build-macos/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -e
# Config

export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no redirect_build_objects=no"
export OPTIONS="osxcross_sdk=darwin25 production=yes use_volk=no vulkan_sdk_path=/root/moltenvk angle_libs=/root/angle accesskit_sdk_path=/root/accesskit/accesskit-c SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.2.0/usr/bin/swift-frontend"
export OPTIONS="osxcross_sdk=darwin25 production=yes use_volk=no vulkan_sdk_path=/root/moltenvk angle_libs=/root/angle accesskit_sdk_path=/root/accesskit/accesskit-c SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.2.0/usr/bin/swift-frontend module_dotnet_enabled=yes"
export OPTIONS_MONO="module_mono_enabled=yes"
export TERM=xterm

Expand All @@ -21,18 +21,18 @@ if [ "${CLASSICAL}" == "1" ]; then

$SCONS platform=macos $OPTIONS arch=x86_64 target=editor
$SCONS platform=macos $OPTIONS arch=arm64 target=editor
lipo -create bin/godot.macos.editor.x86_64 bin/godot.macos.editor.arm64 -output bin/godot.macos.editor.universal
lipo -create bin/godot.macos.editor.x86_64.dotnet bin/godot.macos.editor.arm64.dotnet -output bin/godot.macos.editor.universal.dotnet

mkdir -p /root/out/tools
cp -rvp bin/* /root/out/tools
rm -rf bin

$SCONS platform=macos $OPTIONS arch=x86_64 target=template_debug
$SCONS platform=macos $OPTIONS arch=arm64 target=template_debug
lipo -create bin/godot.macos.template_debug.x86_64 bin/godot.macos.template_debug.arm64 -output bin/godot.macos.template_debug.universal
lipo -create bin/godot.macos.template_debug.x86_64.dotnet bin/godot.macos.template_debug.arm64.dotnet -output bin/godot.macos.template_debug.universal.dotnet
$SCONS platform=macos $OPTIONS arch=x86_64 target=template_release
$SCONS platform=macos $OPTIONS arch=arm64 target=template_release
lipo -create bin/godot.macos.template_release.x86_64 bin/godot.macos.template_release.arm64 -output bin/godot.macos.template_release.universal
lipo -create bin/godot.macos.template_release.x86_64.dotnet bin/godot.macos.template_release.arm64.dotnet -output bin/godot.macos.template_release.universal.dotnet

mkdir -p /root/out/templates
cp -rvp bin/* /root/out/templates
Expand Down
126 changes: 57 additions & 69 deletions build-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ source ./config.sh

can_sign_windows=0
if [ ! -z "${WINDOWS_SIGN_NAME}" ] && [ ! -z "${WINDOWS_SIGN_URL}" ] && [[ $(type -P "osslsigncode") ]]; then
can_sign_windows=1
can_sign_windows=0
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a hack because Windows signing currently requires a manual step to unlock the key, so for my test builds I don't bother signing them.

else
echo "Disabling Windows binary signing as config.sh does not define the required data (WINDOWS_SIGN_NAME, WINDOWS_SIGN_URL), or osslsigncode can't be found in PATH."
fi
Expand Down Expand Up @@ -149,9 +149,6 @@ done
if [ -z "${godot_version}" -o -z "${templates_version}" ]; then
echo "Mandatory argument -v or -t missing."
exit 1
elif [[ "{$templates_version}" == *"-"* ]]; then
echo "Templates version (-t) shouldn't contain '-'. It should use a dot to separate version from status."
exit 1
Comment on lines -152 to -154
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another hack because the logic isn't clever enough to deal with 4.6.dev-dotnet-a4e0a369d, though it's valid for Godot.

fi

export reldir="${basedir}/releases/${godot_version}"
Expand Down Expand Up @@ -202,23 +199,23 @@ if [ "${build_classical}" == "1" ]; then
## Linux (Classical) ##

# Editor
binname="${godot_basename}_linux.x86_64"
cp out/linux/x86_64/tools/godot.linuxbsd.editor.x86_64 ${binname}
binname="${godot_basename}_dotnet_linux.x86_64"
cp out/linux/x86_64/tools/godot.linuxbsd.editor.x86_64.dotnet ${binname}
zip -q -9 "${reldir}/${binname}.zip" ${binname}
rm ${binname}

binname="${godot_basename}_linux.x86_32"
cp out/linux/x86_32/tools/godot.linuxbsd.editor.x86_32 ${binname}
binname="${godot_basename}_dotnet_linux.x86_32"
cp out/linux/x86_32/tools/godot.linuxbsd.editor.x86_32.dotnet ${binname}
zip -q -9 "${reldir}/${binname}.zip" ${binname}
rm ${binname}

binname="${godot_basename}_linux.arm64"
cp out/linux/arm64/tools/godot.linuxbsd.editor.arm64 ${binname}
binname="${godot_basename}_dotnet_linux.arm64"
cp out/linux/arm64/tools/godot.linuxbsd.editor.arm64.dotnet ${binname}
zip -q -9 "${reldir}/${binname}.zip" ${binname}
rm ${binname}

binname="${godot_basename}_linux.arm32"
cp out/linux/arm32/tools/godot.linuxbsd.editor.arm32 ${binname}
binname="${godot_basename}_dotnet_linux.arm32"
cp out/linux/arm32/tools/godot.linuxbsd.editor.arm32.dotnet ${binname}
zip -q -9 "${reldir}/${binname}.zip" ${binname}
rm ${binname}

Expand All @@ -230,67 +227,67 @@ if [ "${build_classical}" == "1" ]; then
fi

# Templates
cp out/linux/x86_64/templates/godot.linuxbsd.template_release.x86_64 ${templatesdir}/linux_release.x86_64
cp out/linux/x86_64/templates/godot.linuxbsd.template_debug.x86_64 ${templatesdir}/linux_debug.x86_64
cp out/linux/x86_32/templates/godot.linuxbsd.template_release.x86_32 ${templatesdir}/linux_release.x86_32
cp out/linux/x86_32/templates/godot.linuxbsd.template_debug.x86_32 ${templatesdir}/linux_debug.x86_32
cp out/linux/arm64/templates/godot.linuxbsd.template_release.arm64 ${templatesdir}/linux_release.arm64
cp out/linux/arm64/templates/godot.linuxbsd.template_debug.arm64 ${templatesdir}/linux_debug.arm64
cp out/linux/arm32/templates/godot.linuxbsd.template_release.arm32 ${templatesdir}/linux_release.arm32
cp out/linux/arm32/templates/godot.linuxbsd.template_debug.arm32 ${templatesdir}/linux_debug.arm32
cp out/linux/x86_64/templates/godot.linuxbsd.template_release.x86_64.dotnet ${templatesdir}/linux_release.x86_64
cp out/linux/x86_64/templates/godot.linuxbsd.template_debug.x86_64.dotnet ${templatesdir}/linux_debug.x86_64
cp out/linux/x86_32/templates/godot.linuxbsd.template_release.x86_32.dotnet ${templatesdir}/linux_release.x86_32
cp out/linux/x86_32/templates/godot.linuxbsd.template_debug.x86_32.dotnet ${templatesdir}/linux_debug.x86_32
cp out/linux/arm64/templates/godot.linuxbsd.template_release.arm64.dotnet ${templatesdir}/linux_release.arm64
cp out/linux/arm64/templates/godot.linuxbsd.template_debug.arm64.dotnet ${templatesdir}/linux_debug.arm64
cp out/linux/arm32/templates/godot.linuxbsd.template_release.arm32.dotnet ${templatesdir}/linux_release.arm32
cp out/linux/arm32/templates/godot.linuxbsd.template_debug.arm32.dotnet ${templatesdir}/linux_debug.arm32

## Windows (Classical) ##

# Editor
binname="${godot_basename}_win64.exe"
wrpname="${godot_basename}_win64_console.exe"
cp out/windows/x86_64/tools/godot.windows.editor.x86_64.exe ${binname}
binname="${godot_basename}_dotnet_win64.exe"
wrpname="${godot_basename}_dotnet_win64_console.exe"
cp out/windows/x86_64/tools/godot.windows.editor.x86_64.dotnet.exe ${binname}
sign_windows ${binname}
cp out/windows/x86_64/tools/godot.windows.editor.x86_64.console.exe ${wrpname}
cp out/windows/x86_64/tools/godot.windows.editor.x86_64.dotnet.console.exe ${wrpname}
sign_windows ${wrpname}
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${wrpname}
rm ${binname} ${wrpname}

binname="${godot_basename}_win32.exe"
wrpname="${godot_basename}_win32_console.exe"
cp out/windows/x86_32/tools/godot.windows.editor.x86_32.exe ${binname}
binname="${godot_basename}_dotnet_win32.exe"
wrpname="${godot_basename}_dotnet_win32_console.exe"
cp out/windows/x86_32/tools/godot.windows.editor.x86_32.dotnet.exe ${binname}
sign_windows ${binname}
cp out/windows/x86_32/tools/godot.windows.editor.x86_32.console.exe ${wrpname}
cp out/windows/x86_32/tools/godot.windows.editor.x86_32.dotnet.console.exe ${wrpname}
sign_windows ${wrpname}
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${wrpname}
rm ${binname} ${wrpname}

binname="${godot_basename}_windows_arm64.exe"
wrpname="${godot_basename}_windows_arm64_console.exe"
cp out/windows/arm64/tools/godot.windows.editor.arm64.llvm.exe ${binname}
binname="${godot_basename}_dotnet_windows_arm64.exe"
wrpname="${godot_basename}_dotnet_windows_arm64_console.exe"
cp out/windows/arm64/tools/godot.windows.editor.arm64.llvm.dotnet.exe ${binname}
sign_windows ${binname}
cp out/windows/arm64/tools/godot.windows.editor.arm64.llvm.console.exe ${wrpname}
cp out/windows/arm64/tools/godot.windows.editor.arm64.llvm.dotnet.console.exe ${wrpname}
sign_windows ${wrpname}
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${wrpname}
rm ${binname} ${wrpname}

# Templates
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.exe ${templatesdir}/windows_release_x86_64.exe
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.exe ${templatesdir}/windows_debug_x86_64.exe
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.exe ${templatesdir}/windows_release_x86_32.exe
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.exe ${templatesdir}/windows_debug_x86_32.exe
cp out/windows/arm64/templates/godot.windows.template_release.arm64.llvm.exe ${templatesdir}/windows_release_arm64.exe
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.llvm.exe ${templatesdir}/windows_debug_arm64.exe
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.console.exe ${templatesdir}/windows_release_x86_64_console.exe
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.console.exe ${templatesdir}/windows_debug_x86_64_console.exe
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.console.exe ${templatesdir}/windows_release_x86_32_console.exe
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.console.exe ${templatesdir}/windows_debug_x86_32_console.exe
cp out/windows/arm64/templates/godot.windows.template_release.arm64.llvm.console.exe ${templatesdir}/windows_release_arm64_console.exe
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.llvm.console.exe ${templatesdir}/windows_debug_arm64_console.exe
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.dotnet.exe ${templatesdir}/windows_release_x86_64.exe
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.dotnet.exe ${templatesdir}/windows_debug_x86_64.exe
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.dotnet.exe ${templatesdir}/windows_release_x86_32.exe
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.dotnet.exe ${templatesdir}/windows_debug_x86_32.exe
cp out/windows/arm64/templates/godot.windows.template_release.arm64.llvm.dotnet.exe ${templatesdir}/windows_release_arm64.exe
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.llvm.dotnet.exe ${templatesdir}/windows_debug_arm64.exe
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.dotnet.console.exe ${templatesdir}/windows_release_x86_64_console.exe
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.dotnet.console.exe ${templatesdir}/windows_debug_x86_64_console.exe
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.dotnet.console.exe ${templatesdir}/windows_release_x86_32_console.exe
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.dotnet.console.exe ${templatesdir}/windows_debug_x86_32_console.exe
cp out/windows/arm64/templates/godot.windows.template_release.arm64.llvm.dotnet.console.exe ${templatesdir}/windows_release_arm64_console.exe
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.llvm.dotnet.console.exe ${templatesdir}/windows_debug_arm64_console.exe

## macOS (Classical) ##

# Editor
binname="${godot_basename}_macos.universal"
binname="${godot_basename}_dotnet_macos.universal"
rm -rf Godot.app
cp -r git/misc/dist/macos_tools.app Godot.app
mkdir -p Godot.app/Contents/MacOS
cp out/macos/tools/godot.macos.editor.universal Godot.app/Contents/MacOS/Godot
cp out/macos/tools/godot.macos.editor.universal.dotnet Godot.app/Contents/MacOS/Godot
chmod +x Godot.app/Contents/MacOS/Godot
zip -q -9 -r "${reldir}/${binname}.zip" Godot.app
rm -rf Godot.app
Expand All @@ -301,8 +298,8 @@ if [ "${build_classical}" == "1" ]; then
cp -r git/misc/dist/macos_template.app .
mkdir -p macos_template.app/Contents/MacOS

cp out/macos/templates/godot.macos.template_release.universal macos_template.app/Contents/MacOS/godot_macos_release.universal
cp out/macos/templates/godot.macos.template_debug.universal macos_template.app/Contents/MacOS/godot_macos_debug.universal
cp out/macos/templates/godot.macos.template_release.universal.dotnet macos_template.app/Contents/MacOS/godot_macos_release.universal
cp out/macos/templates/godot.macos.template_debug.universal.dotnet macos_template.app/Contents/MacOS/godot_macos_debug.universal
chmod +x macos_template.app/Contents/MacOS/godot_macos*
zip -q -9 -r "${templatesdir}/macos.zip" macos_template.app
rm -rf macos_template.app
Expand All @@ -324,47 +321,30 @@ if [ "${build_classical}" == "1" ]; then

## Web (Classical) ##

# Editor
unzip out/web/tools/godot.web.editor.wasm32.zip -d ${webdir}/
brotli --keep --force --quality=11 ${webdir}/*
binname="${godot_basename}_web_editor.zip"
cp out/web/tools/godot.web.editor.wasm32.zip ${reldir}/${binname}

# Templates
cp out/web/templates/godot.web.template_release.wasm32.zip ${templatesdir}/web_release.zip
cp out/web/templates/godot.web.template_debug.wasm32.zip ${templatesdir}/web_debug.zip

cp out/web/templates/godot.web.template_release.wasm32.nothreads.zip ${templatesdir}/web_nothreads_release.zip
cp out/web/templates/godot.web.template_debug.wasm32.nothreads.zip ${templatesdir}/web_nothreads_debug.zip

cp out/web/templates/godot.web.template_release.wasm32.dlink.zip ${templatesdir}/web_dlink_release.zip
cp out/web/templates/godot.web.template_debug.wasm32.dlink.zip ${templatesdir}/web_dlink_debug.zip
cp out/web/templates/godot.web.template_release.wasm32.dlink.dotnet.zip ${templatesdir}/web_dlink_release.zip
cp out/web/templates/godot.web.template_debug.wasm32.dlink.dotnet.zip ${templatesdir}/web_dlink_debug.zip

cp out/web/templates/godot.web.template_release.wasm32.nothreads.dlink.zip ${templatesdir}/web_dlink_nothreads_release.zip
cp out/web/templates/godot.web.template_debug.wasm32.nothreads.dlink.zip ${templatesdir}/web_dlink_nothreads_debug.zip
cp out/web/templates/godot.web.template_release.wasm32.nothreads.dlink.dotnet.zip ${templatesdir}/web_dlink_nothreads_release.zip
cp out/web/templates/godot.web.template_debug.wasm32.nothreads.dlink.dotnet.zip ${templatesdir}/web_dlink_nothreads_debug.zip

## Android (Classical) ##

# Lib for direct download
cp out/android/templates/godot-lib.template_release.aar ${reldir}/godot-lib.${templates_version}.template_release.aar

# Editor
binname="${godot_basename}_android_editor.apk"
cp out/android/tools/android_editor.apk ${reldir}/${binname}
binname="${godot_basename}_android_editor_horizonos.apk"
cp out/android/tools/android_editor_horizonos.apk ${reldir}/${binname}
binname="${godot_basename}_android_editor_picoos.apk"
cp out/android/tools/android_editor_picoos.apk ${reldir}/${binname}
binname="${godot_basename}_android_editor.aab"
cp out/android/tools/android_editor.aab ${reldir}/${binname}

# Templates
cp out/android/templates/*.apk ${templatesdir}/
cp out/android/templates/android_source.zip ${templatesdir}/

# Native debug symbols
cp out/android/templates/android_release_template_native_debug_symbols.zip ${reldir}/Godot_native_debug_symbols.${templates_version}.template_release.android.zip
cp out/android/tools/android_editor_native_debug_symbols.zip ${reldir}/Godot_native_debug_symbols.${templates_version}.editor.android.zip

## iOS (Classical) ##

Expand Down Expand Up @@ -392,6 +372,14 @@ if [ "${build_classical}" == "1" ]; then
#cd ..
#rm -rf visionos_xcode

## .NET bindings ##

dotnetname="godot-dotnet-${templates_version}"
mkdir ${dotnetname}
cp out/dotnet/* ${dotnetname}/
zip -q -9 -r "${reldir}/${dotnetname}.zip" ${dotnetname}
rm -rf ${dotnetname}
Comment on lines +377 to +381
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any further steps we can take to make this easier to use?
E.g. provide a Python script that configures a local Nuget source and installs those packages.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can provide a script, but whatever directory we use can't be removed or it could break restoring packages in any C# project (including non-Godot projects). Also, users would probably want to remove the local NuGet source after the previews and I expect them to forget.

So I think automating this with a script may cause more trouble than the problems it fixes, I'm getting flashbacks to GodotNuGetFallbackFolder.


## Templates TPZ (Classical) ##

echo "${templates_version}" > ${templatesdir}/version.txt
Expand Down
2 changes: 1 addition & 1 deletion build-visionos/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no redirect_
# Keep LTO disabled for visionOS - it works but it makes linking apps on deploy very slow,
# which is seen as a regression in the current workflow.
# Disable Vulkan and MoltenVK for visionOS - visionOS doesn't support MoltenVK.
export OPTIONS="production=yes use_lto=no vulkan=no SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.2.0/usr/bin/swift-frontend"
export OPTIONS="production=yes use_lto=no vulkan=no SWIFT_FRONTEND=/root/.local/share/swiftly/toolchains/6.2.0/usr/bin/swift-frontend module_dotnet_enabled=yes"
export OPTIONS_MONO="module_mono_enabled=yes"
export TERM=xterm

Expand Down
Loading