From a0c65d051b80d2191ab09f0e0b326f42be5326cb Mon Sep 17 00:00:00 2001 From: sshropshire <58225613+sshropshire@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:44:13 -0500 Subject: [PATCH] Upgrade AGP to 8.5.2 and Bump Compile Version to API 35 (#278) * Update compile sdk to version 35. * Update build version. * Remove Jacoco for now. * Update CHANGELOG. * Bump GitHub Actions Java Version to 17 to match Android Studio Default JDK Version. * Remove test_coverage workflow for now until we migrate to Kover. * Fix Android lint errors. * Update build versions. * Ignore Android Gradle Plugin Versions for now. * Remove explicit toolchain target. * Make Demo app use same source and target compatability versions as all modules. * Revert Java 17 Demo app settings. --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 14 ++++---- .github/workflows/release_demo.yml | 2 +- .github/workflows/release_snapshot.yml | 14 ++++---- .github/workflows/static_analysis.yml | 8 ++--- .github/workflows/test_coverage.yml | 34 ------------------- .github/workflows/tests.yml | 2 +- CHANGELOG.md | 10 +++++- CardPayments/build.gradle | 10 +++--- CardPayments/src/main/AndroidManifest.xml | 3 +- CorePayments/build.gradle | 11 +++--- CorePayments/src/main/AndroidManifest.xml | 3 +- .../android/corepayments/PaymentsJSON.kt | 8 ++--- .../corepayments/analytics/DeviceInspector.kt | 2 +- Demo/build.gradle | 14 ++++---- Demo/src/main/AndroidManifest.xml | 3 +- FraudProtection/build.gradle | 9 ++--- FraudProtection/src/main/AndroidManifest.xml | 3 +- PayPalNativePayments/build.gradle | 9 ++--- .../src/main/AndroidManifest.xml | 3 +- PayPalWebPayments/build.gradle | 9 ++--- .../src/main/AndroidManifest.xml | 3 +- PaymentButtons/build.gradle | 9 ++--- PaymentButtons/src/main/AndroidManifest.xml | 3 +- .../android/paymentbuttons/PaymentButton.kt | 2 +- README.md | 12 ------- Venmo/build.gradle | 14 ++++---- Venmo/src/main/AndroidManifest.xml | 2 +- build.gradle | 7 ++-- gradle.properties | 3 ++ gradle/libs.versions.toml | 8 ++--- gradle/wrapper/gradle-wrapper.properties | 2 +- lint.xml | 2 ++ 33 files changed, 103 insertions(+), 137 deletions(-) delete mode 100644 .github/workflows/test_coverage.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4241d4eaf..a029e1b50 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' #After decoding the secret key, place the file in ~ /. Gradle/ secring.gpg - name: Decode Signing Key diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 58ff137f3..5f2f5fe39 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' #After decoding the secret key, place the file in ~ /. Gradle/ secring.gpg - name: Decode Signing Key @@ -43,7 +43,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -59,7 +59,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -74,7 +74,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -89,7 +89,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -104,7 +104,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -130,7 +130,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Decode Signing Key uses: ./.github/actions/decode_signing_key_action diff --git a/.github/workflows/release_demo.yml b/.github/workflows/release_demo.yml index 86e11c3c6..890e4cced 100644 --- a/.github/workflows/release_demo.yml +++ b/.github/workflows/release_demo.yml @@ -13,7 +13,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Decode Demo Keystore run: | diff --git a/.github/workflows/release_snapshot.yml b/.github/workflows/release_snapshot.yml index 4c0fc37c0..e34a61f16 100644 --- a/.github/workflows/release_snapshot.yml +++ b/.github/workflows/release_snapshot.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' #After decoding the secret key, place the file in ~ /. Gradle/ secring.gpg - name: Decode Signing Key @@ -46,7 +46,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -62,7 +62,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -77,7 +77,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -92,7 +92,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -107,7 +107,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests uses: ./.github/actions/unit_test_module @@ -133,7 +133,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Decode Signing Key uses: ./.github/actions/decode_signing_key_action diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml index f642ce416..57b196b26 100644 --- a/.github/workflows/static_analysis.yml +++ b/.github/workflows/static_analysis.yml @@ -13,7 +13,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Detekt run: ./gradlew detekt @@ -27,7 +27,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Lint run: ./gradlew lint @@ -40,7 +40,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' # Assemble artifacts from main branch @@ -88,7 +88,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'microsoft' - java-version: '11' + java-version: '17' # Run Diffuse analysis - name: Run Diffuse Analysis - CardPayments diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml deleted file mode 100644 index 2e01e0d20..000000000 --- a/.github/workflows/test_coverage.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Test Coverage -on: - pull_request: - workflow_dispatch: - push: - branches: - - main -concurrency: - group: test-coverage-${{ github.event.number }} - cancel-in-progress: true -jobs: - test_coverage_job: - name: Test Code Coverage - runs-on: macos-latest - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - name: Set up Java - uses: actions/setup-java@v4 - with: - java-version: '11' - distribution: 'microsoft' - - name: Generate Code Coverage Reports - run: ./gradlew jacocoTestReport - - name: Upload Core coverage to Codecov - run: | - curl -Os https://uploader.codecov.io/latest/macos/codecov - chmod +x codecov - ./codecov -f Core/build/jacoco/jacoco.xml -F core - - name: Upload CardPayments coverage to Codecov - run: | - curl -Os https://uploader.codecov.io/latest/macos/codecov - chmod +x codecov - ./codecov -f CardPayments/build/jacoco/jacoco.xml -F card diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f77fcae6c..f6423ed3d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,7 +13,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'microsoft' - name: Run Unit Tests run: ./gradlew --stacktrace testDebug diff --git a/CHANGELOG.md b/CHANGELOG.md index feb5de6e2..2fe0084a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,15 @@ # PayPal Android SDK Release Notes -## 1.6.0 (2024-10-24) +## unreleased +* Gradle + * Update Android Gradle Plugin (AGP) to version `8.5.2` + * Remove jacoco code coverage integration that was causing build failures after upgrading to latest AGP version + * Remove hardcoded compileSdk version from each module's `build.gradle` file + * Update Demo app to use Java 17 to fix kapt build errors +* GitHub Actions + * Bump Java Version to 17 for all build actions +## 1.6.0 (2024-10-24) * All Modules * Upgrade compileSdkVersion and targetSdkVersion to API 35 * CardPayments diff --git a/CardPayments/build.gradle b/CardPayments/build.gradle index 48435eda3..0647e407f 100644 --- a/CardPayments/build.gradle +++ b/CardPayments/build.gradle @@ -1,14 +1,14 @@ plugins { alias libs.plugins.android.library alias libs.plugins.kotlinAndroid - alias libs.plugins.jacocoAndroid alias libs.plugins.kotlinParcelize } android { - compileSdkVersion 31 + namespace 'com.paypal.android.cardpayments' defaultConfig { + compileSdk modules.androidCompileSdk minSdkVersion modules.androidMinSdkVersion targetSdkVersion modules.androidTargetVersion testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -23,11 +23,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility modules.sourceCompatibility + targetCompatibility modules.targetCompatibility } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = modules.kotlinJvmTarget } lintOptions { diff --git a/CardPayments/src/main/AndroidManifest.xml b/CardPayments/src/main/AndroidManifest.xml index 4bbf13699..a5918e68a 100644 --- a/CardPayments/src/main/AndroidManifest.xml +++ b/CardPayments/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + \ No newline at end of file diff --git a/CorePayments/build.gradle b/CorePayments/build.gradle index 0f2a23419..9753f4652 100644 --- a/CorePayments/build.gradle +++ b/CorePayments/build.gradle @@ -1,14 +1,14 @@ plugins { alias libs.plugins.android.library alias libs.plugins.kotlinAndroid - alias libs.plugins.jacocoAndroid alias libs.plugins.kotlinParcelize } android { - compileSdkVersion 31 + namespace 'com.paypal.android.corepayments' defaultConfig { + compileSdk modules.androidCompileSdk minSdkVersion modules.androidMinSdkVersion targetSdkVersion modules.androidTargetVersion testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -24,11 +24,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility modules.sourceCompatibility + targetCompatibility modules.targetCompatibility } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = modules.kotlinJvmTarget } lintOptions { lintConfig file('../lint.xml') @@ -53,7 +53,6 @@ android { } } } - } dependencies { diff --git a/CorePayments/src/main/AndroidManifest.xml b/CorePayments/src/main/AndroidManifest.xml index 1feac4674..48e9a84c1 100644 --- a/CorePayments/src/main/AndroidManifest.xml +++ b/CorePayments/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + diff --git a/CorePayments/src/main/java/com/paypal/android/corepayments/PaymentsJSON.kt b/CorePayments/src/main/java/com/paypal/android/corepayments/PaymentsJSON.kt index dfcd2ebca..0d4b53d19 100644 --- a/CorePayments/src/main/java/com/paypal/android/corepayments/PaymentsJSON.kt +++ b/CorePayments/src/main/java/com/paypal/android/corepayments/PaymentsJSON.kt @@ -27,7 +27,7 @@ class PaymentsJSON(val json: JSONObject) { var node: JSONObject? = json while (keys.size > 1) { node = node?.optJSONObject(keys[0]) - keys.removeFirst() + keys.removeAt(0) } return node?.optString(keys[0]) @@ -39,7 +39,7 @@ class PaymentsJSON(val json: JSONObject) { var node: JSONObject? = json while (keys.size > 0) { node = node?.optJSONObject(keys[0]) - keys.removeFirst() + keys.removeAt(0) } return node?.let { PaymentsJSON(it) } } @@ -50,7 +50,7 @@ class PaymentsJSON(val json: JSONObject) { val keys = keyPath.split(".").toMutableList() while (keys.size > 1) { node = node.getJSONObject(keys[0]) - keys.removeFirst() + keys.removeAt(0) } return NodeResult(node, keys) } @@ -69,7 +69,7 @@ class PaymentsJSON(val json: JSONObject) { var node: JSONObject? = json while (keys.size > 1) { node = node?.optJSONObject(keys[0]) - keys.removeFirst() + keys.removeAt(0) } return node?.optJSONArray(keys[0]) diff --git a/CorePayments/src/main/java/com/paypal/android/corepayments/analytics/DeviceInspector.kt b/CorePayments/src/main/java/com/paypal/android/corepayments/analytics/DeviceInspector.kt index 9a89808a3..7d262ee02 100644 --- a/CorePayments/src/main/java/com/paypal/android/corepayments/analytics/DeviceInspector.kt +++ b/CorePayments/src/main/java/com/paypal/android/corepayments/analytics/DeviceInspector.kt @@ -61,7 +61,7 @@ internal class DeviceInspector @VisibleForTesting constructor( deviceManufacturer = deviceManufacturer, deviceModel = deviceModel, isSimulator = isSimulator, - merchantAppVersion = merchantAppVersion, + merchantAppVersion = merchantAppVersion ?: "", ) } } diff --git a/Demo/build.gradle b/Demo/build.gradle index 7e78ecba1..32475901c 100644 --- a/Demo/build.gradle +++ b/Demo/build.gradle @@ -10,11 +10,13 @@ plugins { def paypalProperties = loadPropertiesFromFile("paypal.properties") android { + namespace 'com.paypal.android' + defaultConfig { applicationId "com.paypal.android" - minSdkVersion 21 - compileSdk 34 - targetSdkVersion 34 + compileSdk modules.androidCompileSdk + minSdkVersion modules.androidMinSdkVersion + targetSdkVersion modules.androidTargetVersion versionCode modules.demoAppVersionCode versionName modules.sdkVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -41,11 +43,11 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() } lintOptions { diff --git a/Demo/src/main/AndroidManifest.xml b/Demo/src/main/AndroidManifest.xml index a63e93b6b..e2eadf69c 100644 --- a/Demo/src/main/AndroidManifest.xml +++ b/Demo/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools"> diff --git a/FraudProtection/build.gradle b/FraudProtection/build.gradle index dedf0a090..f33d90413 100644 --- a/FraudProtection/build.gradle +++ b/FraudProtection/build.gradle @@ -4,9 +4,10 @@ plugins { } android { - compileSdk 31 + namespace 'com.paypal.android.fraudprotection' defaultConfig { + compileSdk modules.androidCompileSdk minSdkVersion modules.androidMinSdkVersion targetSdkVersion modules.androidTargetVersion testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -21,11 +22,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility modules.sourceCompatibility + targetCompatibility modules.targetCompatibility } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = modules.kotlinJvmTarget } testOptions { diff --git a/FraudProtection/src/main/AndroidManifest.xml b/FraudProtection/src/main/AndroidManifest.xml index 023404efc..48e9a84c1 100644 --- a/FraudProtection/src/main/AndroidManifest.xml +++ b/FraudProtection/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + diff --git a/PayPalNativePayments/build.gradle b/PayPalNativePayments/build.gradle index d8696f0e2..8c1ce9fc3 100644 --- a/PayPalNativePayments/build.gradle +++ b/PayPalNativePayments/build.gradle @@ -4,12 +4,13 @@ plugins { } android { - compileSdkVersion 31 + namespace 'com.paypal.android.paypalnativepayments' defaultConfig { // TODO: revert once Native XO supports minSdk 21 //minSdkVersion 21 minSdkVersion 23 + compileSdk modules.androidCompileSdk targetSdkVersion modules.androidTargetVersion testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" @@ -23,11 +24,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility modules.sourceCompatibility + targetCompatibility modules.targetCompatibility } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = modules.kotlinJvmTarget } lintOptions { lintConfig file('../lint.xml') diff --git a/PayPalNativePayments/src/main/AndroidManifest.xml b/PayPalNativePayments/src/main/AndroidManifest.xml index 8f8f2466e..a5918e68a 100644 --- a/PayPalNativePayments/src/main/AndroidManifest.xml +++ b/PayPalNativePayments/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + \ No newline at end of file diff --git a/PayPalWebPayments/build.gradle b/PayPalWebPayments/build.gradle index 800cf1998..ea482618e 100644 --- a/PayPalWebPayments/build.gradle +++ b/PayPalWebPayments/build.gradle @@ -4,9 +4,10 @@ plugins { } android { - compileSdk 31 + namespace 'com.paypal.android.paypalwebpayments' defaultConfig { + compileSdk modules.androidCompileSdk minSdkVersion modules.androidMinSdkVersion targetSdkVersion modules.androidTargetVersion testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -21,11 +22,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility modules.sourceCompatibility + targetCompatibility modules.targetCompatibility } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = modules.kotlinJvmTarget } } diff --git a/PayPalWebPayments/src/main/AndroidManifest.xml b/PayPalWebPayments/src/main/AndroidManifest.xml index ea653906a..a5918e68a 100644 --- a/PayPalWebPayments/src/main/AndroidManifest.xml +++ b/PayPalWebPayments/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + \ No newline at end of file diff --git a/PaymentButtons/build.gradle b/PaymentButtons/build.gradle index 93d53123a..b468eda1c 100644 --- a/PaymentButtons/build.gradle +++ b/PaymentButtons/build.gradle @@ -4,9 +4,10 @@ plugins { } android { - compileSdk 31 + namespace 'com.paypal.android.ui' defaultConfig { + compileSdk modules.androidCompileSdk minSdkVersion modules.androidMinSdkVersion targetSdkVersion modules.androidTargetVersion testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -21,11 +22,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility modules.sourceCompatibility + targetCompatibility modules.targetCompatibility } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = modules.kotlinJvmTarget } } diff --git a/PaymentButtons/src/main/AndroidManifest.xml b/PaymentButtons/src/main/AndroidManifest.xml index cc0be7943..a5918e68a 100644 --- a/PaymentButtons/src/main/AndroidManifest.xml +++ b/PaymentButtons/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + \ No newline at end of file diff --git a/PaymentButtons/src/main/java/com/paypal/android/paymentbuttons/PaymentButton.kt b/PaymentButtons/src/main/java/com/paypal/android/paymentbuttons/PaymentButton.kt index eb48bde71..69a0542c8 100644 --- a/PaymentButtons/src/main/java/com/paypal/android/paymentbuttons/PaymentButton.kt +++ b/PaymentButtons/src/main/java/com/paypal/android/paymentbuttons/PaymentButton.kt @@ -214,7 +214,7 @@ abstract class PaymentButton @JvmOverloads constructor( visibility = VISIBLE } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { if (shape == PaymentButtonShape.PILL && shapeHasChanged) { shape = PaymentButtonShape.PILL // force update since PILL is dependent on view height. } diff --git a/README.md b/README.md index 31b9db739..8fce88f92 100644 --- a/README.md +++ b/README.md @@ -77,18 +77,6 @@ Running the gradle task with the `-PdetektAutoCorrect` parameter, will automatic Detekt rules are configured in `detekt/detekt-config.yml`. -### Jacoco - -This project uses [Jacoco](https://www.jacoco.org/jacoco/) for gathering code coverage metrics. We leverage the 3rd-party [jacoco-android-gradle-plugin](https://github.com/arturdm/jacoco-android-gradle-plugin) to integrate Jacoco into our project. - -To run code coverage analysis: - -``` -./gradlew jacocoTestReport -``` - -The results are then generated in each module's respective `build/jacoco` folder (e.g. `CardPayments/build/jacoco`). - ## Contributing See our [GitHub Guidelines](#TODO: determine where this document will live and update link) for git practices followed in this project. diff --git a/Venmo/build.gradle b/Venmo/build.gradle index 14d4c54e8..57451f526 100644 --- a/Venmo/build.gradle +++ b/Venmo/build.gradle @@ -4,12 +4,12 @@ plugins { } android { - compileSdk 31 + namespace 'com.paypal.android.venmo' defaultConfig { - minSdk 21 - targetSdk 31 - + compileSdk modules.androidCompileSdk + minSdkVersion modules.androidMinSdkVersion + targetSdkVersion modules.androidTargetVersion testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" } @@ -22,11 +22,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility modules.sourceCompatibility + targetCompatibility modules.targetCompatibility } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = modules.kotlinJvmTarget } } diff --git a/Venmo/src/main/AndroidManifest.xml b/Venmo/src/main/AndroidManifest.xml index 40af26701..e10007615 100644 --- a/Venmo/src/main/AndroidManifest.xml +++ b/Venmo/src/main/AndroidManifest.xml @@ -1,4 +1,4 @@ - + diff --git a/build.gradle b/build.gradle index 8a2971f6d..5be3606ec 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,11 @@ buildscript { "sdkVersionName" : "1.6.1-SNAPSHOT", "demoAppVersionCode" : 4, "androidMinSdkVersion": 21, - "androidTargetVersion": 35 + "androidTargetVersion": 35, + "androidCompileSdk": 35, + "sourceCompatibility": JavaVersion.VERSION_1_8, + "targetCompatibility": JavaVersion.VERSION_1_8, + "kotlinJvmTarget": JavaVersion.VERSION_1_8.toString() ] } @@ -13,7 +17,6 @@ plugins { alias libs.plugins.dagger.hilt apply false alias libs.plugins.detekt alias libs.plugins.gradlePlayPublisher apply false - alias libs.plugins.jacocoAndroid apply false alias libs.plugins.kotlinAndroid apply false alias libs.plugins.kotlinParcelize apply false alias libs.plugins.kotlinKapt apply false diff --git a/gradle.properties b/gradle.properties index d979e0609..8928127c0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,5 +38,8 @@ POM_DEVELOPER_EMAIL=not_defined cardinalUsername=paypal_sgerritz cardinalPassword=AKCp8jQ8tAahqpT5JjZ4FRP2mW7GMoFZ674kGqHmupTesKeAY2G8NcmPKLuTxTGkKjDLRzDUQ +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 80130fcfb..82d81c5df 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -androidGradlePlugin = "7.4.1" +androidGradlePlugin = "8.5.2" androidxAppcompat = "1.3.1" androidxComposeBom = "2023.05.01" androidxCoreKtx = "1.6.0" @@ -15,14 +15,13 @@ androidxTestRunner = "1.5.2" androidxTestUiAutomator = "2.2.0" browserSwitch = "2.3.1" constraintLayout = "2.1.0" -daggerHilt = "2.44" +daggerHilt = "2.51.1" detektVersion = "1.22.0" googleMaterial = "1.4.0" gradleNexusPublishPlugin = "1.1.0" gradlePlayPublisher = "3.8.4" hiltNavigationCompose = "1.1.0" -hiltVersion = "2.44" -jacocoAndroid = "0.1.5" +hiltVersion = "2.51.1" json = "20220320" jsonAssert = "1.4.0" junit = "4.13.2" @@ -91,7 +90,6 @@ dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "daggerHilt detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detektVersion" } nexus-publishPlugin = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "gradleNexusPublishPlugin" } gradlePlayPublisher = { id = "com.github.triplet.play", version.ref = "gradlePlayPublisher" } -jacocoAndroid = { id = "com.dicedmelon.gradle.jacoco-android", version.ref = "jacocoAndroid" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinVersion" } kotlinKapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlinVersion" } kotlinParcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlinVersion" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index daba86951..adadc7e99 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Wed Jun 21 09:49:22 CDT 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/lint.xml b/lint.xml index b14082175..103dc2432 100644 --- a/lint.xml +++ b/lint.xml @@ -4,4 +4,6 @@ // TODO: Remove this ignore when SDK has been tested against API 31 + // TODO: Remove this once Self Service Android Studio Version has been updated + \ No newline at end of file