From 7af08113e643591d94315573ba895ac41ae646c1 Mon Sep 17 00:00:00 2001 From: Gabriel Bronzatti Moro Date: Sat, 6 Jan 2024 19:59:16 -0300 Subject: [PATCH 1/3] Updating gradle plugin --- .../src/main/java/extensions/CommonExtensions.kt | 10 +++++----- gradle.properties | 4 +++- gradle/libs.versions.toml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/build-logic/src/main/java/extensions/CommonExtensions.kt b/build-logic/src/main/java/extensions/CommonExtensions.kt index 7e81bf9d..15858681 100644 --- a/build-logic/src/main/java/extensions/CommonExtensions.kt +++ b/build-logic/src/main/java/extensions/CommonExtensions.kt @@ -11,7 +11,7 @@ import org.gradle.api.plugins.ExtensionAware import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions internal fun CommonExtension<*, *, *, *>.setupPackingOptions() { - packagingOptions { + packaging { with(resources) { with(pickFirsts) { add("META-INF/library_release.kotlin_module") @@ -38,12 +38,12 @@ internal fun CommonExtension<*, *, *, *>.setupAndroidDefaultConfig() { internal fun CommonExtension<*, *, *, *>.setupCompileOptions() { compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = "11" + jvmTarget = "17" } } @@ -56,7 +56,7 @@ fun CommonExtension<*, *, *, *>.setupCompose(catalog: VersionCatalog) { kotlinCompilerExtensionVersion = "${catalog.getVersion("compose")}" } - packagingOptions { + packaging { resources.excludes.apply { add("META-INF/AL2.0") add("META-INF/LGPL2.1") diff --git a/gradle.properties b/gradle.properties index c851840d..f63f4eac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,4 +20,6 @@ kotlin.code.style=official # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true \ No newline at end of file +android.nonTransitiveRClass=true +android.defaults.buildfeatures.buildconfig=true +android.nonFinalResIds=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 837a3732..3cab744a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] kotlin = "1.8.10" -android_gradle_plugin = "7.4.2" +android_gradle_plugin = "8.0.0" koin = "3.4.0" ksp = "1.8.10-1.0.9" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4dea114a..30be1904 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Apr 08 14:40:45 BRT 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 From 563ffd9c20adbd28a22d3c57d99fd864049cdc31 Mon Sep 17 00:00:00 2001 From: Gabriel Bronzatti Moro Date: Sat, 6 Jan 2024 20:31:58 -0300 Subject: [PATCH 2/3] Adding kover --- app/build.gradle.kts | 26 +++++++++++++++++++++++++- build.gradle.kts | 1 + feature-favorites/build.gradle.kts | 1 + feature-list-streams/build.gradle.kts | 1 + feature-profile/build.gradle.kts | 1 + gradle/libs.versions.toml | 2 ++ 6 files changed, 31 insertions(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 917ba6d3..c091fb68 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -2,10 +2,29 @@ plugins { id("com.streamplayer.application") + alias(libs.plugins.kover) } -dependencies { +android { + koverReport { + filters { + excludes { + packages( + "*.di", + ) + + classes( + "*.BuildConfig", + "*.ComposableSingletons", + "*ScreenKt*", + ) + annotatedBy("Generated") + } + } + } +} +dependencies { implementation(projects.featureFavorites) implementation(projects.featureListStreams) implementation(projects.featureProfile) @@ -26,4 +45,9 @@ dependencies { implementation(libs.lottie) implementation(libs.lottie) testImplementation(libs.bundles.test) + + // Kover - Combined report + kover(projects.featureListStreams) + kover(projects.featureProfile) + kover(projects.featureFavorites) } \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index ee7f2100..138125e2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,6 +6,7 @@ plugins { alias(libs.plugins.android.library) apply false alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.ksp) apply false + alias(libs.plugins.kover) apply false } tasks.register("clean", Delete::class) { diff --git a/feature-favorites/build.gradle.kts b/feature-favorites/build.gradle.kts index 6bf94b61..c39f7b85 100644 --- a/feature-favorites/build.gradle.kts +++ b/feature-favorites/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.streamplayer.android-library") id("com.streamplayer.compose") + alias(libs.plugins.kover) } dependencies { diff --git a/feature-list-streams/build.gradle.kts b/feature-list-streams/build.gradle.kts index 0b9abebe..15891ad7 100644 --- a/feature-list-streams/build.gradle.kts +++ b/feature-list-streams/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("com.streamplayer.android-library") id("com.streamplayer.compose") + alias(libs.plugins.kover) } dependencies { diff --git a/feature-profile/build.gradle.kts b/feature-profile/build.gradle.kts index 1bc865c3..34e432c9 100644 --- a/feature-profile/build.gradle.kts +++ b/feature-profile/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("com.streamplayer.android-library") id("com.streamplayer.compose") + alias(libs.plugins.kover) } dependencies { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3cab744a..59422f06 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,6 +3,7 @@ kotlin = "1.8.10" android_gradle_plugin = "8.0.0" koin = "3.4.0" ksp = "1.8.10-1.0.9" +kover = "0.7.5" #Test test_junit = "4.13.2" @@ -143,3 +144,4 @@ kotlin_android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin_kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } kotlin_parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp"} +kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" } \ No newline at end of file From 306493441c92945c86cdfd8873de80db89a423b7 Mon Sep 17 00:00:00 2001 From: Gabriel Bronzatti Moro Date: Sat, 6 Jan 2024 20:54:19 -0300 Subject: [PATCH 3/3] Updating java-version --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 0de08bee..8e0ed656 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -14,7 +14,7 @@ jobs: - name: set up JDK 11 uses: actions/setup-java@v3 with: - java-version: '11' + java-version: '17' distribution: 'temurin' cache: gradle - uses: ruby/setup-ruby@v1