Compare commits
6 Commits
feature/ke
...
topic/code
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9930af5fbc | ||
| 0cf9d36d8c | |||
|
|
6ce3dfad4f | ||
| a545f58657 | |||
| 93103e4e49 | |||
| 0d7d5d8fbc |
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"spec": {
|
|
||||||
"template_id": "kmt",
|
|
||||||
"targets": {
|
|
||||||
"android": {
|
|
||||||
"ui": [
|
|
||||||
"compose"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"desktop": {
|
|
||||||
"ui": [
|
|
||||||
"compose"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"timestamp": "2024-04-29T06:04:57.807358293Z"
|
|
||||||
}
|
|
||||||
@@ -23,6 +23,8 @@ jobs:
|
|||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
- name: Setup Android SDK
|
- name: Setup Android SDK
|
||||||
uses: android-actions/setup-android@v3
|
uses: android-actions/setup-android@v3
|
||||||
|
- name: Install missing packages
|
||||||
|
run: apt-get update; apt-get install -y libglu1-mesa-dev
|
||||||
- name: Cache SonarQube packages
|
- name: Cache SonarQube packages
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ plugins {
|
|||||||
alias(libs.plugins.android.application)
|
alias(libs.plugins.android.application)
|
||||||
alias(libs.plugins.compose.compiler)
|
alias(libs.plugins.compose.compiler)
|
||||||
alias(libs.plugins.compose)
|
alias(libs.plugins.compose)
|
||||||
alias(libs.plugins.kotlin.android)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@@ -18,23 +17,6 @@ android {
|
|||||||
versionName = libs.versions.app.version.name.get()
|
versionName = libs.versions.app.version.name.get()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation(compose.components.resources)
|
|
||||||
implementation(compose.runtime)
|
|
||||||
// implementation(compose.foundation)
|
|
||||||
implementation(compose.material3)
|
|
||||||
implementation(compose.ui)
|
|
||||||
implementation(compose.components.resources)
|
|
||||||
implementation(libs.androidx.activity.compose)
|
|
||||||
// implementation(libs.compose.ui.text.googlefonts)
|
|
||||||
implementation(projects.commonUI)
|
|
||||||
// implementation(compose.components.uiToolingPreview)
|
|
||||||
implementation(libs.androidx.tooling.preview)
|
|
||||||
|
|
||||||
testImplementation(libs.kotlin.test)
|
|
||||||
testImplementation(libs.atrium)
|
|
||||||
}
|
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
sourceCompatibility = JavaVersion.toVersion(libs.versions.jdk.get())
|
sourceCompatibility = JavaVersion.toVersion(libs.versions.jdk.get())
|
||||||
targetCompatibility = JavaVersion.toVersion(libs.versions.jdk.get())
|
targetCompatibility = JavaVersion.toVersion(libs.versions.jdk.get())
|
||||||
@@ -42,7 +24,11 @@ android {
|
|||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
isMinifyEnabled = false
|
isMinifyEnabled = true
|
||||||
|
proguardFiles(
|
||||||
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
|
"proguard-rules.pro"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
debug {
|
debug {
|
||||||
@@ -64,6 +50,18 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation(projects.commonUI)
|
||||||
|
implementation(libs.compose.runtime)
|
||||||
|
implementation(libs.compose.ui)
|
||||||
|
implementation(libs.compose.material3)
|
||||||
|
implementation(libs.compose.components.resources)
|
||||||
|
implementation(libs.androidx.activity.compose)
|
||||||
implementation(libs.androidx.core.ktx)
|
implementation(libs.androidx.core.ktx)
|
||||||
debugImplementation(libs.androidx.tooling)
|
|
||||||
|
implementation(libs.compose.ui.tooling.preview)
|
||||||
|
|
||||||
|
debugImplementation(libs.compose.ui.tooling)
|
||||||
|
|
||||||
|
testImplementation(libs.kotlin.test)
|
||||||
|
testImplementation(libs.atrium)
|
||||||
}
|
}
|
||||||
|
|||||||
17
android/proguard-rules.pro
vendored
Normal file
17
android/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
-dontwarn kotlinx.coroutines.debug.*
|
||||||
|
-dontwarn kotlinx.datetime.**
|
||||||
|
|
||||||
|
-keep class org.jetbrains.skia.** { *; }
|
||||||
|
-keep class org.jetbrains.skiko.** { *; }
|
||||||
|
|
||||||
|
-ignorewarnings
|
||||||
|
|
||||||
|
# Windows folders
|
||||||
|
-keep class com.sun.jna.* { *; }
|
||||||
|
-keepclassmembers class * extends com.sun.jna.* { public *; }
|
||||||
|
|
||||||
|
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
|
||||||
|
void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
|
||||||
|
void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
|
||||||
|
void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
|
||||||
|
}
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package ch.dissem.yaep.android
|
|
||||||
|
|
||||||
import ch.tutteli.atrium.api.fluent.en_GB.toEqual
|
|
||||||
import ch.tutteli.atrium.api.verbs.expect
|
|
||||||
import kotlin.test.Test
|
|
||||||
|
|
||||||
class DummyTest {
|
|
||||||
@Test
|
|
||||||
fun `ensure some test is run`() {
|
|
||||||
expect(true).toEqual(true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import com.android.build.gradle.internal.lint.AndroidLintTask
|
import com.android.build.gradle.internal.lint.AndroidLintTask
|
||||||
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
import nl.littlerobots.vcu.plugin.resolver.VersionSelectors
|
||||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
||||||
import org.sonarqube.gradle.SonarTask
|
import org.sonarqube.gradle.SonarTask
|
||||||
@@ -8,13 +8,14 @@ plugins {
|
|||||||
alias(libs.plugins.versions)
|
alias(libs.plugins.versions)
|
||||||
alias(libs.plugins.sonarqube)
|
alias(libs.plugins.sonarqube)
|
||||||
alias(libs.plugins.kotlin.kover)
|
alias(libs.plugins.kotlin.kover)
|
||||||
|
alias(libs.plugins.spotless)
|
||||||
|
|
||||||
alias(libs.plugins.android.application) apply false
|
alias(libs.plugins.android.application) apply false
|
||||||
alias(libs.plugins.android.library) apply false
|
alias(libs.plugins.android.library) apply false
|
||||||
alias(libs.plugins.compose) apply false
|
alias(libs.plugins.compose) apply false
|
||||||
alias(libs.plugins.compose.compiler) apply false
|
alias(libs.plugins.compose.compiler) apply false
|
||||||
alias(libs.plugins.kotlin.multiplatform) apply false
|
alias(libs.plugins.kotlin.multiplatform) apply false
|
||||||
alias(libs.plugins.kotlin.jvm) apply false
|
alias(libs.plugins.kotlin.jvm) apply false
|
||||||
alias(libs.plugins.kotlin.android) apply false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sonar {
|
sonar {
|
||||||
@@ -45,17 +46,26 @@ tasks.withType<KotlinJvmCompile>().configureEach {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<DependencyUpdatesTask> {
|
spotless {
|
||||||
rejectVersionIf {
|
kotlin {
|
||||||
isNonStable(candidate.version) && !isNonStable(currentVersion)
|
target("**/*.kt")
|
||||||
|
targetExclude("**/build/**", "**/.gradle/**")
|
||||||
|
// ktlint("1.5.0")
|
||||||
|
diktat("1.0.1")
|
||||||
|
}
|
||||||
|
kotlinGradle {
|
||||||
|
target("**/*.gradle.kts")
|
||||||
|
targetExclude("**/build/**", "**/.gradle/**")
|
||||||
|
ktlint("1.5.0")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isNonStable(version: String): Boolean {
|
versionCatalogUpdate {
|
||||||
return version.contains("dev", ignoreCase = true)
|
sortByKey = false
|
||||||
|| version.contains("alpha", ignoreCase = true)
|
keep {
|
||||||
|| version.contains("beta", ignoreCase = true)
|
keepUnusedVersions = true
|
||||||
|| version.contains("RC", ignoreCase = true)
|
}
|
||||||
|
versionSelector(VersionSelectors.STABLE)
|
||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
|
|||||||
@@ -22,13 +22,13 @@ kotlin {
|
|||||||
commonMain.dependencies {
|
commonMain.dependencies {
|
||||||
api(projects.domain)
|
api(projects.domain)
|
||||||
|
|
||||||
implementation(compose.components.resources)
|
implementation(libs.compose.components.resources)
|
||||||
implementation(compose.runtime)
|
implementation(libs.compose.runtime)
|
||||||
implementation(compose.foundation)
|
implementation(libs.compose.foundation)
|
||||||
implementation(compose.ui)
|
implementation(libs.compose.ui)
|
||||||
implementation(compose.components.uiToolingPreview)
|
implementation(libs.compose.ui.tooling.preview)
|
||||||
|
|
||||||
implementation(compose.material3)
|
implementation(libs.compose.material3)
|
||||||
|
|
||||||
implementation(libs.bundles.logging)
|
implementation(libs.bundles.logging)
|
||||||
}
|
}
|
||||||
@@ -37,8 +37,7 @@ kotlin {
|
|||||||
implementation(libs.kotlin.test)
|
implementation(libs.kotlin.test)
|
||||||
implementation(libs.atrium)
|
implementation(libs.atrium)
|
||||||
|
|
||||||
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
|
implementation(libs.compose.ui.test)
|
||||||
implementation(compose.uiTest)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
jvmTest.dependencies {
|
jvmTest.dependencies {
|
||||||
@@ -46,7 +45,7 @@ kotlin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
androidMain.dependencies {
|
androidMain.dependencies {
|
||||||
implementation(libs.androidx.compose.foundation)
|
implementation(libs.compose.foundation)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ kotlin {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(compose.desktop.currentOs)
|
implementation(compose.desktop.currentOs)
|
||||||
implementation(compose.material3)
|
implementation(libs.compose.material3)
|
||||||
implementation(compose.components.resources)
|
implementation(libs.compose.components.resources)
|
||||||
implementation(projects.commonUI)
|
implementation(projects.commonUI)
|
||||||
implementation(compose.components.uiToolingPreview)
|
implementation(libs.compose.ui.tooling.preview)
|
||||||
|
|
||||||
testImplementation(libs.kotlin.test)
|
testImplementation(libs.kotlin.test)
|
||||||
testImplementation(libs.atrium)
|
testImplementation(libs.atrium)
|
||||||
testImplementation(compose.desktop.uiTestJUnit4)
|
testImplementation(libs.compose.ui.test.desktop)
|
||||||
testImplementation(compose.desktop.currentOs)
|
testImplementation(compose.desktop.currentOs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,4 +8,13 @@ android.nonTransitiveRClass=true
|
|||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
|
|
||||||
#MPP
|
#MPP
|
||||||
kotlin.mpp.androidSourceSetLayoutVersion=2
|
kotlin.mpp.androidSourceSetLayoutVersion=2
|
||||||
|
#android.defaults.buildfeatures.resvalues=true
|
||||||
|
#android.enableAppCompileTimeRClass=false
|
||||||
|
#android.usesSdkInManifest.disallowed=false
|
||||||
|
#android.uniquePackageNames=false
|
||||||
|
#android.dependency.useConstraints=true
|
||||||
|
#android.r8.strictFullModeForKeepRules=false
|
||||||
|
#android.r8.optimizedResourceShrinking=false
|
||||||
|
#android.builtInKotlin=false
|
||||||
|
#android.newDsl=false
|
||||||
@@ -1,26 +1,28 @@
|
|||||||
[versions]
|
[versions]
|
||||||
app-version-code = "1"
|
app-version-code = "1"
|
||||||
app-version-name = "1.0.0"
|
app-version-name = "1.0.0"
|
||||||
agp = "8.13.2"
|
agp = "9.0.0"
|
||||||
jdk = "21"
|
jdk = "21"
|
||||||
android-compileSdk = "36"
|
android-compileSdk = "36"
|
||||||
android-minSdk = "26"
|
android-minSdk = "26"
|
||||||
android-targetSdk = "36"
|
android-targetSdk = "36"
|
||||||
androidx-activityCompose = "1.12.2"
|
|
||||||
androidx-compose = "1.10.0"
|
|
||||||
compose-plugin = "1.9.3"
|
|
||||||
kotlin = "2.3.0"
|
kotlin = "2.3.0"
|
||||||
coreKtx = "1.17.0"
|
|
||||||
atrium = "1.2.0"
|
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
|
androidx-activity-compose = { module = "androidx.activity:activity-compose", version = "1.12.2" }
|
||||||
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
|
androidx-core-ktx = { module = "androidx.core:core-ktx", version = "1.17.0" }
|
||||||
androidx-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidx-compose" }
|
|
||||||
androidx-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "androidx-compose" }
|
|
||||||
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidx-compose" }
|
|
||||||
|
|
||||||
atrium = { module = "ch.tutteli.atrium:atrium-fluent", version.ref = "atrium" }
|
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version = "1.10.0" }
|
||||||
|
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version = "1.10.0" }
|
||||||
|
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version = "1.10.0-alpha05" }
|
||||||
|
compose-ui = { module = "org.jetbrains.compose.ui:ui", version = "1.10.0" }
|
||||||
|
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version = "1.10.0" }
|
||||||
|
compose-ui-tooling = { module = "org.jetbrains.compose.ui:ui-tooling", version = "1.10.0" }
|
||||||
|
compose-ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version = "1.10.0" }
|
||||||
|
compose-ui-test = { module = "org.jetbrains.compose.ui:ui-test", version = "1.10.0" }
|
||||||
|
compose-ui-test-desktop = { module = "org.jetbrains.compose.ui:ui-test-desktop", version = "1.10.0" }
|
||||||
|
|
||||||
|
atrium = { module = "ch.tutteli.atrium:atrium-fluent", version = "1.2.0" }
|
||||||
|
|
||||||
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
||||||
|
|
||||||
@@ -31,13 +33,15 @@ logging-slf4j = { module = "org.slf4j:slf4j-simple", version = "2.0.17" }
|
|||||||
logging = ["logging-jvm", "logging-slf4j"]
|
logging = ["logging-jvm", "logging-slf4j"]
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
versions = { id = "com.github.ben-manes.versions", version = "0.53.0" }
|
|
||||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||||
android-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
|
android-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
|
||||||
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
||||||
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||||
compose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
|
compose = { id = "org.jetbrains.compose", version = "1.10.0" }
|
||||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
versions = { id = "nl.littlerobots.version-catalog-update", version = "1.0.1" }
|
||||||
|
|
||||||
|
# Code Analysis Tools and Linters
|
||||||
sonarqube = { id = "org.sonarqube", version = "7.2.2.6593" }
|
sonarqube = { id = "org.sonarqube", version = "7.2.2.6593" }
|
||||||
|
spotless = { id = "com.diffplug.spotless", version = "8.2.0" }
|
||||||
kotlin-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.4" }
|
kotlin-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.4" }
|
||||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|||||||
Reference in New Issue
Block a user