Prechádzať zdrojové kódy

Merge pull request #1 from terrakok/main

Refactor build configs
Nikita Lipsky 3 rokov pred
rodič
commit
69400e7e86

+ 10 - 3
androidApp/build.gradle.kts

@@ -16,11 +16,15 @@ kotlin {
 }
 
 android {
-    compileSdk = 33
+    compileSdk = (findProperty("android.compileSdk") as String).toInt()
+    namespace = "com.myapplication"
+
+    sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
+
     defaultConfig {
         applicationId = "com.myapplication.MyApplication"
-        minSdk = 26
-        targetSdk = 33
+        minSdk = (findProperty("android.minSdk") as String).toInt()
+        targetSdk = (findProperty("android.targetSdk") as String).toInt()
         versionCode = 1
         versionName = "1.0"
     }
@@ -28,4 +32,7 @@ android {
         sourceCompatibility = JavaVersion.VERSION_11
         targetCompatibility = JavaVersion.VERSION_11
     }
+    kotlin {
+        jvmToolchain(11)
+    }
 }

+ 1 - 2
androidApp/src/androidMain/AndroidManifest.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.myapplication">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
     <application
         android:allowBackup="true"

+ 4 - 14
build.gradle.kts

@@ -1,18 +1,8 @@
 plugins {
     // this is necessary to avoid the plugins to be loaded multiple times
     // in each subproject's classloader
-    kotlin("jvm") apply false
-    kotlin("multiplatform") apply false
-    kotlin("android") apply false
-    id("com.android.application") apply false
-    id("com.android.library") apply false
-    id("org.jetbrains.compose") apply false
-}
-
-allprojects {
-    repositories {
-        google()
-        mavenCentral()
-        maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
-    }
+    kotlin("multiplatform").apply(false)
+    id("com.android.application").apply(false)
+    id("com.android.library").apply(false)
+    id("org.jetbrains.compose").apply(false)
 }

+ 1 - 1
desktopApp/build.gradle.kts

@@ -6,7 +6,7 @@ plugins {
 }
 
 kotlin {
-    jvm {}
+    jvm()
     sourceSets {
         val jvmMain by getting  {
             dependencies {

+ 22 - 13
gradle.properties

@@ -1,16 +1,25 @@
+#Gradle
+org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
+
+#Kotlin
 kotlin.code.style=official
-xcodeproj=./iosApp
-kotlin.native.cocoapods.generate.wrapper=true
-android.useAndroidX=true
-org.gradle.jvmargs=-Xmx3g
-org.jetbrains.compose.experimental.jscanvas.enabled=true
-org.jetbrains.compose.experimental.macos.enabled=true
+
+#MPP
+kotlin.mpp.stability.nowarn=true
+kotlin.mpp.enableCInteropCommonization=true
+kotlin.mpp.androidSourceSetLayoutVersion=2
+
+#Compose
 org.jetbrains.compose.experimental.uikit.enabled=true
 kotlin.native.cacheKind=none
-kotlin.native.useEmbeddableCompilerJar=true
-kotlin.mpp.androidSourceSetLayoutVersion=2
-# Enable kotlin/native experimental memory model
-kotlin.native.binary.memoryModel=experimental
-kotlin.version=1.8.0
-agp.version=7.1.3
-compose.version=1.4.0-alpha01-dev954
+
+#Android
+android.useAndroidX=true
+android.compileSdk=33
+android.targetSdk=33
+android.minSdk=24
+
+#Versions
+kotlin.version=1.8.10
+agp.version=7.4.2
+compose.version=1.4.0-alpha01-dev975

+ 1 - 1
gradle/wrapper/gradle-wrapper.properties

@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

+ 15 - 6
settings.gradle.kts

@@ -1,3 +1,9 @@
+rootProject.name = "My application"
+
+include(":androidApp")
+include(":shared")
+include(":desktopApp")
+
 pluginManagement {
     repositories {
         gradlePluginPortal()
@@ -13,15 +19,18 @@ pluginManagement {
         kotlin("jvm").version(kotlinVersion)
         kotlin("multiplatform").version(kotlinVersion)
         kotlin("android").version(kotlinVersion)
-        id("com.android.base").version(agpVersion)
+
         id("com.android.application").version(agpVersion)
         id("com.android.library").version(agpVersion)
+
         id("org.jetbrains.compose").version(composeVersion)
     }
 }
 
-rootProject.name = "My application"
-
-include(":androidApp")
-include(":shared")
-include(":desktopApp")
+dependencyResolutionManagement {
+    repositories {
+        google()
+        mavenCentral()
+        maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
+    }
+}

+ 19 - 11
shared/build.gradle.kts

@@ -1,5 +1,3 @@
-@file:Suppress("OPT_IN_IS_NOT_ENABLED")
-
 plugins {
     kotlin("multiplatform")
     kotlin("native.cocoapods")
@@ -7,17 +5,17 @@ plugins {
     id("org.jetbrains.compose")
 }
 
-version = "1.0-SNAPSHOT"
-
 kotlin {
     android()
 
     jvm("desktop")
 
-    ios()
+    iosX64()
+    iosArm64()
     iosSimulatorArm64()
 
     cocoapods {
+        version = "1.0.0"
         summary = "Some description for the Shared Module"
         homepage = "Link to the Shared Module homepage"
         ios.deploymentTarget = "14.1"
@@ -46,9 +44,14 @@ kotlin {
                 api("androidx.core:core-ktx:1.9.0")
             }
         }
-        val iosMain by getting
-        val iosSimulatorArm64Main by getting {
-            dependsOn(iosMain)
+        val iosX64Main by getting
+        val iosArm64Main by getting
+        val iosSimulatorArm64Main by getting
+        val iosMain by creating {
+            dependsOn(commonMain)
+            iosX64Main.dependsOn(this)
+            iosArm64Main.dependsOn(this)
+            iosSimulatorArm64Main.dependsOn(this)
         }
         val desktopMain by getting {
             dependencies {
@@ -59,17 +62,22 @@ kotlin {
 }
 
 android {
-    compileSdk = 33
+    compileSdk = (findProperty("android.compileSdk") as String).toInt()
+    namespace = "com.myapplication.common"
+
     sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
     sourceSets["main"].res.srcDirs("src/androidMain/res")
     sourceSets["main"].resources.srcDirs("src/commonMain/resources")
 
     defaultConfig {
-        minSdk = 26
-        targetSdk = 33
+        minSdk = (findProperty("android.minSdk") as String).toInt()
+        targetSdk = (findProperty("android.targetSdk") as String).toInt()
     }
     compileOptions {
         sourceCompatibility = JavaVersion.VERSION_11
         targetCompatibility = JavaVersion.VERSION_11
     }
+    kotlin {
+        jvmToolchain(11)
+    }
 }

+ 1 - 1
shared/src/androidMain/AndroidManifest.xml

@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest package="com.myapplication.common"/>
+<manifest />