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
23 changes: 2 additions & 21 deletions .github/workflows/build_android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,6 @@ on:

# Global Settings
env:
# 4.4
SCONSFLAGS: >-
arch=arm64
strict_checks=yes
debug_symbols=no
module_text_server_fb_enabled=yes
swappy=yes
# 4.5+
# Ideally we'd use dev_mode=yes. Unfortunately, v8 headers contain warnings. So we manually set some dev_mode options.
SCONS_FLAGS: >-
arch=arm64
Expand All @@ -44,7 +36,7 @@ jobs:
cache-name: android-template-${{inputs.version}}-release-v8
target: template_release
tests: false
sconsflags: ${{ inputs.version == '4.4' && 'deprecated=no ndk_platform=android-24 generate_apk=yes' || '' }}
sconsflags: ''
cache-limit: 1

- name: Template (target=template_release, arch=arm64, qjs_ng)
Expand Down Expand Up @@ -107,18 +99,7 @@ jobs:
- name: Extract pre-built Android Swappy Frame Pacing Library
run: 7za x -y swappy/godot-swappy.7z -o${{github.workspace}}/thirdparty/swappy-frame-pacing

- name: Compilation [4.4]
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
platform: android
target: ${{ matrix.target }}
tests: ${{ matrix.tests }}
scons-cache-limit: ${{ matrix.cache-limit }}

- name: Compilation [4.5+]
if: inputs.version != '4.4'
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
Expand Down
17 changes: 1 addition & 16 deletions .github/workflows/build_ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ on:

# Global Settings
env:
# 4.4
SCONSFLAGS: >-
debug_symbols=no
module_text_server_fb_enabled=yes
# 4.5+
# Ideally we'd use dev_mode=yes. Unfortunately, v8 headers contain warnings. So we manually set some dev_mode options.
SCONS_FLAGS: >-
verbose=yes
Expand Down Expand Up @@ -86,17 +81,7 @@ jobs:
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps

- name: Compilation [4.4]
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
platform: ios
target: ${{ matrix.target }}
scons-cache-limit: ${{ matrix.cache-limit }}

- name: Compilation [4.5+]
if: inputs.version != '4.4'
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
Expand Down
23 changes: 3 additions & 20 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ on:

# Global Settings
env:
# 4.4
SCONSFLAGS: >-
module_text_server_fb_enabled=yes
strict_checks=yes
# 4.5
# Ideally we'd use dev_mode=yes. Unfortunately, v8 headers contain warnings. So we manually set some dev_mode options.
SCONS_FLAGS: >-
verbose=yes
Expand Down Expand Up @@ -122,30 +117,18 @@ jobs:
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps

- name: Download pre-built AccessKit [4.5+]
if: inputs.version != '4.4'
- name: Download pre-built AccessKit
uses: dsaltares/[email protected]
with:
repo: AccessKit/accesskit-c
version: tags/0.17.0
file: accesskit-c-0.17.0.zip
target: accesskit-c-0.17.0/accesskit_c.zip

- name: Extract pre-built AccessKit [4.5+]
if: inputs.version != '4.4'
- name: Extract pre-built AccessKit
run: unzip -o accesskit-c-0.17.0/accesskit_c.zip

- name: Compilation [4.4]
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
platform: linuxbsd
target: ${{ matrix.target }}
scons-cache-limit: ${{ matrix.cache-limit }}

- name: Compilation [4.5+]
if: inputs.version != '4.4'
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
Expand Down
35 changes: 4 additions & 31 deletions .github/workflows/build_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ on:

# Global Settings
env:
# 4.4
SCONSFLAGS: >-
module_text_server_fb_enabled=yes
strict_checks=yes
# 4.5
# Ideally we'd use dev_mode=yes. Unfortunately, v8 headers contain warnings. So we manually set some dev_mode options.
SCONS_FLAGS: >-
verbose=yes
Expand Down Expand Up @@ -100,17 +95,15 @@ jobs:
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps

- name: Download pre-built AccessKit [4.5+]
if: inputs.version != '4.4'
- name: Download pre-built AccessKit
uses: dsaltares/[email protected]
with:
repo: AccessKit/accesskit-c
version: tags/0.17.0
file: accesskit-c-0.17.0.zip
target: accesskit-c-0.17.0/accesskit_c.zip

- name: Extract pre-built AccessKit [4.5+]
if: inputs.version != '4.4'
- name: Extract pre-built AccessKit
run: unzip -o accesskit-c-0.17.0/accesskit_c.zip

- name: Setup Vulkan SDK
Expand All @@ -136,34 +129,14 @@ jobs:
name: scripts-out
path: ${{github.workspace}}/modules/GodotJS/scripts/out

- name: Compilation [4.4] (x86_64)
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }} arch=x86_64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }}
platform: macos
target: ${{ matrix.target }}
scons-cache-limit: 0 # Only cap on second run to avoid purging unnecessarily

- name: Compilation [4.5+] (x86_64)
if: inputs.version != '4.4'
- name: Compilation (x86_64)
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }} arch=x86_64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }}
platform: macos
target: ${{ matrix.target }}

- name: Compilation [4.4] (arm64)
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }} arch=arm64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }}
platform: macos
target: ${{ matrix.target }}
scons-cache-limit: ${{ matrix.cache-limit }}

- name: Compilation [4.5+] (arm64)
if: inputs.version != '4.4'
- name: Compilation (arm64)
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }} arch=arm64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }}
Expand Down
28 changes: 2 additions & 26 deletions .github/workflows/build_web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,6 @@ on:

# Global Settings
env:
# 4.4
SCONSFLAGS: >-
debug_symbols=no
use_closure_compiler=yes
strict_checks=yes
deprecated=no
lto=none
use_assertions=no
use_safe_heap=yes
# 4.5+
# Ideally we'd use dev_mode=yes. Unfortunately, v8 headers contain warnings. So we manually set some dev_mode options.
SCONS_FLAGS: >-
verbose=yes
Expand Down Expand Up @@ -97,11 +87,7 @@ jobs:
env:
GODOT_VERSION: ${{ inputs.version }}
run: |
if [[ $GODOT_VERSION == "4.4" ]]; then
echo "emscripten=3.1.64" >> $GITHUB_OUTPUT
else
echo "emscripten=4.0.11" >> $GITHUB_OUTPUT
fi
echo "emscripten=4.0.11" >> $GITHUB_OUTPUT

- name: Set up Emscripten
uses: mymindstorm/setup-emsdk@v14
Expand All @@ -122,17 +108,7 @@ jobs:
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps

- name: Compilation [4.4]
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
platform: web
target: ${{ matrix.target }}
scons-cache-limit: 0.5

- name: Compilation [4.5+]
if: inputs.version != '4.4'
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
Expand Down
25 changes: 3 additions & 22 deletions .github/workflows/build_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,6 @@ on:
# Global Settings
# SCONS_CACHE for windows must be set in the build environment
env:
# 4.4
SCONSFLAGS: >-
module_text_server_fb_enabled=yes
d3d12=yes
strict_checks=yes
"angle_libs=${{ github.workspace }}/"
# 4.5+
# Ideally we'd use dev_mode=yes. Unfortunately, v8 headers contain warnings. So we manually set some dev_mode options.
SCONS_FLAGS: >-
verbose=yes
Expand Down Expand Up @@ -146,30 +139,18 @@ jobs:
- name: Extract pre-built ANGLE static libraries
run: Expand-Archive -Force angle/angle.zip ${{ github.workspace }}/

- name: Download pre-built AccessKit [4.5+]
if: inputs.version != '4.4'
- name: Download pre-built AccessKit
uses: dsaltares/[email protected]
with:
repo: AccessKit/accesskit-c
version: tags/0.17.0
file: accesskit-c-0.17.0.zip
target: accesskit-c-0.17.0/accesskit_c.zip

- name: Extract pre-built AccessKit [4.5+]
if: inputs.version != '4.4'
- name: Extract pre-built AccessKit
run: unzip -o accesskit-c-0.17.0/accesskit_c.zip

- name: Compilation (4.4)
if: inputs.version == '4.4'
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
platform: windows
target: ${{ matrix.target }}
scons-cache-limit: ${{ matrix.cache-limit }}

- name: Compilation (4.5+)
if: inputs.version != '4.4'
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.sconsflags }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ jobs:
fail-fast: false
matrix:
include:
- version: 4.4
version_ref: 4.4
- version: 4.5
version_ref: 4.5
- version: 4.6dev
version_ref: master
uses: ./.github/workflows/build_engine_version.yml
with:
v8: ${{ needs.environment.outputs.v8 }}
Expand Down
1 change: 1 addition & 0 deletions compat/jsb_engine_version_comparison.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@
#define GODOT_4_3_OR_NEWER GODOT_VERSION_NEWER_THAN(4, 3, -1)
#define GODOT_4_4_OR_NEWER GODOT_VERSION_NEWER_THAN(4, 4, -1)
#define GODOT_4_5_OR_NEWER GODOT_VERSION_NEWER_THAN(4, 5, -1)
#define GODOT_4_6_OR_NEWER GODOT_VERSION_NEWER_THAN(4, 6, -1)

#endif
5 changes: 5 additions & 0 deletions internal/jsb_naming_util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -376,8 +376,13 @@ namespace jsb::internal
}
#endif

#if GODOT_4_6_OR_NEWER
LocalVector<StringName> all_class_names;
ClassDB::get_class_list(all_class_names);
#else
List<StringName> all_class_names;
ClassDB::get_class_list(&all_class_names);
#endif

List<StringName> exposed_class_names;

Expand Down
2 changes: 2 additions & 0 deletions weaver/jsb_script_language.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,9 +198,11 @@ class GodotJSScriptLanguage : public ScriptLanguage
#endif

virtual bool is_using_templates() override { return true; }
#if !GODOT_4_6_OR_NEWER
#ifndef DISABLE_DEPRECATED
virtual bool has_named_classes() const override { return false; }
#endif // DISABLE_DEPRECATED
#endif // !GODOT_4_6_OR_NEWER
virtual bool supports_builtin_mode() const override { return false; }

virtual int find_function(const String& p_function, const String& p_code) const override { return -1; }
Expand Down
Loading