From 542504557c5979633435876e86beb94e9e25918e Mon Sep 17 00:00:00 2001 From: AGulev Date: Wed, 3 Dec 2025 15:49:08 +0100 Subject: [PATCH 1/2] update to new ios/macos tools --- README.md | 8 ++++---- server/envs/generate_user_env.sh | 2 +- server/envs/macos.env | 7 +++++++ .../scripts/standalone/setup-standalone-env.sh | 8 ++++---- server/test-data/compile.sh | 18 +++++++++--------- 5 files changed, 25 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 8b363e2c..c079a53c 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,10 @@ Ensure that on host is installed: Before running Extender you need to have prepackaged toolchains and sdks. Full instruction how it can be done you can find [here](https://github.com/defold/defold/tree/dev/scripts/package). Ensure that you have the following tools packaged: -* iPhoneOS18.2.sdk -* iPhoneSimulator18.2.sdk -* MacOSX15.2.sdk -* XcodeDefault16.2.xctoolchain.darwin +* iPhoneOS26.2.sdk +* iPhoneSimulator26.2.sdk +* MacOSX26.2.sdk +* XcodeDefault26.2.xctoolchain.darwin NOTE: Complete list of needed packages see [link](./server/scripts/standalone/setup-standalone-env.sh) diff --git a/server/envs/generate_user_env.sh b/server/envs/generate_user_env.sh index de89f16b..a6e9c5a7 100755 --- a/server/envs/generate_user_env.sh +++ b/server/envs/generate_user_env.sh @@ -32,7 +32,7 @@ OUTPUT_FILE=$ENV_DIR/user.env if [[ -z $1 ]]; then echo "Load macos environment..." source ${ENV_DIR}/macos.env - APPENDED_PATH=${PLATFORMSDK_DIR}/XcodeDefault${XCODE_16_VERSION}.xctoolchain/usr/bin:/usr/local/bin:${PATH} + APPENDED_PATH=${PLATFORMSDK_DIR}/XcodeDefault${XCODE_26_VERSION}.xctoolchain/usr/bin:/usr/local/bin:${PATH} else echo "Load $1 environment..." source ${ENV_DIR}/$1.env diff --git a/server/envs/macos.env b/server/envs/macos.env index de31402b..d00c8a0e 100644 --- a/server/envs/macos.env +++ b/server/envs/macos.env @@ -5,3 +5,10 @@ XCODE_16_VERSION=16.2 XCODE_16_CLANG_VERSION=16.0.0 MACOS_15_VERSION=15.2 IOS_18_VERSION=18.2 +SWIFT_6_2_VERSION=6.2 +IOS_26_VERSION_MIN=15.0 +MACOS_26_VERSION_MIN=11.5 +XCODE_26_VERSION=26.2 +XCODE_26_CLANG_VERSION=17.0.0 +MACOS_26_VERSION=26.2 +IOS_26_VERSION=26.2 diff --git a/server/scripts/standalone/setup-standalone-env.sh b/server/scripts/standalone/setup-standalone-env.sh index 311460e7..e1c1b493 100755 --- a/server/scripts/standalone/setup-standalone-env.sh +++ b/server/scripts/standalone/setup-standalone-env.sh @@ -186,10 +186,10 @@ if [[ $(uname) == "Darwin" ]]; then # Keep Apple's naming convention to avoid bugs PACKAGES=( - iPhoneOS${IOS_18_VERSION}.sdk - iPhoneSimulator${IOS_18_VERSION}.sdk - MacOSX${MACOS_15_VERSION}.sdk - XcodeDefault${XCODE_16_VERSION}.xctoolchain.darwin + iPhoneOS${IOS_26_VERSION}.sdk + iPhoneSimulator${IOS_26_VERSION}.sdk + MacOSX${MACOS_26_VERSION}.sdk + XcodeDefault${XCODE_26_VERSION}.xctoolchain.darwin ) function download_packages() { for package_name in ${PACKAGES[@]}; do diff --git a/server/test-data/compile.sh b/server/test-data/compile.sh index 394d4835..d26f2cd3 100755 --- a/server/test-data/compile.sh +++ b/server/test-data/compile.sh @@ -20,15 +20,15 @@ ANDROID_64_NDK_API_VERSION='21' ANDROID_SYS_ROOT=${ANDROID_NDK}/toolchains/llvm/prebuilt/${HOST}-x86_64/sysroot ANDROID_INCLUDE_ARCH=${ANDROID_NDK}/sources/android/cpufeatures -IOS_GCC=${DYNAMO_HOME}/ext/SDKs/XcodeDefault16.2.xctoolchain/usr/bin/clang++ -IOS_AR=${DYNAMO_HOME}/ext/SDKs/XcodeDefault16.2.xctoolchain/usr/bin/ar -IOS_MIN_VERSION=11.0 -IOS_SYS_ROOT=${DYNAMO_HOME}/ext/SDKs/iPhoneOS18.2.sdk - -OSX_GCC=${DYNAMO_HOME}/ext/SDKs/XcodeDefault16.2.xctoolchain/usr/bin/clang++ -OSX_AR=${DYNAMO_HOME}/ext/SDKs/XcodeDefault16.2.xctoolchain/usr/bin/ar -OSX_MIN_VERSION=10.13 -OSX_SYS_ROOT=${DYNAMO_HOME}/ext/SDKs/MacOSX15.2.sdk +IOS_GCC=${DYNAMO_HOME}/ext/SDKs/XcodeDefault26.2.xctoolchain/usr/bin/clang++ +IOS_AR=${DYNAMO_HOME}/ext/SDKs/XcodeDefault26.2.xctoolchain/usr/bin/ar +IOS_MIN_VERSION=15.0 +IOS_SYS_ROOT=${DYNAMO_HOME}/ext/SDKs/iPhoneOS26.2.sdk + +OSX_GCC=${DYNAMO_HOME}/ext/SDKs/XcodeDefault26.2.xctoolchain/usr/bin/clang++ +OSX_AR=${DYNAMO_HOME}/ext/SDKs/XcodeDefault26.2.xctoolchain/usr/bin/ar +OSX_MIN_VERSION=11.5 +OSX_SYS_ROOT=${DYNAMO_HOME}/ext/SDKs/MacOSX25.2.sdk EMCC=$DYNAMO_HOME/ext/SDKs/emsdk-3.1.65/upstream/emscripten/em++ EMAR=$DYNAMO_HOME/ext/SDKs/emsdk-3.1.65/upstream/emscripten/emar From 1be7eb78d9b4cc08f167d375e08f4bffa187a563 Mon Sep 17 00:00:00 2001 From: AGulev Date: Wed, 3 Dec 2025 16:56:11 +0100 Subject: [PATCH 2/2] update gradle to 9.1.0 --- build.gradle | 6 ++--- client/build.gradle | 13 +++++++---- gradle/wrapper/gradle-wrapper.properties | 2 +- server/build.gradle | 23 ++++++------------- server/manifestmergetool/build.gradle | 18 ++++++++------- .../src/main/resources/template.build.gradle | 4 ++-- settings.gradle | 2 +- 7 files changed, 32 insertions(+), 36 deletions(-) diff --git a/build.gradle b/build.gradle index 3690d2cd..4ba38777 100644 --- a/build.gradle +++ b/build.gradle @@ -10,14 +10,14 @@ if (project.hasProperty('publishToGar')) { publishing { repositories { maven { - name "extenderRepo" - url "artifactregistry://europe-west1-maven.pkg.dev/extender-426409/extender-maven/" + name = "extenderRepo" + url = uri("artifactregistry://europe-west1-maven.pkg.dev/extender-426409/extender-maven/") } } } } wrapper { - gradleVersion = '8.9' + gradleVersion = '9.1' distributionType = Wrapper.DistributionType.ALL } diff --git a/client/build.gradle b/client/build.gradle index 269caef2..5fe351b7 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -2,7 +2,10 @@ plugins { id 'java' } -sourceCompatibility = 1.8 +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} repositories { mavenCentral() @@ -18,9 +21,9 @@ if (project.hasProperty('publishToGar')) { publications { extenderClient(MavenPublication) { artifact jar - groupId 'com.defold.extender' - artifactId 'client' - version project.ext.clientVersion + groupId = 'com.defold.extender' + artifactId = 'client' + version = project.ext.clientVersion } } } @@ -46,4 +49,4 @@ dependencies { test { useJUnitPlatform() -} \ No newline at end of file +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2fa91c5f..7b0b78c6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/server/build.gradle b/server/build.gradle index 892aa806..ee121292 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -6,7 +6,6 @@ buildscript { mavenCentral() } dependencies { - classpath 'io.spring.gradle:dependency-management-plugin:1.1.7' classpath 'org.springframework.boot:spring-boot-gradle-plugin:3.5.5' } } @@ -29,10 +28,6 @@ ext { } configurations { - // A configuration meant for consumers that need the API of this component - implementation { - canBeResolved = true - } all*.exclude group: 'commons-logging', module: 'commons-logging' } @@ -40,14 +35,10 @@ repositories { mavenCentral() } -dependencyManagement { - imports { - mavenBom 'com.google.cloud:spring-cloud-gcp-dependencies:7.4.0' - mavenBom 'org.junit:junit-bom:5.13.4' - } -} - dependencies { + implementation(platform("com.google.cloud:spring-cloud-gcp-dependencies:7.4.0")) + testImplementation(platform("org.junit:junit-bom:5.13.4")) + implementation('org.springframework.boot:spring-boot-starter-web') { exclude module: 'spring-boot-starter-tomcat' } @@ -175,9 +166,9 @@ if (project.hasProperty('publishToGar')) { publications { extender(MavenPublication) { artifact bootJar - groupId 'com.defold.extender' - artifactId 'server' - version project.ext.extenderVersion + groupId = 'com.defold.extender' + artifactId = 'server' + version = project.ext.extenderVersion } } } @@ -224,4 +215,4 @@ jacocoTestReport { xml.required.set(true) html.required.set(true) } -} \ No newline at end of file +} diff --git a/server/manifestmergetool/build.gradle b/server/manifestmergetool/build.gradle index b2137e4d..340a6af6 100644 --- a/server/manifestmergetool/build.gradle +++ b/server/manifestmergetool/build.gradle @@ -20,9 +20,11 @@ jar { configurations { - // A configuration meant for consumers that need the API of this component - implementation { + // Resolvable configuration for shading contents into the fat jar + implementationResolved { canBeResolved = true + canBeConsumed = false + extendsFrom implementation } all*.exclude group: 'com.android.tools', module: 'repository' all*.exclude group: 'com.android.tools', module: 'sdklib' @@ -35,13 +37,13 @@ task mainJar(type: Jar) { attributes 'Main-Class': 'com.defold.manifestmergetool.ManifestMergeTool' } from { - configurations.implementation.collect { it.isDirectory() ? it : zipTree(it) } + configurations.implementationResolved.collect { it.isDirectory() ? it : zipTree(it) } } { exclude "META-INF/*.SF" exclude "META-INF/*.DSA" exclude "META-INF/*.RSA" } - duplicatesStrategy DuplicatesStrategy.WARN + duplicatesStrategy = DuplicatesStrategy.WARN with jar doLast { copy { @@ -60,9 +62,9 @@ if (project.hasProperty('publishToGar')) { publications { manifestMergeTool(MavenPublication) { artifact mainJar - groupId 'com.defold.extender' - artifactId 'manifestmergetool' - version project.ext.manifestMergetoolVersion + groupId = 'com.defold.extender' + artifactId = 'manifestmergetool' + version = project.ext.manifestMergetoolVersion } } } @@ -70,7 +72,7 @@ if (project.hasProperty('publishToGar')) { repositories { mavenCentral() - maven { url "https://maven.google.com" } + maven { url = uri("https://maven.google.com") } } dependencies { diff --git a/server/src/main/resources/template.build.gradle b/server/src/main/resources/template.build.gradle index 1e3dd2d7..89d14b52 100644 --- a/server/src/main/resources/template.build.gradle +++ b/server/src/main/resources/template.build.gradle @@ -21,8 +21,8 @@ android { compileSdkVersion {{compile-sdk-version}} compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } namespace = "com.defold.defold" diff --git a/settings.gradle b/settings.gradle index 1ee363bb..5a11e8b1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ buildscript { repositories { maven { - url "https://plugins.gradle.org/m2/" + url = uri("https://plugins.gradle.org/m2/") } } }