From dfc99512f2948f24bafcc9ae755a1f8ee52b2183 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:47:50 +0000 Subject: [PATCH 01/86] chore(deps): update dependency com.google.devtools.ksp to v2.0.0-1.0.23 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 626c046c..e7816070 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,7 +26,7 @@ junit4 = "4.13.2" kotlin = "2.0.0" kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.0" -ksp = "2.0.0-1.0.22" +ksp = "2.0.0-1.0.23" ktlint = "1.3.1" lazyColumnScrollbar = "2.1.0" lottie = "6.4.1" From 7da763d3634857a684352f8deabcb956d7aa4d7e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:47:59 +0000 Subject: [PATCH 02/86] fix(deps): update dependency com.github.nanihadesuka:lazycolumnscrollbar to v2.2.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 626c046c..9e377e90 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,7 +28,7 @@ kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.0" ksp = "2.0.0-1.0.22" ktlint = "1.3.1" -lazyColumnScrollbar = "2.1.0" +lazyColumnScrollbar = "2.2.0" lottie = "6.4.1" okhttp3 = "4.12.0" playReview = "2.0.1" From d3ba24e0ad47f55c45bbe363ff73816042911de2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:38:46 +0000 Subject: [PATCH 03/86] fix(deps): update androidxlifecycle to v2.8.4 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2d6d8af9..90e3ad14 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ androidxComposeMaterial3 = "1.2.1" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" -androidxLifecycle = "2.8.2" +androidxLifecycle = "2.8.4" androidxNavigation = "2.8.0-beta05" androidxTestCore = "1.6.1" appUpdate = "2.1.0" From 065722e26aadb13475c756d28ee28a1d2aa04570 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Jul 2024 15:17:34 +0000 Subject: [PATCH 04/86] chore(deps): update roborazzi to v1.24.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2d6d8af9..7b6fcf3b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" mockk = "1.13.12" -roborazzi = "1.23.0" +roborazzi = "1.24.0" showkase = "1.0.3" aboutLibraries = "11.2.2" konsist = "0.15.1" From 8260b31f139b3026f824595af54b4b2e5520e548 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 09:44:02 +0000 Subject: [PATCH 05/86] chore(deps): update roborazzi to v1.25.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7b6fcf3b..df7acf65 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" mockk = "1.13.12" -roborazzi = "1.24.0" +roborazzi = "1.25.0" showkase = "1.0.3" aboutLibraries = "11.2.2" konsist = "0.15.1" From 968e2c7cd4158cb8685af0c97ec8e5ef22c6d972 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 01:34:33 +0000 Subject: [PATCH 06/86] chore(deps): update gradle/actions action to v4 --- .github/actions/setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 7a411be1..fe9df7dd 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -23,4 +23,4 @@ runs: cache: gradle - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 \ No newline at end of file + uses: gradle/actions/setup-gradle@v4 \ No newline at end of file From 285b1cda59eb42c5736f69296508e91065f470b7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 18:43:51 +0000 Subject: [PATCH 07/86] chore(deps): update hilt to v2.52 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1220a6c2..1b17150b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,7 +21,7 @@ firebaseBom = "33.1.2" firebaseCrashlyticsPlugin = "3.0.2" firebasePerfPlugin = "1.4.2" firebaseAppdistributionPlugin = "5.0.0" -hilt = "2.51.1" +hilt = "2.52" junit4 = "4.13.2" kotlin = "2.0.0" kotlinxSerializationJson = "1.7.1" From a69d40b894f8ce70675a3c7c88fc6ea76bd334f8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 08:47:17 +0000 Subject: [PATCH 08/86] chore(deps): update roborazzi to v1.26.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1220a6c2..b1d9398e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" mockk = "1.13.12" -roborazzi = "1.25.0" +roborazzi = "1.26.0" showkase = "1.0.3" aboutLibraries = "11.2.2" konsist = "0.15.1" From da7501ee61f48fa04277e8e4e5e013e93b75f938 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 22:43:02 +0000 Subject: [PATCH 09/86] fix(deps): update dependency androidx.activity:activity to v1.9.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1220a6c2..9b047df6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] accompanist = "0.34.0" -activity = "1.9.0" +activity = "1.9.2" androidGradlePlugin = "8.5.1" androidxAppCompat = "1.7.0" androidxCompose = "1.6.8" From 15e931e4bac61cc43064ac2930da8d99d58170bd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 22:43:07 +0000 Subject: [PATCH 10/86] fix(deps): update dependency androidx.navigation:navigation-compose to v2.8.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1220a6c2..39b2e53a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" androidxLifecycle = "2.8.4" -androidxNavigation = "2.8.0-beta05" +androidxNavigation = "2.8.0" androidxTestCore = "1.6.1" appUpdate = "2.1.0" coil = "2.7.0" From b43c00d2471387c4d447f2c73fd47c6b0a928b1c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 16:57:42 +0000 Subject: [PATCH 11/86] chore(deps): update cimg/android docker tag to v2024.09 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 67fabf9b..b5c5b0f9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ orbs: executors: android: docker: - - image: cimg/android:2024.01 + - image: cimg/android:2024.09 commands: check_is_skipping_vrt: From 319dab5b3d9f18e1c0502ea0b339813c43abd65e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:20:31 +0000 Subject: [PATCH 12/86] chore(deps): update aboutlibraries to v11.2.3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b1d9398e..063c2835 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -43,7 +43,7 @@ turbine = "1.1.0" mockk = "1.13.12" roborazzi = "1.26.0" showkase = "1.0.3" -aboutLibraries = "11.2.2" +aboutLibraries = "11.2.3" konsist = "0.15.1" # ** I'm using it, so no deletions allowed. ** From 732dee3d18a109fe7d83c46c7918e0ecca1b22d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 15:24:15 +0000 Subject: [PATCH 13/86] fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.6.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0ff7b8f2..b4587654 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -25,7 +25,7 @@ hilt = "2.51.1" junit4 = "4.13.2" kotlin = "2.0.0" kotlinxSerializationJson = "1.7.1" -kotlinxDatetime = "0.6.0" +kotlinxDatetime = "0.6.1" ksp = "2.0.0-1.0.23" ktlint = "1.3.1" lazyColumnScrollbar = "2.1.0" From 5fbc7fb9807ea6f431b54aa1cb0270a05cee9436 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 15:25:28 +0000 Subject: [PATCH 14/86] fix(deps): update dependency com.airbnb.android:lottie-compose to v6.5.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 99f9d36a..5106614b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -29,7 +29,7 @@ kotlinxDatetime = "0.6.0" ksp = "2.0.0-1.0.23" ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" -lottie = "6.4.1" +lottie = "6.5.2" okhttp3 = "4.12.0" playReview = "2.0.1" retrofit = "2.11.0" From f2e5f43318d52d26b2840bf560e95860b2e258b5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 19:21:40 +0000 Subject: [PATCH 15/86] chore(deps): update dependency danger to '~> 9.5.0' --- Gemfile | 2 +- Gemfile.lock | 38 +++++++++++++++++++++++++------------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/Gemfile b/Gemfile index f99b8ef5..7782577e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" git_source(:github) { |repo_name| "https://github.com/kosenda/SimpleCompoundInterestCalculation" } -gem 'danger', '~> 9.4.0' +gem 'danger', '~> 9.5.0' gem "danger-checkstyle_format" gem "danger-jacoco" gem 'danger-android_lint' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 8079cf1a..76a22a32 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,8 +1,10 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + ansi (1.5.0) + ast (1.1.0) base64 (0.2.0) claide (1.1.0) claide-plugins (0.9.2) @@ -12,7 +14,7 @@ GEM colored2 (3.1.2) cork (0.3.0) colored2 (~> 3.1) - danger (9.4.3) + danger (9.5.0) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -22,9 +24,11 @@ GEM git (~> 1.13) kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) - no_proxy_fix octokit (>= 4.0) terminal-table (>= 1, < 4) + danger-android_lint (0.0.12) + danger-plugin-api (~> 1.0) + oga danger-checkstyle_format (0.1.1) danger-plugin-api (~> 1.0) ox (~> 2.0) @@ -33,11 +37,12 @@ GEM nokogiri-happymapper (~> 0.6) danger-plugin-api (1.0.0) danger (> 2.0) - faraday (2.9.0) - faraday-net_http (>= 2.0, < 3.2) + faraday (2.11.0) + faraday-net_http (>= 2.0, < 3.4) + logger faraday-http-cache (2.5.1) faraday (>= 0.8) - faraday-net_http (3.1.0) + faraday-net_http (3.3.0) net-http git (1.19.1) addressable (~> 2.8) @@ -46,10 +51,10 @@ GEM rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) + logger (1.6.1) nap (1.1.0) net-http (0.4.1) uri - no_proxy_fix (0.1.2) nokogiri (1.16.2-arm64-darwin) racc (~> 1.4) nokogiri (1.16.2-x86_64-linux) @@ -60,26 +65,33 @@ GEM base64 faraday (>= 1, < 3) sawyer (~> 0.9) + oga (0.3.4) + ast + ruby-ll (~> 2.1) open4 (1.3.4) ox (2.14.17) - public_suffix (5.0.4) + public_suffix (5.1.1) racc (1.7.3) rchardet (1.8.0) - rexml (3.2.6) + rexml (3.3.7) + ruby-ll (2.1.3) + ansi + ast sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - unicode-display_width (2.5.0) - uri (0.13.0) + unicode-display_width (2.6.0) + uri (0.13.1) PLATFORMS arm64-darwin-22 x86_64-linux DEPENDENCIES - danger (~> 9.4.0) + danger (~> 9.5.0) + danger-android_lint danger-checkstyle_format danger-jacoco From 11efaab8409662a33a39c5de85a192c263d0b546 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 21:17:58 +0000 Subject: [PATCH 16/86] chore(deps): update dependency gh to v2.4.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b5c5b0f9..f35b3fd5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ version: 2.1 orbs: slack: circleci/slack@4.13.3 - gh: circleci/github-cli@2.3.0 + gh: circleci/github-cli@2.4.0 executors: android: From 8bf420d0ccb7011aa9bac5f431eb8badcb5627d9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 00:42:24 +0000 Subject: [PATCH 17/86] chore(deps): update slackapi/slack-github-action action to v1.27.0 --- .github/actions/incoming-webhook/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/incoming-webhook/action.yml b/.github/actions/incoming-webhook/action.yml index 13d0d5ae..713f629a 100644 --- a/.github/actions/incoming-webhook/action.yml +++ b/.github/actions/incoming-webhook/action.yml @@ -15,7 +15,7 @@ runs: # https://github.com/slackapi/slack-github-action - name: Send GitHub Action trigger data to Slack workflow id: slack - uses: slackapi/slack-github-action@v1.26.0 + uses: slackapi/slack-github-action@v1.27.0 with: payload: | { From 99b88233df08ae6d99e02ad53e1dc174bce079e5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:22:48 +0000 Subject: [PATCH 18/86] chore(deps): update kotlin monorepo to v2.0.21 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08cedfab..7b22f3a6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,7 +23,7 @@ firebasePerfPlugin = "1.4.2" firebaseAppdistributionPlugin = "5.0.0" hilt = "2.52" junit4 = "4.13.2" -kotlin = "2.0.0" +kotlin = "2.0.21" kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.1" ksp = "2.0.0-1.0.23" From a1e18d33f425f1f05910af5f2a5cd2520f723f71 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:24:10 +0000 Subject: [PATCH 19/86] fix(deps): update androidxlifecycle to v2.8.7 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08cedfab..4845b6d1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ androidxComposeMaterial3 = "1.2.1" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" -androidxLifecycle = "2.8.4" +androidxLifecycle = "2.8.7" androidxNavigation = "2.8.0" androidxTestCore = "1.6.1" appUpdate = "2.1.0" From a1f07ebf9db5b11e0d64299b2984ba8659ad87fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:24:16 +0000 Subject: [PATCH 20/86] chore(deps): update dependency slack to v4.15.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f35b3fd5..91ddb2bd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 orbs: - slack: circleci/slack@4.13.3 + slack: circleci/slack@4.15.0 gh: circleci/github-cli@2.4.0 executors: From 8b4bb44df247ce6f993b095880acdc34f3bdaf65 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:24:19 +0000 Subject: [PATCH 21/86] fix(deps): update androidxcompose to v1.7.5 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08cedfab..4488d014 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ accompanist = "0.34.0" activity = "1.9.2" androidGradlePlugin = "8.5.1" androidxAppCompat = "1.7.0" -androidxCompose = "1.6.8" +androidxCompose = "1.7.5" androidxComposeMaterial3 = "1.2.1" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" From 43074a083e34557095cc8a531a7496df88689fc8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:30:19 +0000 Subject: [PATCH 22/86] chore(deps): update dependency gradle to v8.10.2 --- gradle/wrapper/gradle-wrapper.jar | Bin 43504 -> 43583 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c3521197d7c4586c843d1d3e9090525f1898cde..a4b76b9530d66f5e68d973ea569d8e19de379189 100644 GIT binary patch delta 3990 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0e..df97d72b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 31d86a6f0cdc08315854ca7cc2264fda4817e0b7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:30:59 +0000 Subject: [PATCH 23/86] chore(deps): update androidgradleplugin to v8.7.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08cedfab..b7a94f79 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] accompanist = "0.34.0" activity = "1.9.2" -androidGradlePlugin = "8.5.1" +androidGradlePlugin = "8.7.2" androidxAppCompat = "1.7.0" androidxCompose = "1.6.8" androidxComposeMaterial3 = "1.2.1" From 3061c9cbae02f01b09cdcda9ccc0ad278297f194 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:32:31 +0000 Subject: [PATCH 24/86] chore(deps): update dependency danger to v9.5.1 --- Gemfile.lock | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 76a22a32..79953da7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,7 +14,8 @@ GEM colored2 (3.1.2) cork (0.3.0) colored2 (~> 3.1) - danger (9.5.0) + danger (9.5.1) + base64 (~> 0.2) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -25,6 +26,7 @@ GEM kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) octokit (>= 4.0) + pstore (~> 0.1) terminal-table (>= 1, < 4) danger-android_lint (0.0.12) danger-plugin-api (~> 1.0) @@ -70,10 +72,11 @@ GEM ruby-ll (~> 2.1) open4 (1.3.4) ox (2.14.17) + pstore (0.1.3) public_suffix (5.1.1) racc (1.7.3) rchardet (1.8.0) - rexml (3.3.7) + rexml (3.3.9) ruby-ll (2.1.3) ansi ast From b460ff1fb258ca91f57b9de9d7f146191df26530 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sat, 9 Nov 2024 16:34:28 +0900 Subject: [PATCH 25/86] feature: update ksp --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7b22f3a6..2ee17afe 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,7 +26,7 @@ junit4 = "4.13.2" kotlin = "2.0.21" kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.1" -ksp = "2.0.0-1.0.23" +ksp = "2.0.21-1.0.27" ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" lottie = "6.5.2" From 182e0780b4a4c9526da66ab5e4a87762667749d7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:41:40 +0000 Subject: [PATCH 26/86] fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.7.3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2ee17afe..521f1062 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ firebaseAppdistributionPlugin = "5.0.0" hilt = "2.52" junit4 = "4.13.2" kotlin = "2.0.21" -kotlinxSerializationJson = "1.7.1" +kotlinxSerializationJson = "1.7.3" kotlinxDatetime = "0.6.1" ksp = "2.0.21-1.0.27" ktlint = "1.3.1" From 0958a4cd5ac56f291274756aed6769bb04e35f66 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 09:23:39 +0000 Subject: [PATCH 27/86] fix(deps): update dependency io.mockk:mockk to v1.13.13 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2ee17afe..d40d17da 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -40,7 +40,7 @@ secrets = "2.0.1" timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" -mockk = "1.13.12" +mockk = "1.13.13" roborazzi = "1.26.0" showkase = "1.0.3" aboutLibraries = "11.2.3" From 9304bf93caee6cc4372c2e1c5893b237c51ac228 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 05:52:18 +0000 Subject: [PATCH 28/86] fix(deps): update dependency androidx.navigation:navigation-compose to v2.8.3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a16cfaa4..f19cee29 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" androidxLifecycle = "2.8.7" -androidxNavigation = "2.8.0" +androidxNavigation = "2.8.3" androidxTestCore = "1.6.1" appUpdate = "2.1.0" coil = "2.7.0" From 8003210f322d0a24c7c08593266683ba1b8cf988 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 05:52:20 +0000 Subject: [PATCH 29/86] fix(deps): update playreview to v2.0.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a16cfaa4..78775845 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -31,7 +31,7 @@ ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" lottie = "6.5.2" okhttp3 = "4.12.0" -playReview = "2.0.1" +playReview = "2.0.2" retrofit = "2.11.0" retrofitSerialization = "1.0.0" robolectric = "4.13" From dc4f5f7488bb1e109b2919d985c448b88ddbda16 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 05:52:50 +0000 Subject: [PATCH 30/86] fix(deps): update dependency androidx.activity:activity to v1.9.3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8ba265e9..7e7ac9ba 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] accompanist = "0.34.0" -activity = "1.9.2" +activity = "1.9.3" androidGradlePlugin = "8.7.2" androidxAppCompat = "1.7.0" androidxCompose = "1.6.8" From 8e2032345e200498ebc356e001186b4bbeaf4565 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 05:52:52 +0000 Subject: [PATCH 31/86] chore(deps): update cimg/android docker tag to v2024.11 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 91ddb2bd..58f57483 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ orbs: executors: android: docker: - - image: cimg/android:2024.09 + - image: cimg/android:2024.11 commands: check_is_skipping_vrt: From f8336c53803251e147624b274d551bbb4523bada Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 05:53:22 +0000 Subject: [PATCH 32/86] fix(deps): update dependency androidx.compose.material3:material3 to v1.3.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f15df02c..a458309a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ activity = "1.9.2" androidGradlePlugin = "8.7.2" androidxAppCompat = "1.7.0" androidxCompose = "1.7.5" -androidxComposeMaterial3 = "1.2.1" +androidxComposeMaterial3 = "1.3.1" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" From 5ec46031ac82c4497d8241b15588ecce7b2cac8d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:47:50 +0000 Subject: [PATCH 33/86] chore(deps): update dependency com.google.devtools.ksp to v2.0.0-1.0.23 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 91253de2..2d6d8af9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,7 +26,7 @@ junit4 = "4.13.2" kotlin = "2.0.0" kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.0" -ksp = "2.0.0-1.0.22" +ksp = "2.0.0-1.0.23" ktlint = "1.3.1" lazyColumnScrollbar = "2.1.0" lottie = "6.4.1" From 04fe0fbbd51d987586a5cb99bb3ace40ae380448 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Jul 2024 15:17:34 +0000 Subject: [PATCH 34/86] chore(deps): update roborazzi to v1.24.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2d6d8af9..7b6fcf3b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" mockk = "1.13.12" -roborazzi = "1.23.0" +roborazzi = "1.24.0" showkase = "1.0.3" aboutLibraries = "11.2.2" konsist = "0.15.1" From 86258b0d44beb43df8294a36b2ed9e0b1bf0781d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 09:44:02 +0000 Subject: [PATCH 35/86] chore(deps): update roborazzi to v1.25.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7b6fcf3b..df7acf65 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" mockk = "1.13.12" -roborazzi = "1.24.0" +roborazzi = "1.25.0" showkase = "1.0.3" aboutLibraries = "11.2.2" konsist = "0.15.1" From ae8a399b28ca8a41bcb702778d798db0ffd73ff5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:38:46 +0000 Subject: [PATCH 36/86] fix(deps): update androidxlifecycle to v2.8.4 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index df7acf65..1220a6c2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ androidxComposeMaterial3 = "1.2.1" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" -androidxLifecycle = "2.8.2" +androidxLifecycle = "2.8.4" androidxNavigation = "2.8.0-beta05" androidxTestCore = "1.6.1" appUpdate = "2.1.0" From 81ce398fbda093d32b486b348bc7f79f7125e650 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 08:47:17 +0000 Subject: [PATCH 37/86] chore(deps): update roborazzi to v1.26.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1220a6c2..b1d9398e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" mockk = "1.13.12" -roborazzi = "1.25.0" +roborazzi = "1.26.0" showkase = "1.0.3" aboutLibraries = "11.2.2" konsist = "0.15.1" From c77b34339ff7cd2ae692dc4052112b90c731de62 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 22:43:02 +0000 Subject: [PATCH 38/86] fix(deps): update dependency androidx.activity:activity to v1.9.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b1d9398e..0ff7b8f2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] accompanist = "0.34.0" -activity = "1.9.0" +activity = "1.9.2" androidGradlePlugin = "8.5.1" androidxAppCompat = "1.7.0" androidxCompose = "1.6.8" From 61aa31d49e896c87f3b18c187bb39a100af48e5a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 01:34:33 +0000 Subject: [PATCH 39/86] chore(deps): update gradle/actions action to v4 --- .github/actions/setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 7a411be1..fe9df7dd 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -23,4 +23,4 @@ runs: cache: gradle - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 \ No newline at end of file + uses: gradle/actions/setup-gradle@v4 \ No newline at end of file From de502ebc9dd68f885027d2711b380bda2f4e7247 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:20:31 +0000 Subject: [PATCH 40/86] chore(deps): update aboutlibraries to v11.2.3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0ff7b8f2..d05f6da5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -43,7 +43,7 @@ turbine = "1.1.0" mockk = "1.13.12" roborazzi = "1.26.0" showkase = "1.0.3" -aboutLibraries = "11.2.2" +aboutLibraries = "11.2.3" konsist = "0.15.1" # ** I'm using it, so no deletions allowed. ** From 0e9f5f8b033809cf97fc12a2358862ee3270ea03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:47:59 +0000 Subject: [PATCH 41/86] fix(deps): update dependency com.github.nanihadesuka:lazycolumnscrollbar to v2.2.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d05f6da5..99f9d36a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,7 +28,7 @@ kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.0" ksp = "2.0.0-1.0.23" ktlint = "1.3.1" -lazyColumnScrollbar = "2.1.0" +lazyColumnScrollbar = "2.2.0" lottie = "6.4.1" okhttp3 = "4.12.0" playReview = "2.0.1" From 312e95bbd3ecfb3ac497b8547966ebb578caa8be Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 15:25:28 +0000 Subject: [PATCH 42/86] fix(deps): update dependency com.airbnb.android:lottie-compose to v6.5.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 99f9d36a..5106614b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -29,7 +29,7 @@ kotlinxDatetime = "0.6.0" ksp = "2.0.0-1.0.23" ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" -lottie = "6.4.1" +lottie = "6.5.2" okhttp3 = "4.12.0" playReview = "2.0.1" retrofit = "2.11.0" From a75723a1ebae893230fa2baba213ef139a382d2f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 16:57:42 +0000 Subject: [PATCH 43/86] chore(deps): update cimg/android docker tag to v2024.09 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 67fabf9b..b5c5b0f9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ orbs: executors: android: docker: - - image: cimg/android:2024.01 + - image: cimg/android:2024.09 commands: check_is_skipping_vrt: From 54372dd533b85cc767a75f42b8a7e164471e150b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 18:43:51 +0000 Subject: [PATCH 44/86] chore(deps): update hilt to v2.52 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5106614b..d8a7126a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,7 +21,7 @@ firebaseBom = "33.1.2" firebaseCrashlyticsPlugin = "3.0.2" firebasePerfPlugin = "1.4.2" firebaseAppdistributionPlugin = "5.0.0" -hilt = "2.51.1" +hilt = "2.52" junit4 = "4.13.2" kotlin = "2.0.0" kotlinxSerializationJson = "1.7.1" From 4cd3755d83c5c4ce581f3b72abeb6c612c103332 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 22:43:07 +0000 Subject: [PATCH 45/86] fix(deps): update dependency androidx.navigation:navigation-compose to v2.8.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d8a7126a..c5a41d5b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" androidxLifecycle = "2.8.4" -androidxNavigation = "2.8.0-beta05" +androidxNavigation = "2.8.0" androidxTestCore = "1.6.1" appUpdate = "2.1.0" coil = "2.7.0" From c578214518d7aaf07de09395dd8eea0faa42840c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 21:17:58 +0000 Subject: [PATCH 46/86] chore(deps): update dependency gh to v2.4.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b5c5b0f9..f35b3fd5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ version: 2.1 orbs: slack: circleci/slack@4.13.3 - gh: circleci/github-cli@2.3.0 + gh: circleci/github-cli@2.4.0 executors: android: From 58261868a03e6f51e019d49045d6cc7b059ef786 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 00:42:24 +0000 Subject: [PATCH 47/86] chore(deps): update slackapi/slack-github-action action to v1.27.0 --- .github/actions/incoming-webhook/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/incoming-webhook/action.yml b/.github/actions/incoming-webhook/action.yml index 13d0d5ae..713f629a 100644 --- a/.github/actions/incoming-webhook/action.yml +++ b/.github/actions/incoming-webhook/action.yml @@ -15,7 +15,7 @@ runs: # https://github.com/slackapi/slack-github-action - name: Send GitHub Action trigger data to Slack workflow id: slack - uses: slackapi/slack-github-action@v1.26.0 + uses: slackapi/slack-github-action@v1.27.0 with: payload: | { From f907636dddac6b9b008925195b0972067a7c1282 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 19:21:40 +0000 Subject: [PATCH 48/86] chore(deps): update dependency danger to '~> 9.5.0' --- Gemfile | 2 +- Gemfile.lock | 38 +++++++++++++++++++++++++------------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/Gemfile b/Gemfile index f99b8ef5..7782577e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" git_source(:github) { |repo_name| "https://github.com/kosenda/SimpleCompoundInterestCalculation" } -gem 'danger', '~> 9.4.0' +gem 'danger', '~> 9.5.0' gem "danger-checkstyle_format" gem "danger-jacoco" gem 'danger-android_lint' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 8079cf1a..76a22a32 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,8 +1,10 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + ansi (1.5.0) + ast (1.1.0) base64 (0.2.0) claide (1.1.0) claide-plugins (0.9.2) @@ -12,7 +14,7 @@ GEM colored2 (3.1.2) cork (0.3.0) colored2 (~> 3.1) - danger (9.4.3) + danger (9.5.0) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -22,9 +24,11 @@ GEM git (~> 1.13) kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) - no_proxy_fix octokit (>= 4.0) terminal-table (>= 1, < 4) + danger-android_lint (0.0.12) + danger-plugin-api (~> 1.0) + oga danger-checkstyle_format (0.1.1) danger-plugin-api (~> 1.0) ox (~> 2.0) @@ -33,11 +37,12 @@ GEM nokogiri-happymapper (~> 0.6) danger-plugin-api (1.0.0) danger (> 2.0) - faraday (2.9.0) - faraday-net_http (>= 2.0, < 3.2) + faraday (2.11.0) + faraday-net_http (>= 2.0, < 3.4) + logger faraday-http-cache (2.5.1) faraday (>= 0.8) - faraday-net_http (3.1.0) + faraday-net_http (3.3.0) net-http git (1.19.1) addressable (~> 2.8) @@ -46,10 +51,10 @@ GEM rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) + logger (1.6.1) nap (1.1.0) net-http (0.4.1) uri - no_proxy_fix (0.1.2) nokogiri (1.16.2-arm64-darwin) racc (~> 1.4) nokogiri (1.16.2-x86_64-linux) @@ -60,26 +65,33 @@ GEM base64 faraday (>= 1, < 3) sawyer (~> 0.9) + oga (0.3.4) + ast + ruby-ll (~> 2.1) open4 (1.3.4) ox (2.14.17) - public_suffix (5.0.4) + public_suffix (5.1.1) racc (1.7.3) rchardet (1.8.0) - rexml (3.2.6) + rexml (3.3.7) + ruby-ll (2.1.3) + ansi + ast sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - unicode-display_width (2.5.0) - uri (0.13.0) + unicode-display_width (2.6.0) + uri (0.13.1) PLATFORMS arm64-darwin-22 x86_64-linux DEPENDENCIES - danger (~> 9.4.0) + danger (~> 9.5.0) + danger-android_lint danger-checkstyle_format danger-jacoco From 0f70a476e03864b36971cb4c64c6360ee445869e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 15:24:15 +0000 Subject: [PATCH 49/86] fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.6.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c5a41d5b..08cedfab 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -25,7 +25,7 @@ hilt = "2.52" junit4 = "4.13.2" kotlin = "2.0.0" kotlinxSerializationJson = "1.7.1" -kotlinxDatetime = "0.6.0" +kotlinxDatetime = "0.6.1" ksp = "2.0.0-1.0.23" ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" From 71fb88f3989ef3894623f744543a9e9657c689ee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:24:16 +0000 Subject: [PATCH 50/86] chore(deps): update dependency slack to v4.15.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f35b3fd5..91ddb2bd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 orbs: - slack: circleci/slack@4.13.3 + slack: circleci/slack@4.15.0 gh: circleci/github-cli@2.4.0 executors: From 52d9c0f9ad6746964853a405fbe9fba05e20c9a0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 07:22:48 +0000 Subject: [PATCH 51/86] chore(deps): update kotlin monorepo to v2.0.21 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08cedfab..7b22f3a6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,7 +23,7 @@ firebasePerfPlugin = "1.4.2" firebaseAppdistributionPlugin = "5.0.0" hilt = "2.52" junit4 = "4.13.2" -kotlin = "2.0.0" +kotlin = "2.0.21" kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.1" ksp = "2.0.0-1.0.23" From 2017610b23b016d8b57caef6ad5ba678e5ce6c80 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sat, 9 Nov 2024 16:34:28 +0900 Subject: [PATCH 52/86] feature: update ksp --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7b22f3a6..2ee17afe 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,7 +26,7 @@ junit4 = "4.13.2" kotlin = "2.0.21" kotlinxSerializationJson = "1.7.1" kotlinxDatetime = "0.6.1" -ksp = "2.0.0-1.0.23" +ksp = "2.0.21-1.0.27" ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" lottie = "6.5.2" From c325abc79a96c869a36b1f8a251a1cbfa5127ec6 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 10 Nov 2024 14:37:07 +0900 Subject: [PATCH 53/86] feature: update sdk version --- .idea/codeStyles/Project.xml | 6 ++++++ .idea/codeStyles/codeStyleConfig.xml | 1 + app/build.gradle.kts | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 4bec4ea8..7643783a 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,5 +1,8 @@ + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml index a55e7a17..6e6eec11 100644 --- a/.idea/codeStyles/codeStyleConfig.xml +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -1,5 +1,6 @@ + \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2291cb1b..186b5015 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -22,11 +22,11 @@ plugins { android { namespace = "ksnd.hiraganaconverter" - compileSdk = 34 + compileSdk = 35 defaultConfig { applicationId = "ksnd.hiraganaconverter" minSdk = 26 - targetSdk = 34 + targetSdk = 35 versionCode = 44 versionName = "1.33" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" From a95097105a3a85f0bff600c308163832bf6f5295 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 10 Nov 2024 15:23:38 +0900 Subject: [PATCH 54/86] feature: migrate new ripple --- .../parts/button/CustomButtonWithBackground.kt | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/button/CustomButtonWithBackground.kt b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/button/CustomButtonWithBackground.kt index 0de3767f..632cf154 100644 --- a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/button/CustomButtonWithBackground.kt +++ b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/button/CustomButtonWithBackground.kt @@ -5,11 +5,10 @@ import androidx.annotation.DrawableRes import androidx.compose.foundation.Image import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.ripple.LocalRippleTheme -import androidx.compose.material.ripple.RippleAlpha -import androidx.compose.material.ripple.RippleTheme +import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.IconButton import androidx.compose.material3.IconButtonDefaults +import androidx.compose.material3.LocalRippleConfiguration import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider @@ -27,6 +26,7 @@ import ksnd.hiraganaconverter.core.ui.preview.UiModePreview import ksnd.hiraganaconverter.core.ui.rememberButtonScaleState import ksnd.hiraganaconverter.core.ui.theme.HiraganaConverterTheme +@OptIn(ExperimentalMaterial3Api::class) @Composable fun CustomButtonWithBackground( modifier: Modifier = Modifier, @@ -39,15 +39,7 @@ fun CustomButtonWithBackground( val buttonScaleState = rememberButtonScaleState() val localView = LocalView.current - CompositionLocalProvider( - LocalRippleTheme provides object : RippleTheme { - @Composable - override fun defaultColor() = Color.Transparent - - @Composable - override fun rippleAlpha() = RippleAlpha(0f, 0f, 0f, 0f) - }, - ) { + CompositionLocalProvider(LocalRippleConfiguration provides null) { IconButton( modifier = modifier .padding(all = 8.dp) From 34f623786b369ff179f06153f9aaedb14b612c75 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 06:31:57 +0000 Subject: [PATCH 55/86] chore(deps): update dependency gh to v2.5.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 58f57483..ac0b00f4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ version: 2.1 orbs: slack: circleci/slack@4.15.0 - gh: circleci/github-cli@2.4.0 + gh: circleci/github-cli@2.5.0 executors: android: From e3e1c8011e974d7944c1c40df27032d9ff69d2f4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 06:32:38 +0000 Subject: [PATCH 56/86] chore(deps): update roborazzi to v1.32.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 49ed66bd..aaf4ee8b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.1.0" mockk = "1.13.13" -roborazzi = "1.26.0" +roborazzi = "1.32.2" showkase = "1.0.3" aboutLibraries = "11.2.3" konsist = "0.15.1" From 1b655d51708be62f753696abef36a1a6234a50fa Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 10 Nov 2024 15:51:02 +0900 Subject: [PATCH 57/86] fix: add robolectric properties --- app/src/test/resources/robolectric.properties | 1 + .../main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 app/src/test/resources/robolectric.properties diff --git a/app/src/test/resources/robolectric.properties b/app/src/test/resources/robolectric.properties new file mode 100644 index 00000000..4b38ad50 --- /dev/null +++ b/app/src/test/resources/robolectric.properties @@ -0,0 +1 @@ +sdk=34 \ No newline at end of file diff --git a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt index 87a4a2aa..84befd98 100644 --- a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt +++ b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt @@ -14,7 +14,7 @@ class AndroidLibraryPlugin : Plugin { apply("org.jetbrains.kotlin.android") } extensions.configure { - compileSdk = 34 + compileSdk = 35 defaultConfig { minSdk = 26 } From af4123990d21795a778d1f0f181f0d7f373b2c4a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 07:05:27 +0000 Subject: [PATCH 58/86] fix(deps): update dependency app.cash.turbine:turbine to v1.2.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index aaf4ee8b..33d55a67 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -39,7 +39,7 @@ room = "2.6.1" secrets = "2.0.1" timber = "5.0.1" truth = "1.4.4" -turbine = "1.1.0" +turbine = "1.2.0" mockk = "1.13.13" roborazzi = "1.32.2" showkase = "1.0.3" From 17de123466fa8bced82f8dcaf138f60a3c34c11c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 07:05:30 +0000 Subject: [PATCH 59/86] fix(deps): update dependency com.airbnb.android:lottie-compose to v6.6.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index aaf4ee8b..f6f6f22b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -29,7 +29,7 @@ kotlinxDatetime = "0.6.1" ksp = "2.0.21-1.0.27" ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" -lottie = "6.5.2" +lottie = "6.6.0" okhttp3 = "4.12.0" playReview = "2.0.2" retrofit = "2.11.0" From 0688c76ca545b871e8d84d4152994ff389f28ba2 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 10 Nov 2024 16:27:51 +0900 Subject: [PATCH 60/86] fix: down version review ktx to 2.0.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index aaf4ee8b..1e8c73b2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -31,7 +31,7 @@ ktlint = "1.3.1" lazyColumnScrollbar = "2.2.0" lottie = "6.5.2" okhttp3 = "4.12.0" -playReview = "2.0.2" +playReview = "2.0.1" retrofit = "2.11.0" retrofitSerialization = "1.0.0" robolectric = "4.13" From f95beac3c2305c96ebe6ef3cb29d53d9fa8ce9a9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 09:23:07 +0000 Subject: [PATCH 61/86] fix(deps): update dependency com.google.accompanist:accompanist-webview to v0.36.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f82c1bad..7ba40868 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -accompanist = "0.34.0" +accompanist = "0.36.0" activity = "1.9.3" androidGradlePlugin = "8.7.2" androidxAppCompat = "1.7.0" From e417b22aa022d0351b5aec81da5a5f3d1ffef68d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 12:47:55 +0000 Subject: [PATCH 62/86] fix(deps): update dependency com.google.firebase:firebase-bom to v33.5.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7ba40868..bebd8256 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ coroutines = "1.8.1" coroutineTest = "1.8.1" dokka = "1.9.20" gmsPlugin = "4.4.2" -firebaseBom = "33.1.2" +firebaseBom = "33.5.1" firebaseCrashlyticsPlugin = "3.0.2" firebasePerfPlugin = "1.4.2" firebaseAppdistributionPlugin = "5.0.0" From 1a048f855420817531f871bd5b92251c9a4363e4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 12:47:58 +0000 Subject: [PATCH 63/86] fix(deps): update dependency com.lemonappdev:konsist to v0.16.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7ba40868..daf63060 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -44,7 +44,7 @@ mockk = "1.13.13" roborazzi = "1.32.2" showkase = "1.0.3" aboutLibraries = "11.2.3" -konsist = "0.15.1" +konsist = "0.16.1" # ** I'm using it, so no deletions allowed. ** jacoco = "0.8.10" From 11d341e6b30ec4fbbb59b8387fa3d73e2cf0c574 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 14:08:02 +0000 Subject: [PATCH 64/86] fix(deps): update kotlinx-coroutines monorepo to v1.9.0 --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index daf63060..cdfdd45a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,8 +13,8 @@ androidxNavigation = "2.8.3" androidxTestCore = "1.6.1" appUpdate = "2.1.0" coil = "2.7.0" -coroutines = "1.8.1" -coroutineTest = "1.8.1" +coroutines = "1.9.0" +coroutineTest = "1.9.0" dokka = "1.9.20" gmsPlugin = "4.4.2" firebaseBom = "33.1.2" From 31fec6330e94355af505c4d7fc2a6b6a41db11cb Mon Sep 17 00:00:00 2001 From: kosenda Date: Mon, 11 Nov 2024 00:00:17 +0900 Subject: [PATCH 65/86] =?UTF-8?q?feature:=20change=20fom=20Showkase=20to?= =?UTF-8?q?=E3=80=80ComposePreviewScanner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 - app/build.gradle.kts | 22 +++++-- .../hiraganaconverter/ShowkaseRootModule.kt | 7 --- .../view/RequestReviewDialog.kt | 24 ++++---- .../ksnd/hiraganaconverter/PreviewTest.kt | 57 ------------------- .../AndroidLibraryComposePlugin.kt | 3 - .../core/ui/parts/dialog/MovesToSiteDialog.kt | 4 +- gradle/libs.versions.toml | 11 ++-- 8 files changed, 35 insertions(+), 94 deletions(-) delete mode 100644 app/src/main/java/ksnd/hiraganaconverter/ShowkaseRootModule.kt delete mode 100644 app/src/test/java/ksnd/hiraganaconverter/PreviewTest.kt diff --git a/README.md b/README.md index e338a6b1..9ac40b58 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,6 @@ https://github.com/kosenda/hiragana-converter/blob/develop/REFERENCE.md |Roborazzi|Make JVM Android Integration Test Visible| |Room|Database| |Secrets gradle plugin|Reading API keys from `local.properties`| -|Showkase|auto-generates a browser for Jetpack Compose UI| |Timber|Log output library| |Truth|Assertions used in testing| |Turbine|testing library for kotlinx.coroutines Flow| diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 186b5015..7b54fa9e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,3 +1,4 @@ +import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.google.firebase.perf.plugin.FirebasePerfExtension import ksnd.hiraganaconverter.kotlinOptions import java.io.FileInputStream @@ -102,6 +103,16 @@ android { testOptions { unitTests.isIncludeAndroidResources = true unitTests.isReturnDefaultValues = true + unitTests.all { + it.systemProperties["robolectric.pixelCopyRenderMode"] = "hardware" + } + } + roborazzi { + @OptIn(ExperimentalRoborazziApi::class) + generateComposePreviewRobolectricTests { + enable = true + packages = listOf("ksnd.hiraganaconverter") + } } } @@ -151,16 +162,17 @@ dependencies { // Navigation implementation(libs.androidx.navigation.compose) - // Showkase - debugImplementation(libs.showkase) - implementation(libs.showkase.annotation) - kspDebug(libs.showkase.processor) - // kotlinx serialization implementation(libs.kotlinx.serialization.json) // AboutLibraries implementation(libs.aboutLibraries) + + // Roborazzi (for ComposablePreviewScanner) + testImplementation(libs.roborazzi.compose.preview.scanner.support) + testImplementation(libs.junit) + testImplementation(libs.robolectric) + testImplementation(libs.composable.preview.scanner) } tasks.withType().configureEach { diff --git a/app/src/main/java/ksnd/hiraganaconverter/ShowkaseRootModule.kt b/app/src/main/java/ksnd/hiraganaconverter/ShowkaseRootModule.kt deleted file mode 100644 index d994da28..00000000 --- a/app/src/main/java/ksnd/hiraganaconverter/ShowkaseRootModule.kt +++ /dev/null @@ -1,7 +0,0 @@ -package ksnd.hiraganaconverter - -import com.airbnb.android.showkase.annotation.ShowkaseRoot -import com.airbnb.android.showkase.annotation.ShowkaseRootModule - -@ShowkaseRoot -class ShowkaseRootModule : ShowkaseRootModule diff --git a/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt b/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt index f64d7c80..8f087af7 100644 --- a/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt +++ b/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt @@ -7,6 +7,8 @@ import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import ksnd.hiraganaconverter.core.resource.R +import ksnd.hiraganaconverter.core.ui.preview.UiModePreview +import ksnd.hiraganaconverter.core.ui.theme.HiraganaConverterTheme @Composable fun RequestReviewDialog(onLater: () -> Unit, onOk: () -> Unit) { @@ -44,15 +46,13 @@ fun RequestReviewDialog(onLater: () -> Unit, onOk: () -> Unit) { ) } -// FIXME: Skip in ShowkaseComposable does not work. -// @UiModePreview -// @Composable -// @ShowkaseComposable(skip = true) -// fun PreviewRequestReviewDialog() { -// HiraganaConverterTheme { -// RequestReviewDialog( -// onLater = {}, -// onOk = {}, -// ) -// } -// } + @UiModePreview + @Composable + private fun PreviewRequestReviewDialog() { + HiraganaConverterTheme { + RequestReviewDialog( + onLater = {}, + onOk = {}, + ) + } + } diff --git a/app/src/test/java/ksnd/hiraganaconverter/PreviewTest.kt b/app/src/test/java/ksnd/hiraganaconverter/PreviewTest.kt deleted file mode 100644 index c50e7c09..00000000 --- a/app/src/test/java/ksnd/hiraganaconverter/PreviewTest.kt +++ /dev/null @@ -1,57 +0,0 @@ -package ksnd.hiraganaconverter - -import android.content.res.Configuration -import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.ui.platform.LocalConfiguration -import com.airbnb.android.showkase.models.Showkase -import com.airbnb.android.showkase.models.ShowkaseBrowserComponent -import com.github.takahirom.roborazzi.DEFAULT_ROBORAZZI_OUTPUT_DIR_PATH -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.github.takahirom.roborazzi.captureRoboImage -import org.junit.Test -import org.junit.runner.RunWith -import org.robolectric.ParameterizedRobolectricTestRunner -import org.robolectric.annotation.Config -import org.robolectric.annotation.GraphicsMode - -// ref: https://github.com/DroidKaigi/conference-app-2023/pull/217 -@RunWith(ParameterizedRobolectricTestRunner::class) -@GraphicsMode(GraphicsMode.Mode.NATIVE) -@Config(qualifiers = RobolectricDeviceQualifiers.NexusOne) -class PreviewTest( - private val param: Pair, -) { - - @Test - fun previewScreenshot() { - val (showkaseBrowserComponent, count) = param - val componentName = showkaseBrowserComponent.componentName.replace(" ", "") - val filePath = DEFAULT_ROBORAZZI_OUTPUT_DIR_PATH + "/" + componentName + "_" + count + ".png" - captureRoboImage(filePath) { - val newConfiguration = Configuration().apply { - this.uiMode = if (componentName.contains(other = "dark", ignoreCase = true)) { - Configuration.UI_MODE_NIGHT_YES - } else { - Configuration.UI_MODE_NIGHT_NO - } - } - CompositionLocalProvider(LocalConfiguration provides newConfiguration) { - showkaseBrowserComponent.component() - } - } - } - - companion object { - @ParameterizedRobolectricTestRunner.Parameters - @JvmStatic - fun components(): Iterable> { - val countMap = mutableMapOf() - return Showkase.getMetadata().componentList.map { showkaseBrowserComponent -> - val componentName = showkaseBrowserComponent.componentName - val count = countMap.getOrDefault(key = componentName, defaultValue = 0) - countMap[componentName] = count + 1 - arrayOf(showkaseBrowserComponent to count) - } - } - } -} diff --git a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryComposePlugin.kt b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryComposePlugin.kt index cf90659a..95123e54 100644 --- a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryComposePlugin.kt +++ b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryComposePlugin.kt @@ -29,9 +29,6 @@ class AndroidLibraryComposePlugin : Plugin { add("implementation", libs.findLibrary("androidx.compose.ui.tooling.preview").get()) add("testImplementation", libs.findLibrary("androidx.compose.ui.test.junit4").get()) add("implementation", libs.findLibrary("androidx.lifecycle.runtime.compose").get()) - add("debugImplementation", libs.findLibrary("showkase").get()) - add("implementation", libs.findLibrary("showkase.annotation").get()) - add("kspDebug", libs.findLibrary("showkase.processor").get()) } } } diff --git a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt index f996ead5..26e080c6 100644 --- a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt +++ b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt @@ -5,7 +5,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource -import com.airbnb.android.showkase.annotation.ShowkaseComposable import ksnd.hiraganaconverter.core.resource.R import ksnd.hiraganaconverter.core.ui.preview.UiModePreview import ksnd.hiraganaconverter.core.ui.theme.HiraganaConverterTheme @@ -31,8 +30,7 @@ fun MovesToSiteDialog(onDismissRequest: () -> Unit, onClick: () -> Unit, url: St @UiModePreview @Composable -@ShowkaseComposable(skip = true) -fun PreviewMovesToSiteDialog() { +private fun PreviewMovesToSiteDialog() { HiraganaConverterTheme { MovesToSiteDialog( onDismissRequest = {}, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2d4cee81..bc16dddc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -42,9 +42,9 @@ truth = "1.4.4" turbine = "1.2.0" mockk = "1.13.13" roborazzi = "1.32.2" -showkase = "1.0.3" aboutLibraries = "11.2.3" konsist = "0.16.1" +composablePreviewScanner = "0.4.0" # ** I'm using it, so no deletions allowed. ** jacoco = "0.8.10" @@ -120,6 +120,10 @@ mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" } roborazzi = { group = "io.github.takahirom.roborazzi", name = "roborazzi", version.ref = "roborazzi" } roborazzi-compose = { group = "io.github.takahirom.roborazzi", name = "roborazzi-compose", version.ref = "roborazzi" } roborazzi-junit4-rule = { group = "io.github.takahirom.roborazzi", name = "roborazzi-junit-rule", version.ref = "roborazzi" } +roborazzi-compose-preview-scanner-support = { group = "io.github.takahirom.roborazzi", name = "roborazzi-compose-preview-scanner-support", version.ref = "roborazzi" } + +# ComposablePreviewScanner +composable-preview-scanner = { group = "io.github.sergio-sastre.ComposablePreviewScanner", name = "android", version.ref = "composablePreviewScanner" } # Firebase firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref="firebaseBom"} @@ -149,11 +153,6 @@ kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-pl # LazyColumnScrollbar lazyColumnScrollbar = { group = "com.github.nanihadesuka", name = "LazyColumnScrollbar", version.ref = "lazyColumnScrollbar" } -# Showkase -showkase = { group = "com.airbnb.android", name = "showkase", version.ref = "showkase" } -showkase-annotation = { group = "com.airbnb.android", name = "showkase-annotation", version.ref = "showkase" } -showkase-processor = { group = "com.airbnb.android", name = "showkase-processor", version.ref = "showkase" } - # AboutLibraries aboutLibraries = { group = "com.mikepenz", name = "aboutlibraries-compose-m3", version.ref = "aboutLibraries" } From 0be96a12663e6ed6e40c20a6c70ebeffef75de15 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 15:00:46 +0000 Subject: [PATCH 66/86] chore(deps): update dependency slack to v5 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ac0b00f4..b61ea660 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 orbs: - slack: circleci/slack@4.15.0 + slack: circleci/slack@5.1.0 gh: circleci/github-cli@2.5.0 executors: From 8162e6b86fd9443d1b4144f40ae47611b1bf5cae Mon Sep 17 00:00:00 2001 From: kosenda Date: Mon, 11 Nov 2024 00:14:48 +0900 Subject: [PATCH 67/86] chore: lint --- .../ksnd/hiraganaconverter/view/RequestReviewDialog.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt b/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt index 8f087af7..a57ecdd6 100644 --- a/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt +++ b/app/src/main/java/ksnd/hiraganaconverter/view/RequestReviewDialog.kt @@ -46,13 +46,13 @@ fun RequestReviewDialog(onLater: () -> Unit, onOk: () -> Unit) { ) } - @UiModePreview - @Composable - private fun PreviewRequestReviewDialog() { +@UiModePreview +@Composable +private fun PreviewRequestReviewDialog() { HiraganaConverterTheme { RequestReviewDialog( onLater = {}, onOk = {}, ) } - } +} From c1645a5e310d057d3f0b70561c457e3f32748be5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:50:51 +0000 Subject: [PATCH 68/86] fix(deps): update dependency com.pinterest.ktlint:ktlint-cli to v1.4.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 56dc873c..ff38bc47 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -27,7 +27,7 @@ kotlin = "2.0.21" kotlinxSerializationJson = "1.7.3" kotlinxDatetime = "0.6.1" ksp = "2.0.21-1.0.27" -ktlint = "1.3.1" +ktlint = "1.4.1" lazyColumnScrollbar = "2.2.0" lottie = "6.6.0" okhttp3 = "4.12.0" From ef6875701520eaf7feffb3bcda40d5fd746cc3d3 Mon Sep 17 00:00:00 2001 From: kosenda Date: Tue, 12 Nov 2024 00:58:40 +0900 Subject: [PATCH 69/86] feature: removing and renaming redundant definitions --- .../core/ui/parts/dialog/MovesToSiteDialog.kt | 24 ++++++++++++++----- .../feature/info/InfoScreen.kt | 15 ++++-------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt index 26e080c6..e33af99f 100644 --- a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt +++ b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/dialog/MovesToSiteDialog.kt @@ -4,19 +4,31 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import ksnd.hiraganaconverter.core.resource.R import ksnd.hiraganaconverter.core.ui.preview.UiModePreview import ksnd.hiraganaconverter.core.ui.theme.HiraganaConverterTheme @Composable -fun MovesToSiteDialog(onDismissRequest: () -> Unit, onClick: () -> Unit, url: String) { +fun MoveToBrowserDialog( + url: String, + onMoveToBrowser: () -> Unit, + onDismissRequest: () -> Unit, +) { + val urlHandler = LocalUriHandler.current + AlertDialog( onDismissRequest = onDismissRequest, title = { Text(text = stringResource(id = R.string.move_to_browser)) }, text = { Text(text = url) }, confirmButton = { - TextButton(onClick = onClick) { + TextButton( + onClick = { + urlHandler.openUri(url) + onMoveToBrowser() + }, + ) { Text(text = stringResource(id = R.string.ok)) } }, @@ -30,12 +42,12 @@ fun MovesToSiteDialog(onDismissRequest: () -> Unit, onClick: () -> Unit, url: St @UiModePreview @Composable -private fun PreviewMovesToSiteDialog() { +private fun PreviewMoveToBrowserDialog() { HiraganaConverterTheme { - MovesToSiteDialog( + MoveToBrowserDialog( onDismissRequest = {}, - onClick = {}, - url = "架空のURL", + onMoveToBrowser = {}, + url = "https://example.com", ) } } diff --git a/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt b/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt index ebfa13d7..f85b2bf7 100644 --- a/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt +++ b/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt @@ -47,7 +47,6 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.onSizeChanged -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.platform.LocalUriHandler @@ -68,7 +67,7 @@ import ksnd.hiraganaconverter.core.ui.parts.GooCreditImage import ksnd.hiraganaconverter.core.ui.parts.button.CustomIconButton import ksnd.hiraganaconverter.core.ui.parts.button.TransitionButton import ksnd.hiraganaconverter.core.ui.parts.card.TitleCard -import ksnd.hiraganaconverter.core.ui.parts.dialog.MovesToSiteDialog +import ksnd.hiraganaconverter.core.ui.parts.dialog.MoveToBrowserDialog import ksnd.hiraganaconverter.core.ui.preview.UiModePreview import ksnd.hiraganaconverter.core.ui.theme.HiraganaConverterTheme import ksnd.hiraganaconverter.core.ui.theme.urlColor @@ -99,8 +98,6 @@ private fun InfoScreenContent( onBackPressed: () -> Unit, onClickLicense: () -> Unit, ) { - val urlHandler = LocalUriHandler.current - val context = LocalContext.current val layoutDirection = LocalLayoutDirection.current val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarState()) val coroutineScope = rememberCoroutineScope() @@ -156,26 +153,24 @@ private fun InfoScreenContent( } if (isShowMovesToAppSiteDialog) { - MovesToSiteDialog( + MoveToBrowserDialog( onDismissRequest = { isShowMovesToAppSiteDialog = false }, - onClick = { + onMoveToBrowser = { isShowMovesToAppSiteDialog = false - urlHandler.openUri(uri = context.getString(R.string.review_url)) }, url = stringResource(id = R.string.review_url), ) } if (isShowMovesToApiSiteDialog) { - MovesToSiteDialog( + MoveToBrowserDialog( onDismissRequest = { isShowMovesToApiSiteDialog = false }, - onClick = { + onMoveToBrowser = { isShowMovesToApiSiteDialog = false - urlHandler.openUri(uri = context.getString(R.string.goo_url)) }, url = stringResource(id = R.string.goo_url), ) From d48b6efb5627156e6ce8cdadb0d6f6a2f1653a6b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 16:03:43 +0000 Subject: [PATCH 70/86] chore(deps): update dependency gradle to v8.11 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b..94113f20 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From fbac4db58206c0b4410c83793f9233a23eae0374 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2024 23:02:23 +0000 Subject: [PATCH 71/86] fix(deps): update dependency androidx.navigation:navigation-compose to v2.8.4 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ff38bc47..6a0a13cb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.1.1" androidxHilt = "1.2.0" androidxLifecycle = "2.8.7" -androidxNavigation = "2.8.3" +androidxNavigation = "2.8.4" androidxTestCore = "1.6.1" appUpdate = "2.1.0" coil = "2.7.0" From 725866117bba6a0838826c4ec495077cfd35040a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 19:55:58 +0000 Subject: [PATCH 72/86] chore(deps): update dependency slack to v5.1.1 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b61ea660..96b1b71a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 orbs: - slack: circleci/slack@5.1.0 + slack: circleci/slack@5.1.1 gh: circleci/github-cli@2.5.0 executors: From 2ce632e6062b2790da5811158dff295ff3a4a2d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 23:09:02 +0000 Subject: [PATCH 73/86] chore(deps): update slackapi/slack-github-action action to v2 --- .github/actions/incoming-webhook/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/incoming-webhook/action.yml b/.github/actions/incoming-webhook/action.yml index 713f629a..64e3e1d6 100644 --- a/.github/actions/incoming-webhook/action.yml +++ b/.github/actions/incoming-webhook/action.yml @@ -15,7 +15,7 @@ runs: # https://github.com/slackapi/slack-github-action - name: Send GitHub Action trigger data to Slack workflow id: slack - uses: slackapi/slack-github-action@v1.27.0 + uses: slackapi/slack-github-action@v2.0.0 with: payload: | { From 8d2257cf041fbe2defbe7774a583b12681b72eb3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 21:34:44 +0000 Subject: [PATCH 74/86] fix(deps): update dependency com.google.firebase:firebase-bom to v33.6.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ff38bc47..daf072bd 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ coroutines = "1.9.0" coroutineTest = "1.9.0" dokka = "1.9.20" gmsPlugin = "4.4.2" -firebaseBom = "33.5.1" +firebaseBom = "33.6.0" firebaseCrashlyticsPlugin = "3.0.2" firebasePerfPlugin = "1.4.2" firebaseAppdistributionPlugin = "5.0.0" From ebfbbb6a26fbe1b967a5385bbb921925c5d282e5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 02:02:38 +0000 Subject: [PATCH 75/86] fix(deps): update dependency org.robolectric:robolectric to v4.14 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ff38bc47..fec8531b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -34,7 +34,7 @@ okhttp3 = "4.12.0" playReview = "2.0.1" retrofit = "2.11.0" retrofitSerialization = "1.0.0" -robolectric = "4.13" +robolectric = "4.14" room = "2.6.1" secrets = "2.0.1" timber = "5.0.1" From 9cd36d8a7bd623e05d76181758b1bf104f173443 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 04:15:51 +0000 Subject: [PATCH 76/86] chore(deps): update dependency com.google.devtools.ksp to v2.0.21-1.0.28 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ff38bc47..ce17845a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,7 +26,7 @@ junit4 = "4.13.2" kotlin = "2.0.21" kotlinxSerializationJson = "1.7.3" kotlinxDatetime = "0.6.1" -ksp = "2.0.21-1.0.27" +ksp = "2.0.21-1.0.28" ktlint = "1.4.1" lazyColumnScrollbar = "2.2.0" lottie = "6.6.0" From 7772a5d89518653d71aa072b10e73e78417f3630 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 10:46:57 +0900 Subject: [PATCH 77/86] feature: change jvmTarget and strongSkipMode --- app/build.gradle.kts | 11 +++++------ .../ksnd/hiraganaconverter/AndroidLibraryPlugin.kt | 9 +++++++-- .../main/kotlin/ksnd/hiraganaconverter/Extensions.kt | 10 ---------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7b54fa9e..b0c7ef54 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,6 @@ import com.github.takahirom.roborazzi.ExperimentalRoborazziApi import com.google.firebase.perf.plugin.FirebasePerfExtension -import ksnd.hiraganaconverter.kotlinOptions +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import java.io.FileInputStream import java.util.Properties @@ -36,8 +36,10 @@ android { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + } } androidResources { generateLocaleConfig = true @@ -92,9 +94,6 @@ android { buildConfig = true compose = true } - composeCompiler { - enableStrongSkippingMode = true - } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" diff --git a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt index 84befd98..061cfe82 100644 --- a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt +++ b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/AndroidLibraryPlugin.kt @@ -5,6 +5,9 @@ import org.gradle.api.JavaVersion import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.withType +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile class AndroidLibraryPlugin : Plugin { override fun apply(target: Project) { @@ -22,8 +25,10 @@ class AndroidLibraryPlugin : Plugin { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() + tasks.withType().configureEach { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + } } } } diff --git a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/Extensions.kt b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/Extensions.kt index a3abad7d..4cb3e322 100644 --- a/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/Extensions.kt +++ b/build-logic/convention/src/main/kotlin/ksnd/hiraganaconverter/Extensions.kt @@ -1,23 +1,13 @@ package ksnd.hiraganaconverter -import com.android.build.api.dsl.CommonExtension import org.gradle.api.Project import org.gradle.api.artifacts.VersionCatalogsExtension -import org.gradle.api.plugins.ExtensionAware import org.gradle.api.tasks.testing.Test import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.getByType import org.gradle.kotlin.dsl.withType import org.gradle.testing.jacoco.plugins.JacocoPluginExtension import org.gradle.testing.jacoco.plugins.JacocoTaskExtension -import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions - -/* - * ref: https://github.com/android/nowinandroid/blob/main/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt - */ -fun CommonExtension<*, *, *, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) { - (this as ExtensionAware).extensions.configure("kotlinOptions", block) -} /* * ref: https://github.com/android/nowinandroid/blob/main/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt From 848d96d4af0b004869328b7ebf87fdb854366e2e Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 13:24:19 +0900 Subject: [PATCH 78/86] feature: add custom PreviewTest with ComposablePreviewScanner --- .circleci/config.yml | 10 +- .gitignore | 1 + app/build.gradle.kts | 18 ++-- .../RoborazziComposePreviewTest.kt | 92 +++++++++++++++++++ .../view/screen/ConverterScreenTest.kt | 62 ------------- gradle/libs.versions.toml | 1 + 6 files changed, 111 insertions(+), 73 deletions(-) create mode 100644 app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt delete mode 100644 app/src/test/java/ksnd/hiraganaconverter/view/screen/ConverterScreenTest.kt diff --git a/.circleci/config.yml b/.circleci/config.yml index 96b1b71a..fb2ec77c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -72,7 +72,7 @@ commands: command: | mkdir -p ./temp/zip if [ $IS_EXIST_SCREENSHOTS = "true" ]; then - zip -r ./temp/zip/screenshots.zip ./app/build/outputs/roborazzi + zip -r ./temp/zip/screenshots.zip ./screenshots fi - save_cache: paths: @@ -176,7 +176,7 @@ commands: git checkout --orphan screenshots_$CIRCLE_BRANCH git rm --cached -rf . - add_files=$(find . -type f -path "./app/build/outputs/roborazzi/*") + add_files=$(find . -type f -path "./screenshots/*") for file in $add_files; do git add -f $file done @@ -200,13 +200,13 @@ commands: if [ $IS_SKIPPING_VRT = "false" ]; then git push origin --delete compare_$CIRCLE_BRANCH || true - fileSize=$(echo $(find ./app/build/outputs/roborazzi -type f | grep -e '.*_compare.png' | wc -l | sed -e 's/ //g')) + fileSize=$(echo $(find ./screenshots/compare -type f | grep -e '.*_compare.png' | wc -l | sed -e 's/ //g')) echo "fileSize: $fileSize" if [ $fileSize -ne 0 ]; then git checkout --orphan compare_$CIRCLE_BRANCH git rm --cached -rf . - add_files=$(find . -type f -path "./app/build/outputs/roborazzi/*" -name "*_compare.png") + add_files=$(find . -type f -path "./screenshots/compare/*" -name "*_compare.png") for file in $add_files; do git add -f $file done @@ -229,7 +229,7 @@ commands: echo "| File name | Image |" >> comment echo "|-------|-------|" >> comment - files=$(find . -type f -path "./app/build/outputs/roborazzi/*" -name "*_compare.png") + files=$(find . -type f -path "./screenshots/compare/*" -name "*_compare.png") for file in $files; do fileName=$(basename "$file" | sed -r 's/(.{20})/\1
/g') echo "| [$fileName](https://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/blob/compare_$CIRCLE_BRANCH/$file) | ![](https://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/blob/compare_$CIRCLE_BRANCH/$file?raw=true) |" >> comment diff --git a/.gitignore b/.gitignore index 417ffb90..d8dc418a 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ output.json *.jks *.keystore keystore.properties +/screenshots/ diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b0c7ef54..e20932a3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -106,12 +106,14 @@ android { it.systemProperties["robolectric.pixelCopyRenderMode"] = "hardware" } } - roborazzi { - @OptIn(ExperimentalRoborazziApi::class) - generateComposePreviewRobolectricTests { - enable = true - packages = listOf("ksnd.hiraganaconverter") - } +} + +roborazzi { + @OptIn(ExperimentalRoborazziApi::class) + generateComposePreviewRobolectricTests { + enable = true + testerQualifiedClassName = "ksnd.hiraganaconverter.RoborazziComposePreviewTest" + packages = listOf("ksnd.hiraganaconverter") } } @@ -140,6 +142,10 @@ dependencies { implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.lifecycle.runtime.compose) + // Supported: Workaround for AGP not merging test manifest + // ref: https://github.com/robolectric/robolectric/pull/4736 + debugImplementation(libs.androidx.compose.ui.test.manifest) + // Lottie implementation(libs.lottie) diff --git a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt new file mode 100644 index 00000000..80417c55 --- /dev/null +++ b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt @@ -0,0 +1,92 @@ +package ksnd.hiraganaconverter + +import android.content.Context +import android.content.res.Configuration +import androidx.activity.ComponentActivity +import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.compose.ui.test.onRoot +import androidx.test.core.app.ApplicationProvider +import com.github.takahirom.roborazzi.ComposePreviewTester +import com.github.takahirom.roborazzi.ExperimentalRoborazziApi +import com.github.takahirom.roborazzi.RoborazziOptions +import com.github.takahirom.roborazzi.captureRoboImage +import org.robolectric.RuntimeEnvironment +import org.robolectric.Shadows +import org.robolectric.shadows.ShadowDisplay +import sergio.sastre.composable.preview.scanner.android.AndroidComposablePreviewScanner +import sergio.sastre.composable.preview.scanner.android.AndroidPreviewInfo +import sergio.sastre.composable.preview.scanner.android.screenshotid.AndroidPreviewScreenshotIdBuilder +import sergio.sastre.composable.preview.scanner.core.preview.ComposablePreview +import kotlin.math.roundToInt + +private const val ScreenShotPath = "../screenshots/" +private const val ComparePath = "../screenshots/compare/" + +/** + * ref: + * - https://github.com/takahirom/roborazzi + * - https://github.com/sergio-sastre/ComposablePreviewScanner + * - https://github.com/DeNA/android-modern-architecture-test-handson/blob/main/docs/handson/VisualRegressionTest_Preview_ComposablePreviewScanner.md + */ +@OptIn(ExperimentalRoborazziApi::class) +class RoborazziComposePreviewTest : ComposePreviewTester { + + private val composeTestRule = createAndroidComposeRule() + + override fun options(): ComposePreviewTester.Options { + // Use composeTestRule as a JUnit 4 Rule + val testLifecycleOptions = ComposePreviewTester.Options.JUnit4TestLifecycleOptions( + testRuleFactory = { composeTestRule } + ) + return super.options().copy(testLifecycleOptions = testLifecycleOptions) + } + + override fun previews(): List> { + return AndroidComposablePreviewScanner() + // Configure roborazzi's packages in :app/build.gradle.kts + .scanPackageTrees(*options().scanOptions.packages.toTypedArray()) + .getPreviews() + } + + override fun test(preview: ComposablePreview) { + val screenshotId = AndroidPreviewScreenshotIdBuilder(preview).build() + val filePath = "$ScreenShotPath${screenshotId}.png" + + preview.apply { + if (this.previewInfo.uiMode == Configuration.UI_MODE_NIGHT_YES) { + RuntimeEnvironment.setQualifiers("+night") + } + + setDisplaySize(this.previewInfo.widthDp, this.previewInfo.heightDp) + } + + // Change the environment and regenerate the activity + // Otherwise, environment will not be reflected + composeTestRule.activityRule.scenario.recreate() + + composeTestRule.apply { + setContent { + preview() + } + onRoot().captureRoboImage( + filePath = filePath, + roborazziOptions = RoborazziOptions( + compareOptions = RoborazziOptions.CompareOptions( + outputDirectoryPath = ComparePath, + ) + ) + ) + } + } +} + +private fun setDisplaySize(widthDp: Int, heightDp: Int) { + val context = ApplicationProvider.getApplicationContext() + val display = ShadowDisplay.getDefaultDisplay() + val density = context.resources.displayMetrics.density + + Shadows.shadowOf(display).apply { + if (widthDp != -1) setWidth((widthDp * density).roundToInt()) + if (heightDp != -1) setHeight((heightDp * density).roundToInt()) + } +} diff --git a/app/src/test/java/ksnd/hiraganaconverter/view/screen/ConverterScreenTest.kt b/app/src/test/java/ksnd/hiraganaconverter/view/screen/ConverterScreenTest.kt deleted file mode 100644 index a2bdf03b..00000000 --- a/app/src/test/java/ksnd/hiraganaconverter/view/screen/ConverterScreenTest.kt +++ /dev/null @@ -1,62 +0,0 @@ -package ksnd.hiraganaconverter.view.screen - -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.SnackbarHostState -import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.rememberTopAppBarState -import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.github.takahirom.roborazzi.captureRoboImage -import ksnd.hiraganaconverter.core.ui.theme.HiraganaConverterTheme -import ksnd.hiraganaconverter.feature.converter.ConvertUiState -import ksnd.hiraganaconverter.feature.converter.ConverterScreenContent -import org.junit.Test -import org.junit.runner.RunWith -import org.robolectric.annotation.Config -import org.robolectric.annotation.GraphicsMode - -@OptIn(ExperimentalMaterial3Api::class) -@RunWith(AndroidJUnit4::class) -@GraphicsMode(GraphicsMode.Mode.NATIVE) -@Config(qualifiers = RobolectricDeviceQualifiers.Pixel6Pro) -class ConverterScreenTest { - @Test - fun converterScreen_light() { - captureRoboImage { - HiraganaConverterTheme(isDarkTheme = false) { - ConverterScreenContent( - uiState = ConvertUiState(), - snackbarHostState = SnackbarHostState(), - scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarState()), - changeHiraKanaType = {}, - clearAllText = {}, - convert = {}, - updateInputText = {}, - updateOutputText = {}, - hideErrorCard = {}, - navigateScreen = {}, - ) - } - } - } - - @Test - fun converterScreen_dark() { - captureRoboImage { - HiraganaConverterTheme(isDarkTheme = true) { - ConverterScreenContent( - uiState = ConvertUiState(), - snackbarHostState = SnackbarHostState(), - scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarState()), - changeHiraKanaType = {}, - clearAllText = {}, - convert = {}, - updateInputText = {}, - updateOutputText = {}, - hideErrorCard = {}, - navigateScreen = {}, - ) - } - } - } -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 34bec0aa..5a2b5d36 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -61,6 +61,7 @@ androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime androidx-compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "androidxCompose" } androidx-compose-ui-google-fonts = { group = "androidx.compose.ui", name = "ui-text-google-fonts", version.ref = "androidxCompose" } androidx-compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "androidxCompose" } +androidx-compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "androidxCompose" } androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "androidxCompose" } androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "androidxCompose" } androidx-core-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "androidxCoreSplashscreen" } From 9bd11f3c8841cda458b52536988cbc7b7e04a7e9 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 14:48:11 +0900 Subject: [PATCH 79/86] chore: fix lint --- .../RoborazziComposePreviewTest.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt index 80417c55..d9b25d4c 100644 --- a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt +++ b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt @@ -36,21 +36,20 @@ class RoborazziComposePreviewTest : ComposePreviewTester { override fun options(): ComposePreviewTester.Options { // Use composeTestRule as a JUnit 4 Rule val testLifecycleOptions = ComposePreviewTester.Options.JUnit4TestLifecycleOptions( - testRuleFactory = { composeTestRule } + testRuleFactory = { composeTestRule }, ) return super.options().copy(testLifecycleOptions = testLifecycleOptions) } - override fun previews(): List> { - return AndroidComposablePreviewScanner() + override fun previews(): List> = + AndroidComposablePreviewScanner() // Configure roborazzi's packages in :app/build.gradle.kts .scanPackageTrees(*options().scanOptions.packages.toTypedArray()) .getPreviews() - } override fun test(preview: ComposablePreview) { val screenshotId = AndroidPreviewScreenshotIdBuilder(preview).build() - val filePath = "$ScreenShotPath${screenshotId}.png" + val filePath = "$ScreenShotPath$screenshotId.png" preview.apply { if (this.previewInfo.uiMode == Configuration.UI_MODE_NIGHT_YES) { @@ -73,8 +72,8 @@ class RoborazziComposePreviewTest : ComposePreviewTester { roborazziOptions = RoborazziOptions( compareOptions = RoborazziOptions.CompareOptions( outputDirectoryPath = ComparePath, - ) - ) + ), + ), ) } } From 6265ebf7d9f98d62438c011477c3fc685e1eed6d Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 15:04:02 +0900 Subject: [PATCH 80/86] feature: change height and fix lint --- .../RoborazziComposePreviewTest.kt | 13 +++++++------ .../ksnd/hiraganaconverter/core/ui/parts/TopBar.kt | 11 +++++++---- .../hiraganaconverter/feature/info/InfoScreen.kt | 5 ++++- .../feature/setting/SettingScreen.kt | 5 ++++- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt index d9b25d4c..24044164 100644 --- a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt +++ b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt @@ -19,8 +19,8 @@ import sergio.sastre.composable.preview.scanner.android.screenshotid.AndroidPrev import sergio.sastre.composable.preview.scanner.core.preview.ComposablePreview import kotlin.math.roundToInt -private const val ScreenShotPath = "../screenshots/" -private const val ComparePath = "../screenshots/compare/" +private const val SCREEN_SHOT_PATH = "../screenshots/" +private const val COMPARE_PATH = "../screenshots/compare/" /** * ref: @@ -41,15 +41,16 @@ class RoborazziComposePreviewTest : ComposePreviewTester { return super.options().copy(testLifecycleOptions = testLifecycleOptions) } - override fun previews(): List> = - AndroidComposablePreviewScanner() + override fun previews(): List> { + return AndroidComposablePreviewScanner() // Configure roborazzi's packages in :app/build.gradle.kts .scanPackageTrees(*options().scanOptions.packages.toTypedArray()) .getPreviews() + } override fun test(preview: ComposablePreview) { val screenshotId = AndroidPreviewScreenshotIdBuilder(preview).build() - val filePath = "$ScreenShotPath$screenshotId.png" + val filePath = "$SCREEN_SHOT_PATH$screenshotId.png" preview.apply { if (this.previewInfo.uiMode == Configuration.UI_MODE_NIGHT_YES) { @@ -71,7 +72,7 @@ class RoborazziComposePreviewTest : ComposePreviewTester { filePath = filePath, roborazziOptions = RoborazziOptions( compareOptions = RoborazziOptions.CompareOptions( - outputDirectoryPath = ComparePath, + outputDirectoryPath = COMPARE_PATH, ), ), ) diff --git a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/TopBar.kt b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/TopBar.kt index b60c7847..d19876f1 100644 --- a/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/TopBar.kt +++ b/core/ui/src/main/java/ksnd/hiraganaconverter/core/ui/parts/TopBar.kt @@ -32,6 +32,7 @@ import ksnd.hiraganaconverter.core.ui.isTest import ksnd.hiraganaconverter.core.ui.navigation.Nav import ksnd.hiraganaconverter.core.ui.parts.button.CustomIconButton import ksnd.hiraganaconverter.core.ui.preview.UiModePreview +import ksnd.hiraganaconverter.core.ui.theme.HiraganaConverterTheme @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -98,8 +99,10 @@ fun TopBar( @UiModePreview @Composable fun PreviewTopBar() { - TopBar( - scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarState()), - navigateScreen = {}, - ) + HiraganaConverterTheme { + TopBar( + scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarState()), + navigateScreen = {}, + ) + } } diff --git a/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt b/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt index f85b2bf7..1f32a282 100644 --- a/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt +++ b/feature/info/src/main/java/ksnd/hiraganaconverter/feature/info/InfoScreen.kt @@ -1,5 +1,6 @@ package ksnd.hiraganaconverter.feature.info +import android.content.res.Configuration import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -55,6 +56,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch import ksnd.hiraganaconverter.core.analytics.LocalAnalytics @@ -379,7 +381,8 @@ private fun UrlText(url: String, onURLClick: () -> Unit) { ) } -@UiModePreview +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES, heightDp = 1100) +@Preview(name = "Light", uiMode = Configuration.UI_MODE_NIGHT_NO, heightDp = 1100) @Composable fun PreviewInfoScreenContent() { HiraganaConverterTheme { diff --git a/feature/setting/src/main/java/ksnd/hiraganaconverter/feature/setting/SettingScreen.kt b/feature/setting/src/main/java/ksnd/hiraganaconverter/feature/setting/SettingScreen.kt index 65d99de1..1623b286 100644 --- a/feature/setting/src/main/java/ksnd/hiraganaconverter/feature/setting/SettingScreen.kt +++ b/feature/setting/src/main/java/ksnd/hiraganaconverter/feature/setting/SettingScreen.kt @@ -1,5 +1,6 @@ package ksnd.hiraganaconverter.feature.setting +import android.content.res.Configuration import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -36,6 +37,7 @@ import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.launch @@ -155,7 +157,8 @@ private fun SettingScreenContent( } } -@UiModePreview +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES, heightDp = 1300) +@Preview(name = "Light", uiMode = Configuration.UI_MODE_NIGHT_NO, heightDp = 1300) @Composable fun PreviewSettingScreenContent() { HiraganaConverterTheme { From 06187e5efffb3609b59321954f6d9a9c85ebcfb1 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 15:05:17 +0900 Subject: [PATCH 81/86] fix: lint --- .../ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt index 24044164..ceb99b74 100644 --- a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt +++ b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt @@ -41,12 +41,11 @@ class RoborazziComposePreviewTest : ComposePreviewTester { return super.options().copy(testLifecycleOptions = testLifecycleOptions) } - override fun previews(): List> { - return AndroidComposablePreviewScanner() + override fun previews(): List> = + AndroidComposablePreviewScanner() // Configure roborazzi's packages in :app/build.gradle.kts .scanPackageTrees(*options().scanOptions.packages.toTypedArray()) .getPreviews() - } override fun test(preview: ComposablePreview) { val screenshotId = AndroidPreviewScreenshotIdBuilder(preview).build() From 57c24791d0397a224337f4c2c08e8a33c1d61a01 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 15:42:29 +0900 Subject: [PATCH 82/86] feature: apply to webp with PreviewTest --- app/build.gradle.kts | 1 + .../ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt | 6 +++++- gradle.properties | 2 ++ gradle/libs.versions.toml | 4 ++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e20932a3..bcfc2898 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -178,6 +178,7 @@ dependencies { testImplementation(libs.junit) testImplementation(libs.robolectric) testImplementation(libs.composable.preview.scanner) + testImplementation(libs.webp.image.io) } tasks.withType().configureEach { diff --git a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt index ceb99b74..43f993c7 100644 --- a/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt +++ b/app/src/test/java/ksnd/hiraganaconverter/RoborazziComposePreviewTest.kt @@ -8,6 +8,7 @@ import androidx.compose.ui.test.onRoot import androidx.test.core.app.ApplicationProvider import com.github.takahirom.roborazzi.ComposePreviewTester import com.github.takahirom.roborazzi.ExperimentalRoborazziApi +import com.github.takahirom.roborazzi.LosslessWebPImageIoFormat import com.github.takahirom.roborazzi.RoborazziOptions import com.github.takahirom.roborazzi.captureRoboImage import org.robolectric.RuntimeEnvironment @@ -49,7 +50,7 @@ class RoborazziComposePreviewTest : ComposePreviewTester { override fun test(preview: ComposablePreview) { val screenshotId = AndroidPreviewScreenshotIdBuilder(preview).build() - val filePath = "$SCREEN_SHOT_PATH$screenshotId.png" + val filePath = "$SCREEN_SHOT_PATH$screenshotId.webp" preview.apply { if (this.previewInfo.uiMode == Configuration.UI_MODE_NIGHT_YES) { @@ -73,6 +74,9 @@ class RoborazziComposePreviewTest : ComposePreviewTester { compareOptions = RoborazziOptions.CompareOptions( outputDirectoryPath = COMPARE_PATH, ), + recordOptions = RoborazziOptions.RecordOptions( + imageIoFormat = LosslessWebPImageIoFormat(), + ), ), ) } diff --git a/gradle.properties b/gradle.properties index 2abf4c0e..062af591 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,3 +23,5 @@ kotlin.code.style=official android.nonTransitiveRClass=true org.gradle.caching=true + +roborazzi.record.image.extension=webp \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5a2b5d36..69ccae25 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -45,6 +45,7 @@ roborazzi = "1.32.2" aboutLibraries = "11.2.3" konsist = "0.16.1" composablePreviewScanner = "0.4.0" +webpImageIO = "0.3.3" # ** I'm using it, so no deletions allowed. ** jacoco = "0.8.10" @@ -160,6 +161,9 @@ aboutLibraries = { group = "com.mikepenz", name = "aboutlibraries-compose-m3", v # Konsist konsist = { group = "com.lemonappdev", name = "konsist", version.ref = "konsist" } +# WebP ImageIO +webp-image-io = { group = "io.github.darkxanter", name = "webp-imageio", version.ref = "webpImageIO" } + [plugins] android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } From c94bb79bded6ef8250992f9df57435abbc2759aa Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 15:48:06 +0900 Subject: [PATCH 83/86] fix: change extension to webp --- .circleci/config.yml | 6 +++--- .../hiraganaconverter/feature/converter/ConverterScreen.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fb2ec77c..e8e37921 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -200,13 +200,13 @@ commands: if [ $IS_SKIPPING_VRT = "false" ]; then git push origin --delete compare_$CIRCLE_BRANCH || true - fileSize=$(echo $(find ./screenshots/compare -type f | grep -e '.*_compare.png' | wc -l | sed -e 's/ //g')) + fileSize=$(echo $(find ./screenshots/compare -type f | grep -e '.*_compare.webp' | wc -l | sed -e 's/ //g')) echo "fileSize: $fileSize" if [ $fileSize -ne 0 ]; then git checkout --orphan compare_$CIRCLE_BRANCH git rm --cached -rf . - add_files=$(find . -type f -path "./screenshots/compare/*" -name "*_compare.png") + add_files=$(find . -type f -path "./screenshots/compare/*" -name "*_compare.webp") for file in $add_files; do git add -f $file done @@ -229,7 +229,7 @@ commands: echo "| File name | Image |" >> comment echo "|-------|-------|" >> comment - files=$(find . -type f -path "./screenshots/compare/*" -name "*_compare.png") + files=$(find . -type f -path "./screenshots/compare/*" -name "*_compare.webp") for file in $files; do fileName=$(basename "$file" | sed -r 's/(.{20})/\1
/g') echo "| [$fileName](https://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/blob/compare_$CIRCLE_BRANCH/$file) | ![](https://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/blob/compare_$CIRCLE_BRANCH/$file?raw=true) |" >> comment diff --git a/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt b/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt index 43ce5ede..baba3869 100644 --- a/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt +++ b/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt @@ -379,7 +379,7 @@ fun PreviewConverterScreenContent( class PreviewConverterUiStateProvider : PreviewParameterProvider { override val values: Sequence = sequenceOf( - ConvertUiState(inputText = "漢字", outputText = "かんじ"), + ConvertUiState(inputText = "漢字漢字", outputText = "かんじかんじ"), ConvertUiState(showErrorCard = true, convertErrorType = ConvertErrorType.REACHED_CONVERT_MAX_LIMIT), ) } From def70d2b61fd0924ab363c3bfbaba40fe3d4327c Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 15:48:57 +0900 Subject: [PATCH 84/86] chore: remove test code --- .../ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt b/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt index baba3869..43ce5ede 100644 --- a/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt +++ b/feature/converter/src/main/java/ksnd/hiraganaconverter/feature/converter/ConverterScreen.kt @@ -379,7 +379,7 @@ fun PreviewConverterScreenContent( class PreviewConverterUiStateProvider : PreviewParameterProvider { override val values: Sequence = sequenceOf( - ConvertUiState(inputText = "漢字漢字", outputText = "かんじかんじ"), + ConvertUiState(inputText = "漢字", outputText = "かんじ"), ConvertUiState(showErrorCard = true, convertErrorType = ConvertErrorType.REACHED_CONVERT_MAX_LIMIT), ) } From 9e03afc76d0b9da27bb5ca86b972bee3bc723753 Mon Sep 17 00:00:00 2001 From: KSND <60963155+kosenda@users.noreply.github.com> Date: Sun, 17 Nov 2024 16:15:45 +0900 Subject: [PATCH 85/86] Update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ac40b58..44e25b89 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ https://github.com/kosenda/hiragana-converter/blob/develop/REFERENCE.md |App Update|In App Update| |App Review|In App Review| |Coil|Image loading library| +|ComposablePreviewScanner|Help auto-generate screenshot tests| |Crashlytics|Firebase crashlytics| |Danger|Automatic review| |Hilt|Dependency Injection| From 7885969fd3389149165a11d8bbea3841ba6fc796 Mon Sep 17 00:00:00 2001 From: kosenda Date: Sun, 17 Nov 2024 16:46:19 +0900 Subject: [PATCH 86/86] feature: update v1.34(45) --- app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bcfc2898..7ccf8a41 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -28,8 +28,8 @@ android { applicationId = "ksnd.hiraganaconverter" minSdk = 26 targetSdk = 35 - versionCode = 44 - versionName = "1.33" + versionCode = 45 + versionName = "1.34" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions {