Update dependencies (#172)
* Remove rootCoverage * Bump versions of dependencies * Update GitHub Actions dependencies
This commit is contained in:
22
.github/workflows/check.yml
vendored
22
.github/workflows/check.yml
vendored
@@ -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"
|
||||
|
||||
14
.github/workflows/sign.yml
vendored
14
.github/workflows/sign.yml
vendored
@@ -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: |
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -4,4 +4,7 @@ org.gradle.caching=true
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=false
|
||||
kotlin.code.style=official
|
||||
kapt.incremental.apt=true
|
||||
kapt.incremental.apt=true
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonTransitiveRClass=false
|
||||
android.nonFinalResIds=false
|
||||
@@ -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" }
|
||||
|
||||
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user