From 2d6b4cd55f2fe5dbd0c9acd4ecdcd97e6d049cb6 Mon Sep 17 00:00:00 2001 From: Mahdi Abolfazli Date: Wed, 2 Aug 2023 16:30:02 +0200 Subject: [PATCH 1/5] ci: Upgrade to AGP 8.1.0 and Gradle 8.0 - Adopt non-transitive R class feature - Comment jacoco-android in build.gradle files for now - Add namespace to build.gradle files - Add buildFeatures block to build.gradle files - Add a task to use JavaVersion.VERSION_1_8 in build.gradle files PIA-3211 --- bank-api-library/library/build.gradle.kts | 12 +++++++++ .../screen-api-example-app/build.gradle.kts | 5 ++++ bank-sdk/sdk/build.gradle.kts | 20 +++++++++++--- .../digitalinvoice/DigitalInvoiceActivity.kt | 2 +- .../DigitalInvoiceBottomSheet.kt | 22 ++++++++-------- .../digitalinvoice/LineItemsAdapter.kt | 5 ++-- .../digitalinvoice/ReturnReasonsDialog.kt | 2 +- buildSrc/settings.gradle.kts | 1 - .../kotlin/net/gini/gradle/DokkaPlugin.kt | 2 +- .../net/gini/gradle/PublishToMavenPlugin.kt | 26 ++++++++++--------- capture-sdk/default-network/build.gradle.kts | 19 +++++++++++--- .../screen-api-example-app/build.gradle.kts | 12 +++++++++ .../screen/ui/CameraScreenApiActivity.kt | 4 +-- .../screen/ui/ConfigurationActivity.kt | 2 +- capture-sdk/sdk/build.gradle.kts | 21 +++++++++++---- .../capture/help/FileImportActivity.java | 2 +- core-api-library/library/build.gradle.kts | 13 ++++++++-- .../shared-tests/build.gradle.kts | 6 +++++ gradle/libs.versions.toml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- health-api-library/library/build.gradle.kts | 20 ++++++++++---- health-sdk/example-app/build.gradle.kts | 5 ++++ health-sdk/sdk/build.gradle.kts | 12 +++++++++ settings.gradle.kts | 1 - 24 files changed, 162 insertions(+), 56 deletions(-) diff --git a/bank-api-library/library/build.gradle.kts b/bank-api-library/library/build.gradle.kts index db51172c26..d8c40c1976 100644 --- a/bank-api-library/library/build.gradle.kts +++ b/bank-api-library/library/build.gradle.kts @@ -8,8 +8,14 @@ plugins { } android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml + namespace = "net.gini.android.bank.api" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() @@ -44,6 +50,12 @@ android { } } +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} + dependencies { api(project(":core-api-library:library")) diff --git a/bank-sdk/screen-api-example-app/build.gradle.kts b/bank-sdk/screen-api-example-app/build.gradle.kts index 90e8f98f0f..050d0660f1 100644 --- a/bank-sdk/screen-api-example-app/build.gradle.kts +++ b/bank-sdk/screen-api-example-app/build.gradle.kts @@ -8,8 +8,13 @@ plugins { // TODO: construct version code and name in fastlane and inject them android { + namespace = "net.gini.android.bank.sdk.screenapiexample" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { applicationId = "net.gini.android.bank.sdk.screenapiexample" diff --git a/bank-sdk/sdk/build.gradle.kts b/bank-sdk/sdk/build.gradle.kts index b9ea19da57..f1c51b5ad1 100644 --- a/bank-sdk/sdk/build.gradle.kts +++ b/bank-sdk/sdk/build.gradle.kts @@ -6,16 +6,22 @@ plugins { kotlin("android") kotlin("kapt") id("kotlin-parcelize") - id("com.hiya.jacoco-android") + //id("com.hiya.jacoco-android") } -jacoco { - toolVersion = libs.versions.jacoco.get() -} +//jacoco { +// toolVersion = libs.versions.jacoco.get() +//} android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) + namespace = "net.gini.android.bank.sdk" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() @@ -56,6 +62,12 @@ android { } } +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} + dependencies { api(project(":bank-api-library:library")) diff --git a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceActivity.kt b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceActivity.kt index b1578c0cf2..8aa8e6a0d6 100644 --- a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceActivity.kt +++ b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceActivity.kt @@ -86,7 +86,7 @@ internal class DigitalInvoiceActivity : AppCompatActivity(), DigitalInvoiceFragm } enableHomeAsUp(this) - if (resources.getBoolean(R.bool.gc_is_tablet)) { + if (resources.getBoolean(net.gini.android.capture.R.bool.gc_is_tablet)) { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING) } } diff --git a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceBottomSheet.kt b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceBottomSheet.kt index 78fe2a2f11..6ba056b00f 100644 --- a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceBottomSheet.kt +++ b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/DigitalInvoiceBottomSheet.kt @@ -54,7 +54,7 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - if (resources.getBoolean(R.bool.gc_is_tablet)) { + if (resources.getBoolean(net.gini.android.capture.R.bool.gc_is_tablet)) { activity?.let { binding = GbsEditItemBottomSheetBinding.inflate(it.layoutInflater, null, false) @@ -70,7 +70,7 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem } override fun getTheme(): Int { - if (resources.getBoolean(R.bool.gc_is_tablet)) { + if (resources.getBoolean(net.gini.android.capture.R.bool.gc_is_tablet)) { return super.getTheme() } return R.style.GiniCaptureTheme_DigitalInvoice_Edit_BottomSheetDialog @@ -97,13 +97,13 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem container: ViewGroup?, savedInstanceState: Bundle? ): View? { - if (resources.getBoolean(R.bool.gc_is_tablet)) { + if (resources.getBoolean(net.gini.android.capture.R.bool.gc_is_tablet)) { return super.onCreateView(inflater, container, savedInstanceState) } binding = GbsEditItemBottomSheetBinding.inflate(inflater, container, false) dialog?.setOnShowListener { - val bottomSheetInternal = (it as? BottomSheetDialog)?.findViewById(R.id.design_bottom_sheet) + val bottomSheetInternal = (it as? BottomSheetDialog)?.findViewById(com.google.android.material.R.id.design_bottom_sheet) bottomSheetInternal?.let { BottomSheetBehavior.from(bottomSheetInternal).state = BottomSheetBehavior.STATE_EXPANDED } @@ -179,7 +179,7 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem // Setting large margin to currency label if arrow is hidden to align with + button on UI val param = (binding.gbsDropDownSelectionValue.layoutParams as ViewGroup.MarginLayoutParams).apply { - setMargins(0,0, resources.getDimension(R.dimen.gc_large).toInt(),0) + setMargins(0,0, resources.getDimension(net.gini.android.capture.R.dimen.gc_large).toInt(),0) } binding.gbsDropDownSelectionValue.layoutParams = param } @@ -270,7 +270,7 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem binding.gbsNameTxt.setTextColor( ContextCompat.getColor( requireContext(), - R.color.gc_accent_01 + net.gini.android.capture.R.color.gc_accent_01 ) ) binding.gbsArticleNameDivider.visibility = View.VISIBLE @@ -287,7 +287,7 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem binding.gbsUnitPriceTxt.setTextColor( ContextCompat.getColor( requireContext(), - R.color.gc_accent_01 + net.gini.android.capture.R.color.gc_accent_01 ) ) binding.gbsUnitPriceDivider.visibility = View.VISIBLE @@ -296,7 +296,7 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem getBottomSheetItemTitleColor()?.let { binding.gbsUnitPriceTxt.setTextColor(it) } - binding.gbsDropDownSelectionValue.setTextAppearance(R.style.Root_GiniCaptureTheme_Typography_Subtitle1) + binding.gbsDropDownSelectionValue.setTextAppearance(net.gini.android.capture.R.style.Root_GiniCaptureTheme_Typography_Subtitle1) } } } @@ -370,7 +370,7 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem private fun getBottomSheetItemTitleColor() : Int? { return context?.let { val typedArray = it.obtainStyledAttributes(R.styleable.GBSCurrencyStyle) - typedArray.getColor(R.styleable.GBSCurrencyStyle_gbsBottomSheetItemTitle, R.color.gc_light_01) + typedArray.getColor(R.styleable.GBSCurrencyStyle_gbsBottomSheetItemTitle, net.gini.android.capture.R.color.gc_light_01) } } @@ -403,9 +403,9 @@ internal class DigitalInvoiceBottomSheet : BottomSheetDialogFragment(), LineItem val typedArray = mContext.theme.obtainStyledAttributes(R.styleable.GBSCurrencyStyle) if (items[position] == selectedCurrency) { - convertView.setBackgroundColor(typedArray.getColor(R.styleable.GBSCurrencyStyle_gbsCurrencyPickerItemSelectedColor, R.color.gc_light_01)) + convertView.setBackgroundColor(typedArray.getColor(R.styleable.GBSCurrencyStyle_gbsCurrencyPickerItemSelectedColor, net.gini.android.capture.R.color.gc_light_01)) } else { - convertView.setBackgroundColor(typedArray.getColor(R.styleable.GBSCurrencyStyle_gbsCurrencyPickerItemBackgroundColor, R.color.gc_light_01)) + convertView.setBackgroundColor(typedArray.getColor(R.styleable.GBSCurrencyStyle_gbsCurrencyPickerItemBackgroundColor, net.gini.android.capture.R.color.gc_light_01)) } return convertView diff --git a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/LineItemsAdapter.kt b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/LineItemsAdapter.kt index 6b983087de..ce20b88171 100644 --- a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/LineItemsAdapter.kt +++ b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/LineItemsAdapter.kt @@ -90,8 +90,9 @@ internal class LineItemsAdapter(private val listener: LineItemsAdapterListener, } // Adding padding for the last addon item, so the item looks full height without modifying the layout file - val bottomPadding = if (position == (itemCount - 1)) context.resources.getDimension(R.dimen.gc_large).toInt() else 0 - viewHolder.itemView.setPadding(context.resources.getDimension(R.dimen.gc_large).toInt(), 0, 0, bottomPadding) + val bottomPadding = if (position == (itemCount - 1)) context.resources.getDimension( + net.gini.android.capture.R.dimen.gc_large).toInt() else 0 + viewHolder.itemView.setPadding(context.resources.getDimension(net.gini.android.capture.R.dimen.gc_large).toInt(), 0, 0, bottomPadding) } } } diff --git a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/ReturnReasonsDialog.kt b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/ReturnReasonsDialog.kt index 21ac8cae30..5c41afb21c 100644 --- a/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/ReturnReasonsDialog.kt +++ b/bank-sdk/sdk/src/main/java/net/gini/android/bank/sdk/capture/digitalinvoice/ReturnReasonsDialog.kt @@ -97,7 +97,7 @@ internal class ReturnReasonDialog : BottomSheetDialogFragment() { view?.let { if (ContextHelper.isTablet(requireContext())) { val mBehavior = BottomSheetBehavior.from(it.parent as View) - mBehavior.maxWidth = resources.getDimension(R.dimen.gc_tablet_width).toInt() + mBehavior.maxWidth = resources.getDimension(net.gini.android.capture.R.dimen.gc_tablet_width).toInt() mBehavior.state = BottomSheetBehavior.STATE_EXPANDED } } diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts index 1284b351fd..cf8bc6f605 100644 --- a/buildSrc/settings.gradle.kts +++ b/buildSrc/settings.gradle.kts @@ -1,4 +1,3 @@ -enableFeaturePreview("VERSION_CATALOGS") dependencyResolutionManagement { versionCatalogs { diff --git a/buildSrc/src/main/kotlin/net/gini/gradle/DokkaPlugin.kt b/buildSrc/src/main/kotlin/net/gini/gradle/DokkaPlugin.kt index a370f28d3e..628ed940a3 100644 --- a/buildSrc/src/main/kotlin/net/gini/gradle/DokkaPlugin.kt +++ b/buildSrc/src/main/kotlin/net/gini/gradle/DokkaPlugin.kt @@ -21,7 +21,7 @@ class DokkaPlugin: Plugin { target.plugins.apply("org.jetbrains.dokka") target.dependencies { - add("dokkaHtmlPlugin", target.libs.findDependency("dokka.kotlinAsJava").get()) + add("dokkaHtmlPlugin", target.libs.findLibrary("dokka.kotlinAsJava").get()) } target.tasks.create("dokkaHtmlSiblingCollector") { diff --git a/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt b/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt index 9eb86098e3..ec6a05a3df 100644 --- a/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt +++ b/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt @@ -21,21 +21,21 @@ import java.util.* class PublishToMavenPlugin : Plugin { override fun apply(target: Project) { - configureMavenPublish(target) + //configureMavenPublish(target) - target.tasks.create("printVersion") { + /* target.tasks.create("printVersion") { doLast { val version: String by target println(version) } - } + }*/ } - private fun configureMavenPublish(target: Project) { + /*private fun configureMavenPublish(target: Project) { target.plugins.apply("maven-publish") target.plugins.apply("signing") - val sourcesJar = target.tasks.register("sourcesJar") { + *//*val sourcesJar = target.tasks.register("sourcesJar") { archiveClassifier.set("sources") val library = target.extensions.getByType() from(library.sourceSets["main"].java.srcDirs) @@ -46,11 +46,11 @@ class PublishToMavenPlugin : Plugin { val dokkaJavadoc = target.tasks.getByName("dokkaJavadoc") dependsOn(dokkaJavadoc) from(dokkaJavadoc.outputDirectory) - } + }*//* target.afterEvaluate { - val sourcesArtifact = artifacts.add("archives", sourcesJar) - val javadocArtifact = artifacts.add("archives", javadocJar) + //val sourcesArtifact = artifacts.add("archives", sourcesJar) + //val javadocArtifact = artifacts.add("archives", javadocJar) extensions.getByType().apply { publications { @@ -60,8 +60,8 @@ class PublishToMavenPlugin : Plugin { from(components["release"]) // Adds additional artifacts - artifact(sourcesArtifact) - artifact(javadocArtifact) + //artifact(sourcesArtifact) + //artifact(javadocArtifact) // Customizes attributes of the publication val groupId: String by target @@ -155,7 +155,9 @@ class PublishToMavenPlugin : Plugin { use the "publishReleasePublicationTo${repoName.capitalize(Locale.getDefault())}Repository" task. """.trimIndent() - ) + ) else { + + } } addMavenRepository( @@ -167,7 +169,7 @@ class PublishToMavenPlugin : Plugin { } } } - } + }*/ } diff --git a/capture-sdk/default-network/build.gradle.kts b/capture-sdk/default-network/build.gradle.kts index 3541bf13d4..9218e02dcf 100644 --- a/capture-sdk/default-network/build.gradle.kts +++ b/capture-sdk/default-network/build.gradle.kts @@ -5,16 +5,22 @@ plugins { id("com.android.library") kotlin("android") kotlin("kapt") - id("com.hiya.jacoco-android") +// id("com.hiya.jacoco-android") } -jacoco { - toolVersion = libs.versions.jacoco.get() -} +//jacoco { +// toolVersion = libs.versions.jacoco.get() +//} android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) + namespace = "net.gini.android.capture.network" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() @@ -43,6 +49,11 @@ android { moduleName = "${properties["groupId"]}.${properties["artifactId"]}" } } +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} dependencies { api(libs.slf4j.api) diff --git a/capture-sdk/screen-api-example-app/build.gradle.kts b/capture-sdk/screen-api-example-app/build.gradle.kts index 29e28af04a..0b18c60055 100644 --- a/capture-sdk/screen-api-example-app/build.gradle.kts +++ b/capture-sdk/screen-api-example-app/build.gradle.kts @@ -22,8 +22,14 @@ plugins { //} android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml + namespace = "net.gini.android.capture.screen" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { applicationId = "net.gini.android.capture.screenapiexample" @@ -78,6 +84,12 @@ android { } } +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} + dependencies { // For testing the local version api(project(":capture-sdk:sdk")) diff --git a/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/CameraScreenApiActivity.kt b/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/CameraScreenApiActivity.kt index 527f291ef6..af436e5e37 100644 --- a/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/CameraScreenApiActivity.kt +++ b/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/CameraScreenApiActivity.kt @@ -35,12 +35,12 @@ class CameraScreenApiActivity : CameraActivity() { // (document.getData() may be null) val intent = document.intent if (intent == null) { - callback.documentRejected(getString(R.string.gc_document_import_error)) + callback.documentRejected(getString(net.gini.android.capture.R.string.gc_document_import_error)) return } val uri = IntentHelper.getUri(intent) if (uri == null) { - callback.documentRejected(getString(R.string.gc_document_import_error)) + callback.documentRejected(getString(net.gini.android.capture.R.string.gc_document_import_error)) return } if (hasMoreThan5MB(uri)) { diff --git a/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/ConfigurationActivity.kt b/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/ConfigurationActivity.kt index 4511427f05..44029bc38b 100644 --- a/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/ConfigurationActivity.kt +++ b/capture-sdk/screen-api-example-app/src/main/java/net/gini/android/capture/screen/ui/ConfigurationActivity.kt @@ -69,7 +69,7 @@ class ConfigurationActivity : AppCompatActivity() { } private fun setupActionBar() { - supportActionBar?.setHomeAsUpIndicator(R.drawable.gc_close) + supportActionBar?.setHomeAsUpIndicator(net.gini.android.capture.R.drawable.gc_close) supportActionBar?.setDisplayHomeAsUpEnabled(true) } diff --git a/capture-sdk/sdk/build.gradle.kts b/capture-sdk/sdk/build.gradle.kts index f9787da9f2..0225b73a2e 100644 --- a/capture-sdk/sdk/build.gradle.kts +++ b/capture-sdk/sdk/build.gradle.kts @@ -5,17 +5,22 @@ import org.jetbrains.dokka.gradle.DokkaTask plugins { id("com.android.library") kotlin("android") - id("com.hiya.jacoco-android") +// id("com.hiya.jacoco-android") id("kotlin-parcelize") } -jacoco { - toolVersion = libs.versions.jacoco.get() -} +//jacoco { +// toolVersion = libs.versions.jacoco.get() +//} android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) + namespace = "net.gini.android.capture" compileSdk = libs.versions.android.compileSdk.get().toInt() - + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() @@ -81,6 +86,12 @@ android { } } +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} + dependencies { api(libs.slf4j.api) implementation(libs.androidx.core.ktx) diff --git a/capture-sdk/sdk/src/main/java/net/gini/android/capture/help/FileImportActivity.java b/capture-sdk/sdk/src/main/java/net/gini/android/capture/help/FileImportActivity.java index 8fa8c17c66..c65ab9d5d7 100644 --- a/capture-sdk/sdk/src/main/java/net/gini/android/capture/help/FileImportActivity.java +++ b/capture-sdk/sdk/src/main/java/net/gini/android/capture/help/FileImportActivity.java @@ -97,7 +97,7 @@ private void showCustomSnackBar() { TypedValue typedValue = new TypedValue(); Resources.Theme theme = getTheme(); - theme.resolveAttribute(R.attr.colorAccent, typedValue, true); + theme.resolveAttribute(androidx.appcompat.R.attr.colorAccent, typedValue, true); @ColorInt int color = typedValue.data; snackbar.setAction(getString(R.string.gc_snackbar_dismiss), v -> snackbar.dismiss()); diff --git a/core-api-library/library/build.gradle.kts b/core-api-library/library/build.gradle.kts index a3210efd21..2197994179 100644 --- a/core-api-library/library/build.gradle.kts +++ b/core-api-library/library/build.gradle.kts @@ -7,8 +7,13 @@ plugins { } android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) + namespace = "net.gini.android.core.api" compileSdk = libs.versions.android.compileSdk.get().toInt() - + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() @@ -42,7 +47,11 @@ android { moduleName = "${properties["groupId"]}.${properties["artifactId"]}" } } - +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} dependencies { api(libs.retrofit) implementation(libs.okhttp3) diff --git a/core-api-library/shared-tests/build.gradle.kts b/core-api-library/shared-tests/build.gradle.kts index 5c80586d2e..b112ac1b65 100644 --- a/core-api-library/shared-tests/build.gradle.kts +++ b/core-api-library/shared-tests/build.gradle.kts @@ -4,8 +4,14 @@ plugins { } android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml + namespace = "net.gini.android.core.api.test.shared" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2adc0570e3..b6c01d4596 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ android-compileSdk = "33" android-minSdk = "21" android-targetSdk = "33" kotlin = "1.8.20" -android-gradle-plugin = "7.2.2" +android-gradle-plugin = "8.1.0" dokka = "1.7.20" androidx-lifecycle = "2.5.1" androidx-camera = "1.2.2" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 366d8e0d29..da8df7a62d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Wed Sep 29 16:01:46 CEST 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/health-api-library/library/build.gradle.kts b/health-api-library/library/build.gradle.kts index 6ccc670e89..9dfc91dcb5 100644 --- a/health-api-library/library/build.gradle.kts +++ b/health-api-library/library/build.gradle.kts @@ -5,16 +5,22 @@ plugins { id("com.android.library") kotlin("android") kotlin("kapt") - id("com.hiya.jacoco-android") +// id("com.hiya.jacoco-android") } -jacoco { - toolVersion = libs.versions.jacoco.get() -} +//jacoco { +// toolVersion = libs.versions.jacoco.get() +//} android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) + namespace = "net.gini.android.health.api" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() @@ -54,7 +60,11 @@ android { } } - +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} dependencies { api(project(":core-api-library:library")) diff --git a/health-sdk/example-app/build.gradle.kts b/health-sdk/example-app/build.gradle.kts index 775c598828..49a6f538a5 100644 --- a/health-sdk/example-app/build.gradle.kts +++ b/health-sdk/example-app/build.gradle.kts @@ -8,8 +8,13 @@ plugins { } android { + namespace = "net.gini.android.health.sdk.exampleapp" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { applicationId = "net.gini.android.health.sdk.exampleapp" minSdk = libs.versions.android.minSdk.get().toInt() diff --git a/health-sdk/sdk/build.gradle.kts b/health-sdk/sdk/build.gradle.kts index da075fb541..adb3e47282 100644 --- a/health-sdk/sdk/build.gradle.kts +++ b/health-sdk/sdk/build.gradle.kts @@ -8,8 +8,14 @@ plugins { } android { + // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) + namespace = "net.gini.android.health.sdk" compileSdk = libs.versions.android.compileSdk.get().toInt() + // after upgrading to AGP 8, we need this to have the defaultConfig block + buildFeatures { + buildConfig = true + } defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() @@ -64,6 +70,12 @@ android { } } +// after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) +// https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version +tasks.withType(type = org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask::class) { + kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() +} + dependencies { api(project(":health-api-library:library")) diff --git a/settings.gradle.kts b/settings.gradle.kts index b0f09e271e..5ce9f378c6 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,4 +1,3 @@ -enableFeaturePreview("VERSION_CATALOGS") dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) From 86afc0b302ff60e682f0620d02816add68c06c99 Mon Sep 17 00:00:00 2001 From: Mahdi Abolfazli Date: Wed, 2 Aug 2023 17:15:25 +0200 Subject: [PATCH 2/5] ci: Fix Jacoco build issue PIA-3211 --- bank-sdk/sdk/build.gradle.kts | 8 ++++---- capture-sdk/default-network/build.gradle.kts | 8 ++++---- capture-sdk/sdk/build.gradle.kts | 8 ++++---- gradle/libs.versions.toml | 2 +- health-api-library/library/build.gradle.kts | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bank-sdk/sdk/build.gradle.kts b/bank-sdk/sdk/build.gradle.kts index f1c51b5ad1..d80f7e0fbd 100644 --- a/bank-sdk/sdk/build.gradle.kts +++ b/bank-sdk/sdk/build.gradle.kts @@ -6,12 +6,12 @@ plugins { kotlin("android") kotlin("kapt") id("kotlin-parcelize") - //id("com.hiya.jacoco-android") + id("jacoco") } -//jacoco { -// toolVersion = libs.versions.jacoco.get() -//} +jacoco { + toolVersion = libs.versions.jacoco.get() +} android { // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) diff --git a/capture-sdk/default-network/build.gradle.kts b/capture-sdk/default-network/build.gradle.kts index 9218e02dcf..0030130e54 100644 --- a/capture-sdk/default-network/build.gradle.kts +++ b/capture-sdk/default-network/build.gradle.kts @@ -5,12 +5,12 @@ plugins { id("com.android.library") kotlin("android") kotlin("kapt") -// id("com.hiya.jacoco-android") + id("jacoco") } -//jacoco { -// toolVersion = libs.versions.jacoco.get() -//} +jacoco { + toolVersion = libs.versions.jacoco.get() +} android { // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) diff --git a/capture-sdk/sdk/build.gradle.kts b/capture-sdk/sdk/build.gradle.kts index 0225b73a2e..427b059330 100644 --- a/capture-sdk/sdk/build.gradle.kts +++ b/capture-sdk/sdk/build.gradle.kts @@ -5,13 +5,13 @@ import org.jetbrains.dokka.gradle.DokkaTask plugins { id("com.android.library") kotlin("android") -// id("com.hiya.jacoco-android") id("kotlin-parcelize") + id("jacoco") } -//jacoco { -// toolVersion = libs.versions.jacoco.get() -//} +jacoco { + toolVersion = libs.versions.jacoco.get() +} android { // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b6c01d4596..5752e46549 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ mockito = "4.2.0" espresso = "3.5.1" checkstyle = "7.8.2" pmd = "6.0.0" -jacoco = "0.8.7" +jacoco = "0.8.10" hilt = "2.46.1" [libraries] diff --git a/health-api-library/library/build.gradle.kts b/health-api-library/library/build.gradle.kts index 9dfc91dcb5..cc2423fb16 100644 --- a/health-api-library/library/build.gradle.kts +++ b/health-api-library/library/build.gradle.kts @@ -5,12 +5,12 @@ plugins { id("com.android.library") kotlin("android") kotlin("kapt") -// id("com.hiya.jacoco-android") + id("jacoco") } -//jacoco { -// toolVersion = libs.versions.jacoco.get() -//} +jacoco { + toolVersion = libs.versions.jacoco.get() +} android { // after upgrading to AGP 8, we need this (copied from the module's AndroidManifest.xml) From 5abe27ea6f8c1c0a3620298bc2864434cfc78f67 Mon Sep 17 00:00:00 2001 From: Mahdi Abolfazli Date: Thu, 3 Aug 2023 15:49:15 +0200 Subject: [PATCH 3/5] ci: Add publishing block to android build.gradle block of libraries - Remove sourcesJar and javadocJar tasks from PublishToMavenPlugin - Add publishing block to every library and sdk (in android block) PIA-3211 --- bank-api-library/library/build.gradle.kts | 7 +++++ bank-sdk/sdk/build.gradle.kts | 7 +++++ .../net/gini/gradle/PublishToMavenPlugin.kt | 28 ++++--------------- capture-sdk/default-network/build.gradle.kts | 7 +++++ capture-sdk/sdk/build.gradle.kts | 7 +++++ core-api-library/library/build.gradle.kts | 7 +++++ health-api-library/library/build.gradle.kts | 7 +++++ health-sdk/sdk/build.gradle.kts | 7 +++++ 8 files changed, 54 insertions(+), 23 deletions(-) diff --git a/bank-api-library/library/build.gradle.kts b/bank-api-library/library/build.gradle.kts index d8c40c1976..bb38b635f2 100644 --- a/bank-api-library/library/build.gradle.kts +++ b/bank-api-library/library/build.gradle.kts @@ -48,6 +48,13 @@ android { // https://stackoverflow.com/a/56329676/276129 moduleName = "${properties["groupId"]}.${properties["artifactId"]}" } + // After AGP 8, this replaces the tasks in PublishToMavenPlugin + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } } // after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) diff --git a/bank-sdk/sdk/build.gradle.kts b/bank-sdk/sdk/build.gradle.kts index d80f7e0fbd..bdb99958ad 100644 --- a/bank-sdk/sdk/build.gradle.kts +++ b/bank-sdk/sdk/build.gradle.kts @@ -60,6 +60,13 @@ android { // https://stackoverflow.com/a/56329676/276129 moduleName = "${properties["groupId"]}.${properties["artifactId"]}" } + // After AGP 8, this replaces the tasks in PublishToMavenPlugin + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } } // after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) diff --git a/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt b/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt index ec6a05a3df..5b65e92383 100644 --- a/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt +++ b/buildSrc/src/main/kotlin/net/gini/gradle/PublishToMavenPlugin.kt @@ -21,36 +21,22 @@ import java.util.* class PublishToMavenPlugin : Plugin { override fun apply(target: Project) { - //configureMavenPublish(target) + configureMavenPublish(target) - /* target.tasks.create("printVersion") { + target.tasks.create("printVersion") { doLast { val version: String by target println(version) } - }*/ + } } - /*private fun configureMavenPublish(target: Project) { + private fun configureMavenPublish(target: Project) { target.plugins.apply("maven-publish") target.plugins.apply("signing") - *//*val sourcesJar = target.tasks.register("sourcesJar") { - archiveClassifier.set("sources") - val library = target.extensions.getByType() - from(library.sourceSets["main"].java.srcDirs) - } - - val javadocJar = target.tasks.register("javadocJar") { - archiveClassifier.set("javadoc") - val dokkaJavadoc = target.tasks.getByName("dokkaJavadoc") - dependsOn(dokkaJavadoc) - from(dokkaJavadoc.outputDirectory) - }*//* target.afterEvaluate { - //val sourcesArtifact = artifacts.add("archives", sourcesJar) - //val javadocArtifact = artifacts.add("archives", javadocJar) extensions.getByType().apply { publications { @@ -59,10 +45,6 @@ class PublishToMavenPlugin : Plugin { // Applies the component for the release build variant from(components["release"]) - // Adds additional artifacts - //artifact(sourcesArtifact) - //artifact(javadocArtifact) - // Customizes attributes of the publication val groupId: String by target val artifactId: String by target @@ -169,7 +151,7 @@ class PublishToMavenPlugin : Plugin { } } } - }*/ + } } diff --git a/capture-sdk/default-network/build.gradle.kts b/capture-sdk/default-network/build.gradle.kts index 0030130e54..e57d65922a 100644 --- a/capture-sdk/default-network/build.gradle.kts +++ b/capture-sdk/default-network/build.gradle.kts @@ -48,6 +48,13 @@ android { // https://stackoverflow.com/a/56329676/276129 moduleName = "${properties["groupId"]}.${properties["artifactId"]}" } + // After AGP 8, this replaces the tasks in PublishToMavenPlugin + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } } // after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) // https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version diff --git a/capture-sdk/sdk/build.gradle.kts b/capture-sdk/sdk/build.gradle.kts index 427b059330..da6da219c2 100644 --- a/capture-sdk/sdk/build.gradle.kts +++ b/capture-sdk/sdk/build.gradle.kts @@ -84,6 +84,13 @@ android { // https://stackoverflow.com/a/56329676/276129 moduleName = "${properties["groupId"]}.${properties["artifactId"]}" } + // After AGP 8, this replaces the tasks in PublishToMavenPlugin + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } } // after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) diff --git a/core-api-library/library/build.gradle.kts b/core-api-library/library/build.gradle.kts index 2197994179..8d97a64dc1 100644 --- a/core-api-library/library/build.gradle.kts +++ b/core-api-library/library/build.gradle.kts @@ -46,6 +46,13 @@ android { // https://stackoverflow.com/a/56329676/276129 moduleName = "${properties["groupId"]}.${properties["artifactId"]}" } + // After AGP 8, this replaces the tasks in PublishToMavenPlugin + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } } // after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) // https://youtrack.jetbrains.com/issue/KT-55947/Unable-to-set-kapt-jvm-target-version diff --git a/health-api-library/library/build.gradle.kts b/health-api-library/library/build.gradle.kts index cc2423fb16..6529243072 100644 --- a/health-api-library/library/build.gradle.kts +++ b/health-api-library/library/build.gradle.kts @@ -58,6 +58,13 @@ android { isIncludeAndroidResources = true } } + // After AGP 8, this replaces the tasks in PublishToMavenPlugin + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } } // after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) diff --git a/health-sdk/sdk/build.gradle.kts b/health-sdk/sdk/build.gradle.kts index adb3e47282..0ce6c2ec7c 100644 --- a/health-sdk/sdk/build.gradle.kts +++ b/health-sdk/sdk/build.gradle.kts @@ -68,6 +68,13 @@ android { jvmTarget = "1.8" } } + // After AGP 8, this replaces the tasks in PublishToMavenPlugin + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } } // after upgrading to AGP 8, we need this, otherwise, gradle will complain to use the same jdk version as your machine (17 which is bundled with Android Studio) From 3cac23e82081c42dfc74307160458f8b0c0aa69b Mon Sep 17 00:00:00 2001 From: Mahdi Abolfazli Date: Thu, 3 Aug 2023 16:35:29 +0200 Subject: [PATCH 4/5] ci: Change github actions Java version to 17 PIA-3211 --- .github/workflows/bank-api-library.check.yml | 12 ++++++------ .../workflows/bank-api-library.docs.build.yml | 2 +- .../bank-api-library.docs.release.yml | 2 +- .github/workflows/bank-api-library.release.yml | 2 +- .github/workflows/bank-sdk.check.yml | 12 ++++++------ .github/workflows/bank-sdk.docs.build.yml | 2 +- .github/workflows/bank-sdk.docs.release.yml | 2 +- .github/workflows/bank-sdk.release.yml | 2 +- .github/workflows/capture-sdk.check.yml | 18 +++++++++--------- .github/workflows/capture-sdk.docs.build.yml | 2 +- .github/workflows/capture-sdk.docs.release.yml | 2 +- .github/workflows/capture-sdk.release.yml | 2 +- .github/workflows/core-api-library.check.yml | 12 ++++++------ .github/workflows/core-api-library.release.yml | 2 +- .github/workflows/health-api-library.check.yml | 14 +++++++------- .../health-api-library.docs.build.yml | 2 +- .../health-api-library.docs.release.yml | 2 +- .../health-api-library.release.snapshots.yml | 2 +- .../workflows/health-api-library.release.yml | 2 +- .github/workflows/health-sdk.check.yml | 10 +++++----- .github/workflows/health-sdk.docs.build.yml | 2 +- .github/workflows/health-sdk.docs.release.yml | 2 +- .../workflows/health-sdk.release.snapshots.yml | 2 +- .github/workflows/health-sdk.release.yml | 2 +- 24 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.github/workflows/bank-api-library.check.yml b/.github/workflows/bank-api-library.check.yml index 48c092abaf..14032b302b 100644 --- a/.github/workflows/bank-api-library.check.yml +++ b/.github/workflows/bank-api-library.check.yml @@ -35,7 +35,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: avd cache @@ -91,7 +91,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run checkstyle @@ -112,7 +112,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run pmd @@ -133,7 +133,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run android lint @@ -154,7 +154,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run detekt @@ -175,7 +175,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run ktlint diff --git a/.github/workflows/bank-api-library.docs.build.yml b/.github/workflows/bank-api-library.docs.build.yml index 81471b528a..2890a46cec 100644 --- a/.github/workflows/bank-api-library.docs.build.yml +++ b/.github/workflows/bank-api-library.docs.build.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/bank-api-library.docs.release.yml b/.github/workflows/bank-api-library.docs.release.yml index a42654ee71..d8a692eeda 100644 --- a/.github/workflows/bank-api-library.docs.release.yml +++ b/.github/workflows/bank-api-library.docs.release.yml @@ -38,7 +38,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/bank-api-library.release.yml b/.github/workflows/bank-api-library.release.yml index e500c30a7f..ac50c333a0 100644 --- a/.github/workflows/bank-api-library.release.yml +++ b/.github/workflows/bank-api-library.release.yml @@ -23,7 +23,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup ruby diff --git a/.github/workflows/bank-sdk.check.yml b/.github/workflows/bank-sdk.check.yml index c7eb3a19b9..223e81a839 100644 --- a/.github/workflows/bank-sdk.check.yml +++ b/.github/workflows/bank-sdk.check.yml @@ -38,7 +38,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run unit tests @@ -73,7 +73,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: avd cache @@ -129,7 +129,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: build debug screen api example app @@ -169,7 +169,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run android lint @@ -190,7 +190,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run detekt @@ -211,7 +211,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run ktlint diff --git a/.github/workflows/bank-sdk.docs.build.yml b/.github/workflows/bank-sdk.docs.build.yml index ebf2e5f63a..e48ce0704b 100644 --- a/.github/workflows/bank-sdk.docs.build.yml +++ b/.github/workflows/bank-sdk.docs.build.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/bank-sdk.docs.release.yml b/.github/workflows/bank-sdk.docs.release.yml index 0b0a400f85..aee5bf8a30 100644 --- a/.github/workflows/bank-sdk.docs.release.yml +++ b/.github/workflows/bank-sdk.docs.release.yml @@ -38,7 +38,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/bank-sdk.release.yml b/.github/workflows/bank-sdk.release.yml index d5fe4bd5a6..3128760fad 100644 --- a/.github/workflows/bank-sdk.release.yml +++ b/.github/workflows/bank-sdk.release.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup ruby diff --git a/.github/workflows/capture-sdk.check.yml b/.github/workflows/capture-sdk.check.yml index 8f7c724bae..5f31b51b80 100644 --- a/.github/workflows/capture-sdk.check.yml +++ b/.github/workflows/capture-sdk.check.yml @@ -36,7 +36,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run unit tests @@ -69,7 +69,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run unit tests @@ -102,7 +102,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: avd cache @@ -158,7 +158,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: build debug screen api example app @@ -198,7 +198,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run checkstyle @@ -219,7 +219,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run pmd @@ -240,7 +240,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run android lint @@ -261,7 +261,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run detekt @@ -282,7 +282,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run ktlint diff --git a/.github/workflows/capture-sdk.docs.build.yml b/.github/workflows/capture-sdk.docs.build.yml index 5ab461d527..4221084636 100644 --- a/.github/workflows/capture-sdk.docs.build.yml +++ b/.github/workflows/capture-sdk.docs.build.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/capture-sdk.docs.release.yml b/.github/workflows/capture-sdk.docs.release.yml index 9379fb288f..78f9f5375d 100644 --- a/.github/workflows/capture-sdk.docs.release.yml +++ b/.github/workflows/capture-sdk.docs.release.yml @@ -38,7 +38,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/capture-sdk.release.yml b/.github/workflows/capture-sdk.release.yml index 7015383c2e..4b8101c95e 100644 --- a/.github/workflows/capture-sdk.release.yml +++ b/.github/workflows/capture-sdk.release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup ruby diff --git a/.github/workflows/core-api-library.check.yml b/.github/workflows/core-api-library.check.yml index 84f7455637..f496dfd88f 100644 --- a/.github/workflows/core-api-library.check.yml +++ b/.github/workflows/core-api-library.check.yml @@ -30,7 +30,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: avd cache @@ -82,7 +82,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run checkstyle @@ -103,7 +103,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run pmd @@ -124,7 +124,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run android lint @@ -145,7 +145,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run detekt @@ -166,7 +166,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run ktlint diff --git a/.github/workflows/core-api-library.release.yml b/.github/workflows/core-api-library.release.yml index 1b21cda7e2..670ccec24e 100644 --- a/.github/workflows/core-api-library.release.yml +++ b/.github/workflows/core-api-library.release.yml @@ -21,7 +21,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup ruby diff --git a/.github/workflows/health-api-library.check.yml b/.github/workflows/health-api-library.check.yml index e8342e5335..b7f2072bcf 100644 --- a/.github/workflows/health-api-library.check.yml +++ b/.github/workflows/health-api-library.check.yml @@ -32,7 +32,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run unit tests @@ -68,7 +68,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: avd cache @@ -124,7 +124,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run checkstyle @@ -145,7 +145,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run pmd @@ -166,7 +166,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run android lint @@ -187,7 +187,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run detekt @@ -208,7 +208,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run ktlint diff --git a/.github/workflows/health-api-library.docs.build.yml b/.github/workflows/health-api-library.docs.build.yml index aab90be831..23a18a39ec 100644 --- a/.github/workflows/health-api-library.docs.build.yml +++ b/.github/workflows/health-api-library.docs.build.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/health-api-library.docs.release.yml b/.github/workflows/health-api-library.docs.release.yml index 4774409225..b1a332d418 100644 --- a/.github/workflows/health-api-library.docs.release.yml +++ b/.github/workflows/health-api-library.docs.release.yml @@ -38,7 +38,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/health-api-library.release.snapshots.yml b/.github/workflows/health-api-library.release.snapshots.yml index e6ddd3db38..1489713d61 100644 --- a/.github/workflows/health-api-library.release.snapshots.yml +++ b/.github/workflows/health-api-library.release.snapshots.yml @@ -17,7 +17,7 @@ # uses: actions/setup-java@v3 # with: # distribution: 'temurin' -# java-version: '11' +# java-version: '17' # cache: 'gradle' # - name: setup ruby diff --git a/.github/workflows/health-api-library.release.yml b/.github/workflows/health-api-library.release.yml index 966542fd55..7ca919a41b 100644 --- a/.github/workflows/health-api-library.release.yml +++ b/.github/workflows/health-api-library.release.yml @@ -23,7 +23,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup ruby diff --git a/.github/workflows/health-sdk.check.yml b/.github/workflows/health-sdk.check.yml index f7e0c331d8..eb2dbdb667 100644 --- a/.github/workflows/health-sdk.check.yml +++ b/.github/workflows/health-sdk.check.yml @@ -36,7 +36,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run unit tests @@ -58,7 +58,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: build debug example app @@ -98,7 +98,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run android lint @@ -119,7 +119,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run detekt @@ -140,7 +140,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: run ktlint diff --git a/.github/workflows/health-sdk.docs.build.yml b/.github/workflows/health-sdk.docs.build.yml index 11a3c518ca..3a992314d9 100644 --- a/.github/workflows/health-sdk.docs.build.yml +++ b/.github/workflows/health-sdk.docs.build.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/health-sdk.docs.release.yml b/.github/workflows/health-sdk.docs.release.yml index 052e421dab..550463d0d5 100644 --- a/.github/workflows/health-sdk.docs.release.yml +++ b/.github/workflows/health-sdk.docs.release.yml @@ -38,7 +38,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup python diff --git a/.github/workflows/health-sdk.release.snapshots.yml b/.github/workflows/health-sdk.release.snapshots.yml index 4c2c28e8ce..4fc40890ef 100644 --- a/.github/workflows/health-sdk.release.snapshots.yml +++ b/.github/workflows/health-sdk.release.snapshots.yml @@ -17,7 +17,7 @@ # uses: actions/setup-java@v3 # with: # distribution: 'temurin' -# java-version: '11' +# java-version: '17' # cache: 'gradle' # - name: setup ruby diff --git a/.github/workflows/health-sdk.release.yml b/.github/workflows/health-sdk.release.yml index 8eac2575db..4e269738cb 100644 --- a/.github/workflows/health-sdk.release.yml +++ b/.github/workflows/health-sdk.release.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: setup ruby From cb59469c828c858b69d0f748c9eea6fa88d61442 Mon Sep 17 00:00:00 2001 From: Mahdi Abolfazli Date: Thu, 3 Aug 2023 17:50:51 +0200 Subject: [PATCH 5/5] ci: Remove jacoco test coverage gradle tasks from github workflows - Removed gradle tasks because with AGP 8, jacoco tasks were not supported PIA-3211 --- .github/workflows/capture-sdk.check.yml | 42 +++++++++++-------- .../workflows/health-api-library.check.yml | 21 ++++++---- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/.github/workflows/capture-sdk.check.yml b/.github/workflows/capture-sdk.check.yml index 5f31b51b80..2b35fb8182 100644 --- a/.github/workflows/capture-sdk.check.yml +++ b/.github/workflows/capture-sdk.check.yml @@ -49,15 +49,18 @@ jobs: name: capture-sdk-unit-test-results path: capture-sdk/sdk/build/reports/tests - - name: create unit test coverage report - run: ./gradlew capture-sdk:sdk:jacocoTestDebugUnitTestReport - - - name: archive unit test coverage report - if: always() - uses: actions/upload-artifact@v3 - with: - name: capture-sdk-unit-test-coverage - path: capture-sdk/sdk/build/jacoco/jacocoHtml +# should be investigated later, right now does not work with AGP 8 +# read this article for some help: https://about.codecov.io/blog/code-coverage-for-android-development-using-kotlin-jacoco-github-actions-and-codecov/ +# +# - name: create unit test coverage report +# run: ./gradlew capture-sdk:sdk:jacocoTestDebugUnitTestReport +# +# - name: archive unit test coverage report +# if: always() +# uses: actions/upload-artifact@v3 +# with: +# name: capture-sdk-unit-test-coverage +# path: capture-sdk/sdk/build/jacoco/jacocoHtml default-network-test: runs-on: ubuntu-latest @@ -82,15 +85,18 @@ jobs: name: capture-sdk-default-network-unit-test-results path: capture-sdk/default-network/build/reports/tests - - name: create unit test coverage report - run: ./gradlew capture-sdk:default-network:jacocoTestDebugUnitTestReport - - - name: archive unit test coverage report - if: always() - uses: actions/upload-artifact@v3 - with: - name: capture-sdk-default-network-unit-test-coverage - path: capture-sdk/default-network/build/jacoco/jacocoHtml +# should be investigated later, right now does not work with AGP 8 +# read this article for some help: https://about.codecov.io/blog/code-coverage-for-android-development-using-kotlin-jacoco-github-actions-and-codecov/ +# +# - name: create unit test coverage report +# run: ./gradlew capture-sdk:default-network:jacocoTestDebugUnitTestReport +# +# - name: archive unit test coverage report +# if: always() +# uses: actions/upload-artifact@v3 +# with: +# name: capture-sdk-default-network-unit-test-coverage +# path: capture-sdk/default-network/build/jacoco/jacocoHtml default-network-instrumented-test: runs-on: macos-latest diff --git a/.github/workflows/health-api-library.check.yml b/.github/workflows/health-api-library.check.yml index b7f2072bcf..0d632c488f 100644 --- a/.github/workflows/health-api-library.check.yml +++ b/.github/workflows/health-api-library.check.yml @@ -45,15 +45,18 @@ jobs: name: health-api-library-unit-test-results path: health-api-library/library/build/reports/tests - - name: create unit test coverage report - run: ./gradlew health-api-library:library:jacocoTestDebugUnitTestReport - - - name: archive unit test coverage report - if: always() - uses: actions/upload-artifact@v3 - with: - name: health-api-library-unit-test-coverage - path: health-api-library/library/build/jacoco/jacocoHtml +# should be investigated later, right now does not work with AGP 8 +# read this article for some help: https://about.codecov.io/blog/code-coverage-for-android-development-using-kotlin-jacoco-github-actions-and-codecov/ +# +# - name: create unit test coverage report +# run: ./gradlew health-api-library:library:jacocoTestDebugUnitTestReport +# +# - name: archive unit test coverage report +# if: always() +# uses: actions/upload-artifact@v3 +# with: +# name: health-api-library-unit-test-coverage +# path: health-api-library/library/build/jacoco/jacocoHtml instrumented-test: runs-on: macos-latest