Update dependencies (#172)

* Remove rootCoverage

* Bump versions of dependencies

* Update GitHub Actions dependencies
This commit is contained in:
Kirill Kamakin
2023-10-15 22:08:31 +02:00
committed by GitHub
parent eb7c8bf02a
commit 888783bf14
12 changed files with 106 additions and 103 deletions

View File

@@ -6,7 +6,7 @@ jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
with:
fetch-depth: 0
@@ -15,21 +15,21 @@ jobs:
fastlaneDir: ./fastlane/metadata/android
usePlayStoreLocales: true
- uses: actions/setup-java@b6e674f4b717d7b0ae3baee0fbe79f498905dfde
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0
with:
distribution: temurin
java-version: 11
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a
- name: Run tests
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./gradlew check coverageReport sonar --no-configuration-cache --no-daemon
run: ./gradlew check sonar --no-configuration-cache --no-daemon
- name: Publish test reports
uses: mikepenz/action-junit-report@959aefb7f095e717eb407fe917238d61ca323ff3
uses: mikepenz/action-junit-report@0a8a5ba57593d67b2e45de2c543b438412382b7b
if: always() # always run even if the previous step fails
with:
report_paths: './**/build/test-results/**/TEST-*.xml'
@@ -37,20 +37,20 @@ jobs:
uiTests:
runs-on: macos-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
with:
fetch-depth: 0
- uses: actions/setup-java@b6e674f4b717d7b0ae3baee0fbe79f498905dfde
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0
with:
distribution: temurin
java-version: 11
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a
- name: Setup Android SDK
uses: android-actions/setup-android@7c5672355aaa8fde5f97a91aa9a99616d1ace6bc
uses: android-actions/setup-android@13f81365a437096ca29f87b1e7389bf0ea1385ed
- name: Run tests
run: ./gradlew allDevicesCheck --no-daemon -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"

View File

@@ -9,20 +9,20 @@ jobs:
sign:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
with:
fetch-depth: 0
- uses: actions/setup-java@b6e674f4b717d7b0ae3baee0fbe79f498905dfde
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0
with:
distribution: temurin
java-version: 11
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a
- name: Setup Android SDK
uses: android-actions/setup-android@7c5672355aaa8fde5f97a91aa9a99616d1ace6bc
uses: android-actions/setup-android@13f81365a437096ca29f87b1e7389bf0ea1385ed
- name: Sign APK
env:
@@ -38,12 +38,12 @@ jobs:
echo "storePassword=$MEALIENT_KEY_STORE_PASSWORD" >> keystore.properties
echo "keyAlias=$MEALIENT_KEY_ALIAS" >> keystore.properties
echo "keyPassword=$MEALIENT_KEY_PASSWORD" >> keystore.properties
./gradlew build bundle coverageReport sonar uploadToAppSweepRelease --no-configuration-cache --no-daemon
./gradlew build bundle sonar uploadToAppSweepRelease --no-configuration-cache --no-daemon
cp app/build/outputs/apk/release/*.apk mealient-release.apk
cp app/build/outputs/bundle/release/*.aab mealient-release.aab
- name: Upload release build
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32
with:
name: Release build
path: |

View File

@@ -3,18 +3,11 @@ package gq.kirmanak.mealient
import com.android.build.api.dsl.CommonExtension
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
import org.gradle.api.Action
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.Project
import org.gradle.api.artifacts.MinimalExternalModuleDependency
import org.gradle.api.plugins.ExtensionAware
import org.gradle.api.provider.Provider
import org.gradle.kotlin.dsl.dependencies
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
internal fun Project.configureAndroidCompose(
commonExtension: CommonExtension<*, *, *, *>,
commonExtension: CommonExtension<*, *, *, *, *>,
) {
val variants = when (commonExtension) {
is BaseAppModuleExtension -> commonExtension.applicationVariants
@@ -59,16 +52,3 @@ internal fun Project.configureAndroidCompose(
}
}
}
private fun Project.library(name: String): Provider<MinimalExternalModuleDependency> {
return libs.findLibrary(name).get()
}
private val Project.kotlin: KotlinAndroidProjectExtension
get() = (this as ExtensionAware).extensions.getByName("kotlin") as KotlinAndroidProjectExtension
private fun KotlinAndroidProjectExtension.sourceSets(configure: Action<NamedDomainObjectContainer<KotlinSourceSet>>): Unit =
(this as ExtensionAware).extensions.configure("sourceSets", configure)

View File

@@ -0,0 +1,29 @@
package gq.kirmanak.mealient
import com.android.build.api.dsl.CommonExtension
import org.gradle.api.Action
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.Project
import org.gradle.api.artifacts.MinimalExternalModuleDependency
import org.gradle.api.plugins.ExtensionAware
import org.gradle.api.provider.Provider
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
internal val Project.kotlin: KotlinAndroidProjectExtension
get() = (this as ExtensionAware).extensions.getByName("kotlin") as KotlinAndroidProjectExtension
internal fun Project.kotlin(configure: Action<KotlinAndroidProjectExtension>): Unit =
(this as ExtensionAware).extensions.configure("kotlin", configure)
internal fun KotlinAndroidProjectExtension.sourceSets(configure: Action<NamedDomainObjectContainer<KotlinSourceSet>>): Unit =
(this as ExtensionAware).extensions.configure("sourceSets", configure)
internal fun Project.library(name: String): Provider<MinimalExternalModuleDependency> {
return libs.findLibrary(name).get()
}
internal fun CommonExtension<*, *, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
}

View File

@@ -4,12 +4,10 @@ package gq.kirmanak.mealient
import com.android.build.api.dsl.CommonExtension
import org.gradle.api.Project
import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.dependencies
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
internal fun Project.configureKotlinAndroid(
commonExtension: CommonExtension<*, *, *, *>,
commonExtension: CommonExtension<*, *, *, *, *>,
) {
commonExtension.apply {
compileSdk = Versions.COMPILE_SDK_VERSION
@@ -72,8 +70,8 @@ internal fun Project.configureKotlinAndroid(
add("coreLibraryDesugaring", libs.findLibrary("android-tools-desugar").get())
}
}
}
fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
kotlin {
jvmToolchain(17)
}
}

View File

@@ -7,8 +7,8 @@ import org.gradle.kotlin.dsl.getByType
object Versions {
const val MIN_SDK_VERSION = 26
const val TARGET_SDK_VERSION = 33
const val COMPILE_SDK_VERSION = 33
const val TARGET_SDK_VERSION = 34
const val COMPILE_SDK_VERSION = 34
}
val Project.libs: VersionCatalog

View File

@@ -16,7 +16,7 @@ buildscript {
plugins {
alias(libs.plugins.sonarqube)
alias(libs.plugins.rootcoverage)
alias(libs.plugins.ksp) apply false
}
sonarqube {
@@ -34,15 +34,6 @@ subprojects {
"sonar.androidLint.reportPaths",
"${projectDir.path}/build/reports/lint-results-debug.xml"
)
property(
"sonar.coverage.jacoco.xmlReportPaths",
"${projectDir.path}/build/reports/jacoco.xml"
)
}
}
}
rootCoverage {
generateXml = true
includeNoLocationClasses = true
}

View File

@@ -5,3 +5,6 @@ android.useAndroidX=true
android.enableJetifier=false
kotlin.code.style=official
kapt.incremental.apt=true
android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false

View File

@@ -1,26 +1,24 @@
[versions]
# https://maven.google.com/web/index.html?q=com.android.tools.build#com.android.tools.build:gradle
androidGradlePlugin = "7.4.2"
androidGradlePlugin = "8.1.2"
# https://github.com/JetBrains/kotlin/releases
kotlin = "1.8.22"
kotlin = "1.9.10"
# https://developer.android.com/jetpack/androidx/releases/navigation
googleNavigation = "2.5.3"
googleNavigation = "2.7.4"
# https://dagger.dev/hilt/gradle-setup
hilt = "2.45"
hilt = "2.48.1"
# https://github.com/protocolbuffers/protobuf/releases
protobuf = "3.22.2"
protobuf = "3.24.4"
# https://github.com/google/protobuf-gradle-plugin/releases
protobufPlugin = "0.9.1"
protobufPlugin = "0.9.4"
# https://plugins.gradle.org/plugin/org.sonarqube
sonarqube = "4.0.0.2929"
# https://plugins.gradle.org/plugin/nl.neotech.plugin.rootcoverage
rootCoverage = "1.6.0"
sonarqube = "4.4.1.3373"
# https://plugins.gradle.org/plugin/com.guardsquare.appsweep
appsweep = "1.4.0"
appsweep = "1.5.2"
# https://github.com/material-components/material-components-android/releases
material = "1.8.0"
material = "1.10.0"
# https://developer.android.com/kotlin/ktx#core
coreKtx = "1.9.0"
coreKtx = "1.12.0"
# https://developer.android.com/jetpack/androidx/releases/appcompat
appcompat = "1.6.1"
# https://developer.android.com/jetpack/androidx/releases/constraintlayout
@@ -28,27 +26,27 @@ contraintLayout = "2.1.4"
# https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout
swipeRefreshLayout = "1.1.0"
# https://developer.android.com/jetpack/androidx/releases/core
splashScreen = "1.0.0"
splashScreen = "1.0.1"
# https://developer.android.com/jetpack/androidx/releases/lifecycle
lifecycle = "2.6.1"
lifecycle = "2.6.2"
# https://developer.android.com/jetpack/androidx/releases/arch-core
coreTesting = "2.2.0"
# https://github.com/square/retrofit/tags
retrofit = "2.9.0"
# https://github.com/JakeWharton/retrofit2-kotlinx-serialization-converter/tags
retrofitKotlinxSerialization = "0.8.0"
retrofitKotlinxSerialization = "1.0.0"
# https://github.com/Kotlin/kotlinx.serialization/releases
kotlinxSerialization = "1.5.0"
kotlinxSerialization = "1.6.0"
# https://github.com/square/okhttp/tags
okhttp = "4.10.0"
okhttp = "4.11.0"
# https://developer.android.com/jetpack/androidx/releases/paging
paging = "3.1.1"
paging = "3.2.1"
# https://developer.android.com/jetpack/androidx/releases/room
room = "2.5.1"
room = "2.5.2"
# https://github.com/Kotlin/kotlinx-datetime/releases
kotlinxDatetime = "0.4.0"
kotlinxDatetime = "0.4.1"
# https://github.com/bumptech/glide/releases
glide = "4.15.1"
glide = "4.16.0"
# https://github.com/androidbroadcast/ViewBindingPropertyDelegate/releases
viewBindingDelegate = "1.5.9"
# https://developer.android.com/jetpack/androidx/releases/datastore
@@ -60,39 +58,40 @@ junit = "4.13.2"
# https://developer.android.com/jetpack/androidx/releases/test
junitKtx = "1.1.5"
# https://github.com/Kotlin/kotlinx.coroutines/releases
coroutines = "1.6.4"
coroutines = "1.7.3"
# https://github.com/robolectric/robolectric/releases
robolectric = "4.9.2"
robolectric = "4.10.3"
# https://mvnrepository.com/artifact/com.google.truth/truth
truth = "1.1.3"
truth = "1.1.5"
# https://mockk.io/
mockk = "1.13.4"
mockk = "1.13.8"
# https://github.com/square/leakcanary/releases
leakcanary = "2.10"
leakcanary = "2.12"
# https://github.com/ChuckerTeam/chucker/releases
chucker = "3.5.2"
chucker = "4.0.0"
# https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md
desugar = "2.0.3"
# https://github.com/google/ksp/releases
kspPlugin = "1.8.22-1.0.11"
kspPlugin = "1.9.10-1.0.13"
# https://developer.android.com/jetpack/androidx/releases/sharetarget
shareTarget = "1.2.0"
# https://github.com/KasperskyLab/Kaspresso/releases
kaspresso = "1.5.1"
# https://developer.android.com/jetpack/androidx/releases/test
androidXTest = "1.5.0"
kaspresso = "1.5.3"
# https://developer.android.com/jetpack/androidx/releases/test
androidXTestCore = "1.5.0"
androidXTestRules = "1.5.0"
androidXTestRunner = "1.5.2"
androidXTestOrchestrator = "1.4.2"
# https://mvnrepository.com/artifact/androidx.compose/compose-bom
composeBom = "2023.06.01"
composeBom = "2023.09.02"
# https://developer.android.com/jetpack/androidx/releases/compose-kotlin
composeKotlinCompilerExtension = "1.4.8"
composeKotlinCompilerExtension = "1.5.3"
# https://google.github.io/accompanist/
accompanistVersion = "0.30.1"
accompanistVersion = "0.32.0"
# https://developer.android.com/jetpack/androidx/releases/compose-material
materialCompose = "1.4.3"
# https://composedestinations.rafaelcosta.xyz/setup
composeDestinations = "1.8.42-beta"
materialCompose = "1.5.3"
# https://github.com/raamcosta/compose-destinations
composeDestinations = "1.9.54"
# https://mvnrepository.com/artifact/androidx.hilt/hilt-navigation-compose
hiltNavigationCompose = "1.0.0"
@@ -167,9 +166,9 @@ androidx-room-testing = { group = "androidx.room", name = "room-testing", versio
androidx-test-junit = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "junitKtx" }
androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "security" }
androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidXTest" }
androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidXTest" }
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidXTest" }
androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidXTestCore" }
androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidXTestRules" }
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidXTestRunner" }
androidx-test-orchestrator = { group = "androidx.test", name = "orchestrator", version.ref = "androidXTestOrchestrator" }
jakewharton-retrofitSerialization = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofitKotlinxSerialization" }
@@ -205,7 +204,6 @@ composeDestinations-ksp = { group = "io.github.raamcosta.compose-destinations",
[plugins]
sonarqube = { id = "org.sonarqube", version.ref = "sonarqube" }
rootcoverage = { id = "nl.neotech.plugin.rootcoverage", version.ref = "rootCoverage" }
appsweep = { id = "com.guardsquare.appsweep", version.ref = "appsweep" }
ksp = { id = "com.google.devtools.ksp", version.ref = "kspPlugin" }
protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" }

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionSha256Sum=3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -9,6 +9,10 @@ pluginManagement {
}
}
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version("0.7.0")
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {

View File

@@ -11,7 +11,7 @@ import org.robolectric.annotation.Config
import javax.inject.Inject
@RunWith(AndroidJUnit4::class)
@Config(application = HiltTestApplication::class, manifest = Config.NONE)
@Config(application = HiltTestApplication::class, manifest = Config.NONE, sdk = [Config.NEWEST_SDK])
abstract class HiltRobolectricTest {
@get:Rule