diff --git a/PaicordKt/build.gradle.kts b/PaicordKt/build.gradle.kts index e0c8d23e..4304b3a1 100644 --- a/PaicordKt/build.gradle.kts +++ b/PaicordKt/build.gradle.kts @@ -1,60 +1,49 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) + // alias(libs.plugins.jetbrains.kotlin.serialization) } android { namespace = "com.llsc12.paicord" - compileSdk = 36 + compileSdk = libs.versions.compileSdk.get().toInt() defaultConfig { applicationId = "com.llsc12.paicord" - minSdk = 28 - targetSdk = 36 + minSdk = libs.versions.minSdk.get().toInt() + targetSdk = libs.versions.targetSdk.get().toInt() versionCode = 1 versionName = "1.0" - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = false proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } + compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = "17" - } - buildFeatures { - compose = true + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } } dependencies { - implementation(libs.androidx.core.ktx) - implementation(libs.androidx.lifecycle.runtime.ktx) - implementation(libs.androidx.activity.compose) - implementation(platform(libs.androidx.compose.bom)) - implementation(libs.androidx.ui) - implementation(libs.androidx.ui.graphics) - implementation(libs.androidx.ui.tooling.preview) - implementation(libs.androidx.material3) implementation("org.swift.swiftkit:swiftkit-core:1.0-SNAPSHOT") implementation(project(":PaicordLib")) - testImplementation(libs.junit) - androidTestImplementation(libs.androidx.junit) - androidTestImplementation(libs.androidx.espresso.core) - androidTestImplementation(platform(libs.androidx.compose.bom)) - androidTestImplementation(libs.androidx.ui.test.junit4) - debugImplementation(libs.androidx.ui.tooling) - debugImplementation(libs.androidx.ui.test.manifest) + + // Compose/Material packages + implementation(libs.androidx.ui) + implementation(libs.androidx.material3) + implementation(libs.androidx.activity.compose) + + // Navigation 3 + // implementation(libs.androidx.navigation3.ui) + // implementation(libs.androidx.navigation3.runtime) + + // Kotlin serialization + // implementation(libs.kotlinx.serialization.core) } diff --git a/PaicordKt/src/androidTest/java/com/llsc12/paicord/ExampleInstrumentedTest.kt b/PaicordKt/src/androidTest/java/com/llsc12/paicord/ExampleInstrumentedTest.kt deleted file mode 100644 index e04db129..00000000 --- a/PaicordKt/src/androidTest/java/com/llsc12/paicord/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.llsc12.paicord - -import androidx.test.platform.app.InstrumentationRegistry -import androidx.test.ext.junit.runners.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.llsc12.paicord", appContext.packageName) - } -} diff --git a/PaicordKt/src/main/java/com/llsc12/paicord/MainActivity.kt b/PaicordKt/src/main/kotlin/com/llsc12/paicord/MainActivity.kt similarity index 86% rename from PaicordKt/src/main/java/com/llsc12/paicord/MainActivity.kt rename to PaicordKt/src/main/kotlin/com/llsc12/paicord/MainActivity.kt index 74083ecf..b50f4b59 100644 --- a/PaicordKt/src/main/java/com/llsc12/paicord/MainActivity.kt +++ b/PaicordKt/src/main/kotlin/com/llsc12/paicord/MainActivity.kt @@ -10,7 +10,6 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview import com.llsc12.paicord.ui.theme.PaicordTheme class MainActivity : ComponentActivity() { @@ -37,11 +36,3 @@ fun Greeting(name: String, modifier: Modifier = Modifier) { modifier = modifier ) } - -@Preview(showBackground = true) -@Composable -fun GreetingPreview() { - PaicordTheme { - Greeting("Android") - } -} diff --git a/PaicordKt/src/main/java/com/llsc12/paicord/ui/theme/Color.kt b/PaicordKt/src/main/kotlin/com/llsc12/paicord/ui/theme/Color.kt similarity index 100% rename from PaicordKt/src/main/java/com/llsc12/paicord/ui/theme/Color.kt rename to PaicordKt/src/main/kotlin/com/llsc12/paicord/ui/theme/Color.kt diff --git a/PaicordKt/src/main/java/com/llsc12/paicord/ui/theme/Theme.kt b/PaicordKt/src/main/kotlin/com/llsc12/paicord/ui/theme/Theme.kt similarity index 100% rename from PaicordKt/src/main/java/com/llsc12/paicord/ui/theme/Theme.kt rename to PaicordKt/src/main/kotlin/com/llsc12/paicord/ui/theme/Theme.kt diff --git a/PaicordKt/src/main/java/com/llsc12/paicord/ui/theme/Type.kt b/PaicordKt/src/main/kotlin/com/llsc12/paicord/ui/theme/Type.kt similarity index 100% rename from PaicordKt/src/main/java/com/llsc12/paicord/ui/theme/Type.kt rename to PaicordKt/src/main/kotlin/com/llsc12/paicord/ui/theme/Type.kt diff --git a/PaicordKt/src/test/java/com/llsc12/paicord/ExampleUnitTest.kt b/PaicordKt/src/test/java/com/llsc12/paicord/ExampleUnitTest.kt deleted file mode 100644 index 2242218c..00000000 --- a/PaicordKt/src/test/java/com/llsc12/paicord/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.llsc12.paicord - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} diff --git a/PaicordLib/build.gradle b/PaicordLib/build.gradle index c0819bbe..60263831 100644 --- a/PaicordLib/build.gradle +++ b/PaicordLib/build.gradle @@ -1,7 +1,7 @@ import java.nio.file.* import org.gradle.internal.os.OperatingSystem import groovy.json.JsonSlurper -import kotlinx.serialization.json.* +import kotlinx.serialization.* plugins { alias(libs.plugins.android.library) @@ -16,8 +16,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } } diff --git a/build.gradle.kts b/build.gradle.kts index ecf7a234..daf86da9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,4 +3,5 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.android.library) apply false -} \ No newline at end of file + alias(libs.plugins.kotlin.compose) apply false +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 62424a82..8e1b716f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,38 +1,33 @@ [versions] -agp = "8.13.0" -kotlin = "2.0.21" -coreKtx = "1.16.0" -junit = "4.13.2" -junitVersion = "1.3.0" -espressoCore = "3.7.0" -appcompat = "1.7.1" -material = "1.12.0" -constraintlayout = "2.2.1" -lifecycleRuntimeKtx = "2.9.2" -activityCompose = "1.10.1" -composeBom = "2024.09.00" +#noinspection UnusedVersionCatalogEntry +compileSdk = "37" +#noinspection UnusedVersionCatalogEntry +targetSdk = "37" +#noinspection UnusedVersionCatalogEntry +minSdk = "28" +agp = "9.2.1" +nav3Core = "1.1.1" +kotlin = "2.3.21" +material3 = "1.5.0-alpha19" +materialIconsCore = "1.7.8" +ui = "1.11.1" +kotlinSerialization = "2.3.21" +kotlinxSerializationCore = "1.11.0" +androidx-activity = "1.13.0" [libraries] -androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } -junit = { group = "junit", name = "junit", version.ref = "junit" } -androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } -androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } -androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } -material = { group = "com.google.android.material", name = "material", version.ref = "material" } -androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } -androidx-material3 = { group = "androidx.compose.material3", name = "material3" } -androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" } -androidx-ui = { group = "androidx.compose.ui", name = "ui" } -androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" } -androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } -androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } -androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } -androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } -androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" } -androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" } +# these icons can also be used later on +# androidx-material-icons-core = { module = "androidx.compose.material:material-icons-core", version.ref = "materialIconsCore" } +androidx-material3 = { module = "androidx.compose.material3:material3", version.ref = "material3" } +androidx-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "ui" } +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activity" } +# use navigation 3 for later(?) +# androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "nav3Core" } +# androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "nav3Core" } +# kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinxSerializationCore" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } android-library = { id = "com.android.library", version.ref = "agp" } -kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a..5dd3c012 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME