diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 963a2a665f..74520a30e8 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -73,7 +73,10 @@ android { // Don't add local save files and fonts to release, obviously ignoreAssetsPattern = "!SaveFiles:!fonts:!maps:!music:!mods" } - buildToolsVersion = "33.0.2" + buildFeatures { + renderScript = true + aidl = true + } } task("texturePacker") { diff --git a/android/src/com/unciv/app/AndroidLogBackend.kt b/android/src/com/unciv/app/AndroidLogBackend.kt index 5cf7465d02..d697bd0428 100644 --- a/android/src/com/unciv/app/AndroidLogBackend.kt +++ b/android/src/com/unciv/app/AndroidLogBackend.kt @@ -5,6 +5,7 @@ import android.app.ActivityManager import android.content.Context import android.os.Build import android.util.Log +import com.badlogic.gdx.backends.android.BuildConfig import com.unciv.utils.LogBackend import com.unciv.utils.Tag diff --git a/build.gradle.kts b/build.gradle.kts index 53e182e952..60ec644d1b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,6 @@ import com.unciv.build.BuildConfig.coroutinesVersion import com.unciv.build.BuildConfig.gdxVersion import com.unciv.build.BuildConfig.kotlinVersion import com.unciv.build.BuildConfig.ktorVersion -import com.unciv.build.BuildConfig.roboVMVersion // You'll still get kotlin-reflect-1.3.70.jar in your classpath, but will no longer be used @@ -25,8 +24,7 @@ buildscript { } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${com.unciv.build.BuildConfig.kotlinVersion}") - classpath("com.android.tools.build:gradle:7.4.2") - classpath("com.mobidevelop.robovm:robovm-gradle-plugin:2.3.1") + classpath("com.android.tools.build:gradle:8.2.2") } } @@ -113,19 +111,6 @@ project(":android") { } } -project(":ios") { - apply(plugin = "kotlin") - apply(plugin = "robovm") - - dependencies { - "implementation"(project(":core")) - "implementation"("com.mobidevelop.robovm:robovm-rt:$roboVMVersion") - "implementation"("com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion") - "implementation"("com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion") - "implementation"("com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios") - } -} - project(":core") { apply(plugin = "kotlin") diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index fc781b734f..fbc7f0acb4 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -10,5 +10,4 @@ object BuildConfig { const val gdxVersion = "1.12.1" const val ktorVersion = "2.2.3" const val coroutinesVersion = "1.7.2" - const val roboVMVersion = "2.3.1" } diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 472e79f177..56e05bad5a 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -8,3 +8,10 @@ sourceSets { java.srcDir("src/") } } + +kotlin { + jvmToolchain(11) +} +java { + targetCompatibility = JavaVersion.VERSION_11 +} diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts index bbdaa634f3..ab58db207d 100644 --- a/desktop/build.gradle.kts +++ b/desktop/build.gradle.kts @@ -11,6 +11,13 @@ sourceSets { } } +kotlin { + jvmToolchain(11) +} +java { + targetCompatibility = JavaVersion.VERSION_11 +} + dependencies { // See https://libgdx.com/news/2021/07/devlog-7-lwjgl3#do-i-need-to-do-anything-else api("com.badlogicgames.gdx:gdx-lwjgl3-glfw-awt-macos:$gdxVersion") diff --git a/docs/Developers/Building-Locally.md b/docs/Developers/Building-Locally.md index 4b56d282fe..4bed49dd08 100644 --- a/docs/Developers/Building-Locally.md +++ b/docs/Developers/Building-Locally.md @@ -21,8 +21,7 @@ By the end of this guide, you will have Unciv running locally from code, so you (Optionally, you can save some space by selecting 'Show Package Details' and choosing the Platform SDK only, without Sources or system Images) - Click "SDK Tools" - Select "Show Package Details" in the bottom right - - Choose version 33.0.2 under "Android SDK Build-Tools" - ![image](/Unciv/assets/Android_SDK_Tools.png) + - Choose version 34.0.0 under "Android SDK Build-Tools" - Click "Apply" - Restart Android Studio - In Android Studio, Run > Edit configurations (be sure the Gradle sync is finished successfully first). diff --git a/gradle.properties b/gradle.properties index 363aa2f180..89c70526b5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,4 +2,6 @@ android.useAndroidX=true android.enableJetifier=true org.gradle.parallel=true org.gradle.caching=true -org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m \ No newline at end of file +org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0a4a206e4c..c880c593f1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Feb 06 15:51:42 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/ios/Info.plist.xml b/ios/Info.plist.xml deleted file mode 100644 index 9842ae2906..0000000000 --- a/ios/Info.plist.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${app.name} - CFBundleExecutable - ${app.executable} - CFBundleIdentifier - ${app.id} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${app.name} - CFBundlePackageType - APPL - CFBundleShortVersionString - ${app.version} - CFBundleSignature - ???? - CFBundleVersion - ${app.build} - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - UIStatusBarHidden - - UIDeviceFamily - - 1 - 2 - - UIRequiredDeviceCapabilities - - armv7 - opengles-2 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - CFBundleIconName - AppIcon - - diff --git a/ios/build.gradle.kts b/ios/build.gradle.kts deleted file mode 100644 index 1349fb05cd..0000000000 --- a/ios/build.gradle.kts +++ /dev/null @@ -1,35 +0,0 @@ -import com.android.build.gradle.internal.tasks.factory.dependsOn -import com.unciv.build.BuildConfig - -sourceSets { - main { - java.srcDir("src/") - } -} - -tasks { - compileJava { - options.encoding = "UTF-8" - } - compileTestJava { - options.encoding = "UTF-8" - } -} - -extra.set("mainClassName", "IOSLauncher") - -tasks { - launchIPhoneSimulator.dependsOn(build) - launchIPadSimulator.dependsOn(build) - launchIOSDevice.dependsOn(build) - createIPA.dependsOn(build) -} - -robovm { - archs = "thumbv7:arm64" -} - -eclipse.project { - name = "${BuildConfig.appName}-ios" - natures("org.robovm.eclipse.RoboVMNature") -} diff --git a/ios/data/Default-1024w-1366h@2x~ipad.png b/ios/data/Default-1024w-1366h@2x~ipad.png deleted file mode 100644 index b175eaab6d..0000000000 Binary files a/ios/data/Default-1024w-1366h@2x~ipad.png and /dev/null differ diff --git a/ios/data/Default-375w-667h@2x.png b/ios/data/Default-375w-667h@2x.png deleted file mode 100644 index f213ce60df..0000000000 Binary files a/ios/data/Default-375w-667h@2x.png and /dev/null differ diff --git a/ios/data/Default-414w-736h@3x.png b/ios/data/Default-414w-736h@3x.png deleted file mode 100644 index 685ba51fcb..0000000000 Binary files a/ios/data/Default-414w-736h@3x.png and /dev/null differ diff --git a/ios/data/Default-568h@2x.png b/ios/data/Default-568h@2x.png deleted file mode 100644 index 101752fe77..0000000000 Binary files a/ios/data/Default-568h@2x.png and /dev/null differ diff --git a/ios/data/Default.png b/ios/data/Default.png deleted file mode 100644 index f1a5582a01..0000000000 Binary files a/ios/data/Default.png and /dev/null differ diff --git a/ios/data/Default@2x.png b/ios/data/Default@2x.png deleted file mode 100644 index ca32f62fc2..0000000000 Binary files a/ios/data/Default@2x.png and /dev/null differ diff --git a/ios/data/Default@2x~ipad.png b/ios/data/Default@2x~ipad.png deleted file mode 100644 index bb77ef073e..0000000000 Binary files a/ios/data/Default@2x~ipad.png and /dev/null differ diff --git a/ios/data/Default~ipad.png b/ios/data/Default~ipad.png deleted file mode 100644 index 855e4f2ad9..0000000000 Binary files a/ios/data/Default~ipad.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/Contents.json b/ios/data/Media.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 9ed19e123f..0000000000 --- a/ios/data/Media.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "iphone-notification-icon-20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "iphone-notification-icon-20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "iphone-spotlight-settings-icon-29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "iphone-spotlight-settings-icon-29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "iphone-spotlight-icon-40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "iphone-spotlight-icon-40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "iphone-app-icon-60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "iphone-app-icon-60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "ipad-notifications-icon-20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "ipad-notifications-icon-20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "ipad-settings-icon-29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "ipad-settings-icon-29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "ipad-spotlight-icon-40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "ipad-spotlight-icon-40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "ipad-app-icon-76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "ipad-app-icon-76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "ipad-pro-app-icon-83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "app-store-icon-1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/app-store-icon-1024@1x.png b/ios/data/Media.xcassets/AppIcon.appiconset/app-store-icon-1024@1x.png deleted file mode 100644 index b4a987c1c5..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/app-store-icon-1024@1x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-app-icon-76@1x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-app-icon-76@1x.png deleted file mode 100644 index d425b2ffc8..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-app-icon-76@1x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-app-icon-76@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-app-icon-76@2x.png deleted file mode 100644 index 192460f2c6..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-app-icon-76@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-notifications-icon-20@1x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-notifications-icon-20@1x.png deleted file mode 100644 index 3ad5eb6ebf..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-notifications-icon-20@1x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-notifications-icon-20@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-notifications-icon-20@2x.png deleted file mode 100644 index 0dbad4557f..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-notifications-icon-20@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-pro-app-icon-83.5@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-pro-app-icon-83.5@2x.png deleted file mode 100644 index 0710fdb954..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-pro-app-icon-83.5@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-settings-icon-29@1x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-settings-icon-29@1x.png deleted file mode 100644 index 949fbaa0bc..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-settings-icon-29@1x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-settings-icon-29@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-settings-icon-29@2x.png deleted file mode 100644 index 0a82ae9a80..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-settings-icon-29@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-spotlight-icon-40@1x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-spotlight-icon-40@1x.png deleted file mode 100644 index 0dbad4557f..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-spotlight-icon-40@1x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-spotlight-icon-40@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/ipad-spotlight-icon-40@2x.png deleted file mode 100644 index 4fc801a854..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/ipad-spotlight-icon-40@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-app-icon-60@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-app-icon-60@2x.png deleted file mode 100644 index 4ce7690c23..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-app-icon-60@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-app-icon-60@3x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-app-icon-60@3x.png deleted file mode 100644 index a0a4ae42cb..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-app-icon-60@3x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-notification-icon-20@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-notification-icon-20@2x.png deleted file mode 100644 index 0dbad4557f..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-notification-icon-20@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-notification-icon-20@3x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-notification-icon-20@3x.png deleted file mode 100644 index b4fc090a26..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-notification-icon-20@3x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-icon-40@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-icon-40@2x.png deleted file mode 100644 index 4fc801a854..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-icon-40@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-icon-40@3x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-icon-40@3x.png deleted file mode 100644 index 4ce7690c23..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-icon-40@3x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-settings-icon-29@2x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-settings-icon-29@2x.png deleted file mode 100644 index 0a82ae9a80..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-settings-icon-29@2x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-settings-icon-29@3x.png b/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-settings-icon-29@3x.png deleted file mode 100644 index eb0446e0e1..0000000000 Binary files a/ios/data/Media.xcassets/AppIcon.appiconset/iphone-spotlight-settings-icon-29@3x.png and /dev/null differ diff --git a/ios/data/Media.xcassets/Contents.json b/ios/data/Media.xcassets/Contents.json deleted file mode 100644 index da4a164c91..0000000000 --- a/ios/data/Media.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/ios/robovm.properties b/ios/robovm.properties deleted file mode 100644 index e12bf5565f..0000000000 --- a/ios/robovm.properties +++ /dev/null @@ -1,6 +0,0 @@ -app.version=1.0 -app.id=com.mygdx.game -app.mainclass=com.unciv.game.IOSLauncher -app.executable=IOSLauncher -app.build=1 -app.name=my-gdx-game diff --git a/ios/robovm.xml b/ios/robovm.xml deleted file mode 100644 index ee0da2d5c9..0000000000 --- a/ios/robovm.xml +++ /dev/null @@ -1,47 +0,0 @@ - - ${app.executable} - ${app.mainclass} - ios - thumbv7 - ios - Info.plist.xml - - - ../android/assets - - ** - - true - - - data - - - - com.badlogic.gdx.scenes.scene2d.ui.* - com.badlogic.gdx.graphics.g3d.particles.** - com.android.okhttp.HttpHandler - com.android.okhttp.HttpsHandler - com.android.org.conscrypt.** - com.android.org.bouncycastle.jce.provider.BouncyCastleProvider - com.android.org.bouncycastle.jcajce.provider.keystore.BC$Mappings - com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi - com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std - com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi - com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryOpenSSL - org.apache.harmony.security.provider.cert.DRLCertFactory - org.apache.harmony.security.provider.crypto.CryptoProvider - - - z - - - UIKit - OpenGLES - QuartzCore - CoreGraphics - OpenAL - AudioToolbox - AVFoundation - - diff --git a/ios/src/com/unciv/app/IOSLauncher.java b/ios/src/com/unciv/app/IOSLauncher.java deleted file mode 100644 index f56b442e4f..0000000000 --- a/ios/src/com/unciv/app/IOSLauncher.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.unciv.app; - -import com.badlogic.gdx.backends.iosrobovm.IOSApplication; -import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration; - -import org.robovm.apple.foundation.NSAutoreleasePool; -import org.robovm.apple.uikit.UIApplication; - -class IOSLauncher extends IOSApplication.Delegate { - @Override - protected IOSApplication createApplication() { - IOSApplicationConfiguration config = new IOSApplicationConfiguration(); - return new IOSApplication(new com.unciv.UncivGame(), config); - } - - public static void main(String[] argv) { - NSAutoreleasePool pool = new NSAutoreleasePool(); - UIApplication.main(argv, null, IOSLauncher.class); - pool.close(); - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 76c2c65126..9b0f76ae3d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1 @@ -include("desktop", "android", "ios", "core", "tests", "server") +include("desktop", "android", "core", "tests", "server")