diff --git a/WordPress/build.gradle b/WordPress/build.gradle
index 8ebe0ab44ae4..2b927b4e88ab 100644
--- a/WordPress/build.gradle
+++ b/WordPress/build.gradle
@@ -3,16 +3,16 @@ import se.bjurr.violations.comments.github.plugin.gradle.ViolationCommentsToGitH
import se.bjurr.violations.lib.model.SEVERITY
plugins {
- id "com.android.application"
- id "org.jetbrains.kotlin.android"
- id "org.jetbrains.kotlin.plugin.parcelize"
- id "org.jetbrains.kotlin.plugin.allopen"
- id "io.sentry.android.gradle"
- id "se.bjurr.violations.violation-comments-to-github-gradle-plugin"
- id "com.google.gms.google-services"
- id "com.google.dagger.hilt.android"
- id "org.jetbrains.kotlinx.kover"
- id "com.google.devtools.ksp"
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.parcelize)
+ alias(libs.plugins.kotlin.allopen)
+ alias(libs.plugins.sentry)
+ alias(libs.plugins.violation.comments)
+ alias(libs.plugins.google.services)
+ alias(libs.plugins.dagger)
+ alias(libs.plugins.kotlix.kover)
+ alias(libs.plugins.ksp)
}
sentry {
@@ -321,7 +321,7 @@ android {
compose true
composeOptions {
- kotlinCompilerExtensionVersion = androidxComposeCompilerVersion
+ kotlinCompilerExtensionVersion = libs.versions.androidxComposeCompiler.get()
}
}
}
@@ -350,8 +350,8 @@ static def addBuildConfigFieldsFromPrefixedProperties(variant, properties, prefi
}
dependencies {
- implementation 'androidx.webkit:webkit:1.11.0'
- implementation "androidx.navigation:navigation-compose:$androidxComposeNavigationVersion"
+ implementation libs.androidx.webkit
+ implementation libs.androidx.navigation.compose
compileOnly project(path: ':libs:annotations')
ksp project(':libs:processors')
implementation (project(path:':libs:networking')) {
@@ -365,224 +365,234 @@ dependencies {
implementation (project(path:':libs:editor')) {
exclude group: 'org.wordpress', module: 'utils'
}
- implementation("$gradle.ext.fluxCBinaryPath:$wordPressFluxCVersion") {
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ implementation("$gradle.ext.fluxCBinaryPath:${libs.versions.wordPressFluxC.get()}") {
version {
- strictly wordPressFluxCVersion
+ strictly libs.versions.wordPressFluxC.get()
}
exclude group: "com.android.volley"
exclude group: 'org.wordpress', module: 'utils'
exclude group: 'com.android.support', module: 'support-annotations'
}
- implementation ("$gradle.ext.wputilsBinaryPath:$wordPressUtilsVersion") {
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ implementation ("$gradle.ext.wputilsBinaryPath:${libs.versions.wordPressUtils.get()}") {
version {
- strictly wordPressUtilsVersion
+ strictly libs.versions.wordPressUtils.get()
}
}
- implementation ("$gradle.ext.loginFlowBinaryPath:$wordPressLoginVersion") {
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ implementation ("$gradle.ext.loginFlowBinaryPath:${libs.versions.wordPressLogin.get()}") {
exclude group: 'com.github.bumptech.glide'
exclude group: 'org.wordpress', module: 'utils'
}
- implementation "$gradle.ext.aboutAutomatticBinaryPath:$automatticAboutVersion"
-
- implementation("$gradle.ext.tracksBinaryPath:$automatticTracksVersion") {
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ implementation "$gradle.ext.aboutAutomatticBinaryPath:${libs.versions.automatticAbout.get()}"
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ implementation("$gradle.ext.tracksBinaryPath:${libs.versions.automatticTracks.get()}") {
version {
- strictly automatticTracksVersion
+ strictly libs.versions.automatticTracks.get()
}
}
- implementation ("com.automattic:rest:$automatticRestVersion") {
+ implementation (libs.automattic.rest) {
exclude group: 'com.mcxiaoke.volley'
}
- implementation "org.wordpress:persistentedittext:$wordPressPersistentEditTextVersion"
- implementation "$gradle.ext.gravatarBinaryPath:$gravatarVersion"
-
- implementation "com.google.android.play:app-update:$googlePlayInAppUpdateVersion"
- implementation "com.google.android.play:app-update-ktx:$googlePlayInAppUpdateVersion"
-
- implementation "androidx.arch.core:core-common:$androidxArchCoreVersion"
- implementation "androidx.arch.core:core-runtime:$androidxArchCoreVersion"
- implementation "com.google.code.gson:gson:$googleGsonVersion"
- implementation "androidx.core:core:$androidxCoreVersion"
- implementation "androidx.core:core-ktx:$androidxCoreVersion"
- implementation "androidx.lifecycle:lifecycle-common:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-runtime:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-runtime-ktx:$androidxLifecycleVersion"
- implementation "androidx.activity:activity:$androidxActivityVersion"
- implementation "androidx.activity:activity-ktx:$androidxActivityVersion"
- implementation "androidx.activity:activity-compose:$androidxActivityVersion"
- implementation "androidx.fragment:fragment:$androidxFragmentVersion"
- implementation "androidx.fragment:fragment-ktx:$androidxFragmentVersion"
- implementation "androidx.appcompat:appcompat:$androidxAppcompatVersion"
- implementation "androidx.appcompat:appcompat-resources:$androidxAppcompatVersion"
- implementation "androidx.cardview:cardview:$androidxCardviewVersion"
- implementation "androidx.recyclerview:recyclerview:$androidxRecyclerviewVersion"
- implementation "com.google.android.material:material:$googleMaterialVersion"
- implementation "com.google.android.flexbox:flexbox:$googleFlexboxlayoutVersion"
- implementation "androidx.percentlayout:percentlayout:$androidxPercentlayoutVersion"
- implementation "androidx.swiperefreshlayout:swiperefreshlayout:$androidxSwipeToRefreshVersion"
- implementation "androidx.preference:preference:$androidxPreferenceVersion"
- implementation "androidx.work:work-runtime:$androidxWorkManagerVersion"
- implementation "androidx.work:work-runtime-ktx:$androidxWorkManagerVersion"
- implementation "androidx.webkit:webkit:$androidxWebkitVersion"
- implementation "androidx.constraintlayout:constraintlayout:$androidxConstraintlayoutVersion"
- implementation "androidx.lifecycle:lifecycle-viewmodel:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-livedata-core:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-livedata:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-process:$androidxLifecycleVersion"
- implementation "com.android.volley:volley:$androidVolleyVersion"
- implementation "com.google.android.play:review:$googlePlayReviewVersion"
- implementation "com.google.android.play:review-ktx:$googlePlayReviewVersion"
- implementation "com.google.android.gms:play-services-auth:$googlePlayServicesAuthVersion"
- implementation "com.google.mlkit:barcode-scanning-common:$googleMLKitBarcodeScanningCommonVersion"
- implementation "com.google.mlkit:text-recognition:$googleMLKitTextRecognitionVersion"
- implementation "com.google.mlkit:barcode-scanning:$googleMLKitBarcodeScanningVersion"
+ implementation libs.wordPress.persistentEditText
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ implementation "$gradle.ext.gravatarBinaryPath:${libs.versions.gravatar.get()}"
+
+ implementation libs.android.appUpdate
+ implementation libs.android.appUpdate.ktx
+
+ implementation libs.androidx.arch.core.common
+ implementation libs.androidx.arch.core.runtime
+ implementation libs.google.gson
+ implementation libs.androidx.core
+ implementation libs.androidx.core.ktx
+ implementation libs.androidx.lifecycle.common
+ implementation libs.androidx.lifecycle.runtime
+ implementation libs.androidx.lifecycle.runtime.ktx
+ implementation libs.androidx.activity
+ implementation libs.androidx.activity.ktx
+ implementation libs.androidx.activity.compose
+ implementation libs.androidx.fragment
+ implementation libs.androidx.fragment.ktx
+ implementation libs.androidx.appcompat
+ implementation libs.androidx.appcompat.resources
+ implementation libs.androidx.cardView
+ implementation libs.androidx.recyclerView
+ implementation libs.google.material
+ implementation libs.google.flexbox
+ implementation libs.androidx.percentLayout
+ implementation libs.androidx.swiperefreshlayout
+ implementation libs.androidx.preference
+ implementation libs.androidx.work.runtime
+ implementation libs.androidx.work.runtime.ktx
+ implementation libs.androidx.constraintLayout
+ implementation libs.androidx.lifecycle.viewmodel
+ implementation libs.androidx.lifecycle.viewmodel.ktx
+ implementation libs.androidx.lifecycle.livedata.core
+ implementation libs.androidx.lifecycle.livedata
+ implementation libs.androidx.lifecycle.livedata.ktx
+ implementation libs.androidx.lifecycle.process
+ implementation libs.volley
+ implementation libs.google.play.review
+ implementation libs.google.play.review.ktx
+ implementation libs.google.play.services.auth
+ implementation libs.google.mlkit.barcode.scanning.common
+ implementation libs.google.mlkit.text.recognition
+ implementation libs.google.mlkit.barcode.scanning
// CameraX
- implementation "androidx.camera:camera-camera2:$androidxCameraVersion"
- implementation "androidx.camera:camera-lifecycle:$androidxCameraVersion"
- implementation "androidx.camera:camera-view:$androidxCameraVersion"
-
- implementation "com.android.installreferrer:installreferrer:$androidInstallReferrerVersion"
- implementation "com.github.chrisbanes:PhotoView:$chrisbanesPhotoviewVersion"
- implementation "org.greenrobot:eventbus:$eventBusVersion"
- implementation "org.greenrobot:eventbus-java:$eventBusVersion"
- implementation "com.squareup.retrofit2:retrofit:$squareupRetrofitVersion"
- implementation "org.apache.commons:commons-text:$apacheCommonsTextVersion"
- implementation "com.airbnb.android:lottie:$lottieVersion"
- implementation "com.facebook.shimmer:shimmer:$facebookShimmerVersion"
- implementation ("com.github.yalantis:ucrop:$uCropVersion") {
+ implementation libs.androidx.camera
+ implementation libs.androidx.camera.lifecycle
+ implementation libs.androidx.camera.view
+
+ implementation libs.android.installReferrer
+ implementation libs.chrisbanes.photoview
+ implementation libs.greenrobot.eventBus
+ implementation libs.greenrobot.eventBus.java
+ implementation libs.squareup.retrofit2
+ implementation libs.apache.commons.text
+ implementation libs.lottie
+ implementation libs.facebook.shimmer
+ implementation (libs.ucrop) {
exclude group: 'androidx.core', module: 'core'
exclude group: 'androidx.constraintlayout', module: 'constraintlayout'
exclude group: 'androidx.appcompat', module: 'appcompat'
}
- implementation "com.github.bumptech.glide:glide:$glideVersion"
- ksp "com.github.bumptech.glide:ksp:$glideVersion"
- implementation "com.github.bumptech.glide:volley-integration:$glideVersion"
- implementation "com.github.indexos.media-for-mobile:domain:$indexosMediaForMobileVersion"
- implementation "com.github.indexos.media-for-mobile:android:$indexosMediaForMobileVersion"
- implementation "com.zendesk:support:$zendeskVersion"
+ implementation libs.glide
+ ksp libs.glide.ksp
+ implementation libs.glide.volley.integration
+ implementation libs.indexos.media.for.mobile.domain
+ implementation libs.indexos.media.for.mobile.android
+ implementation libs.zendesk
implementation (name:'tenor-android-core-jetified', ext:'aar') // Jetified Tenor Gif library
- implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion"
- implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinxCoroutinesVersion"
- implementation "com.github.PhilJay:MPAndroidChart:$philjayMpAndroidChartVersion"
- implementation "org.jsoup:jsoup:$jsoupVersion"
- implementation ("com.google.android.exoplayer:exoplayer:$googleExoPlayerVersion") {
+ implementation libs.kotlinx.coroutines.core
+ implementation libs.kotlinx.coroutines.android
+ implementation libs.philJay.mpAndroidChart
+ implementation libs.jsoup
+ implementation (libs.google.exoPlayer) {
exclude group: 'com.android.support', module: 'support-annotations'
}
- implementation "com.google.dagger:dagger-android-support:$gradle.ext.daggerVersion"
- ksp "com.google.dagger:dagger-android-processor:$gradle.ext.daggerVersion"
- implementation "com.google.dagger:hilt-android:$gradle.ext.daggerVersion"
- ksp "com.google.dagger:hilt-compiler:$gradle.ext.daggerVersion"
+ implementation libs.dagger.android.support
+ ksp libs.dagger.android.processor
+ implementation libs.dagger.hilt.android
+ ksp libs.dagger.hilt.compiler
- testImplementation("androidx.arch.core:core-testing:$androidxArchCoreVersion", {
+ testImplementation(libs.androidx.arch.core.testing, {
exclude group: 'com.android.support', module: 'support-compat'
exclude group: 'com.android.support', module: 'support-annotations'
exclude group: 'com.android.support', module: 'support-core-utils'
})
- testImplementation "junit:junit:$junitVersion"
- testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion"
- testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$gradle.ext.kotlinVersion"
- testImplementation "org.assertj:assertj-core:$assertjVersion"
- testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion"
+ testImplementation libs.junit
+ testImplementation libs.mockito.kotlin
+ testImplementation libs.kotlin.test.junit
+ testImplementation libs.assertj.core
+ testImplementation libs.kotlinx.coroutines.test
androidTestImplementation project(path:':libs:mocks')
- androidTestImplementation "org.mockito:mockito-android:$mockitoAndroidVersion"
- androidTestImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion"
- androidTestImplementation "com.squareup.okhttp3:mockwebserver:$squareupMockWebServerVersion"
- androidTestImplementation "androidx.test.uiautomator:uiautomator:$androidxTestUiAutomatorVersion"
- androidTestImplementation "androidx.test.espresso:espresso-core:$androidxTestEspressoVersion", {
+ androidTestImplementation libs.mockito.android
+ androidTestImplementation libs.mockito.kotlin
+ androidTestImplementation libs.squareup.okhttp.mockWebServer
+ androidTestImplementation libs.androidx.test.ui.automator
+ androidTestImplementation libs.androidx.test.espresso.core, {
version {
- strictly androidxTestEspressoVersion
+ strictly libs.versions.androidxTestEspresso.get()
}
exclude group: 'com.android.support', module: 'support-annotations'
}
- androidTestImplementation("androidx.test.espresso:espresso-contrib:$androidxTestEspressoVersion") {
+ androidTestImplementation(libs.androidx.test.espresso.contrib) {
version {
- strictly androidxTestEspressoVersion
+ strictly libs.versions.androidxTestEspresso.get()
}
exclude group: 'com.android.support', module: 'appcompat'
exclude group: 'com.android.support', module: 'support-v4'
exclude module: 'recyclerview-v7'
}
- androidTestImplementation("androidx.test.espresso:espresso-accessibility:$androidxTestEspressoVersion") {
+ androidTestImplementation(libs.androidx.test.espresso.accessibility) {
version {
- strictly androidxTestEspressoVersion
+ strictly libs.versions.androidxTestEspresso.get()
}
}
- androidTestImplementation("com.github.tomakehurst:wiremock:$wiremockVersion") {
+ androidTestImplementation(libs.wiremock) {
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
exclude group: 'org.apache.commons', module: 'commons-lang3'
exclude group: 'asm', module: 'asm'
exclude group: 'org.json', module: 'json'
}
- androidTestImplementation "org.apache.httpcomponents:httpclient-android:$wiremockHttpClientVersion"
- androidTestImplementation "androidx.test:runner:$androidxTestCoreVersion"
- androidTestImplementation "androidx.test:rules:$androidxTestCoreVersion"
- androidTestImplementation "androidx.test.ext:junit:$androidxTestExtJunitVersion"
- androidTestImplementation "tools.fastlane:screengrab:$screengrabVersion", {
+ androidTestImplementation libs.wiremock.httpclient.android
+ androidTestImplementation libs.androidx.test.runner
+ androidTestImplementation libs.androidx.test.rules
+ androidTestImplementation libs.androidx.test.ext.junit
+ androidTestImplementation libs.fastlane.screengrab, {
exclude group: 'com.android.support.test.uiautomator', module: 'uiautomator-v18'
}
androidTestImplementation (name:'cloudtestingscreenshotter_lib', ext:'aar') // Screenshots on Firebase Cloud Testing
- androidTestImplementation "androidx.work:work-testing:$androidxWorkManagerVersion"
- androidTestImplementation "com.google.dagger:hilt-android-testing:$gradle.ext.daggerVersion"
- kspAndroidTest "com.google.dagger:hilt-android-compiler:$gradle.ext.daggerVersion"
+ androidTestImplementation libs.androidx.work.testing
+ androidTestImplementation libs.dagger.hilt.android.testing
+ kspAndroidTest libs.dagger.hilt.android.compiler
// Enables Java 8+ API desugaring support
- coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$androidDesugarVersion"
- lintChecks "org.wordpress:lint:$wordPressLintVersion"
+ coreLibraryDesugaring libs.android.desugar.jdk.libs
+ lintChecks libs.wordpress.lint
// Firebase
- def firebaseBom = platform("com.google.firebase:firebase-bom:$firebaseBomVersion")
+ def firebaseBom = platform(libs.firebase.bom)
implementation(firebaseBom)
// Firebase - Main
- implementation "com.google.firebase:firebase-messaging"
+ implementation libs.firebase.messaging
// Firebase - Deprecated
- implementation "com.google.firebase:firebase-iid:$firebaseIidVersion"
+ implementation libs.firebase.iid
// Jetpack Compose
- def composeBom = platform("androidx.compose:compose-bom:$androidxComposeBomVersion")
+ def composeBom = platform(libs.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)
// - Jetpack Compose - Android Studio
- debugImplementation "androidx.compose.ui:ui-test-manifest"
- debugImplementation "androidx.compose.ui:ui-tooling"
+ debugImplementation libs.androidx.compose.ui.test.manifest
+ debugImplementation libs.androidx.compose.ui.tooling
// - Jetpack Compose - Main
- implementation "androidx.compose.runtime:runtime"
- implementation "androidx.compose.runtime:runtime-livedata"
- implementation "androidx.compose.foundation:foundation"
- implementation "androidx.compose.foundation:foundation-layout"
- implementation "androidx.compose.ui:ui"
- implementation "androidx.compose.ui:ui-graphics"
- implementation "androidx.compose.ui:ui-text"
- implementation "androidx.compose.ui:ui-unit"
- implementation "androidx.compose.ui:ui-tooling-preview"
- implementation "androidx.compose.material:material"
+ implementation libs.androidx.compose.runtime
+ implementation libs.androidx.compose.runtime.livedata
+ implementation libs.androidx.compose.foundation
+ implementation libs.androidx.compose.foundation.layout
+ implementation libs.androidx.compose.ui
+ implementation libs.androidx.compose.ui.graphics
+ implementation libs.androidx.compose.ui.text
+ implementation libs.androidx.compose.ui.unit
+ implementation libs.androidx.compose.ui.tooling.preview
+ implementation libs.androidx.compose.material
// - Jetpack Compose - AndroidX
- implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$androidxLifecycleVersion"
- implementation "androidx.constraintlayout:constraintlayout-compose:$androidxConstraintlayoutComposeVersion"
+ implementation libs.androidx.lifecycle.viewmodel.compose
+ implementation libs.androidx.constraintLayout.compose
// - Jetpack Compose - Other
- implementation "io.coil-kt:coil-compose:$coilComposeVersion"
- implementation "com.airbnb.android:lottie-compose:$lottieVersion"
+ implementation libs.coil.compose
+ implementation libs.lottie.compose
// - Jetpack Compose - UI Tests
- androidTestImplementation "androidx.compose.ui:ui-test-junit4"
- implementation "androidx.compose.material3:material3:$androidxComposeMaterial3Version"
+ androidTestImplementation libs.androidx.compose.ui.test
+ implementation libs.androidx.compose.material3
// Cascade - Compose nested menu
- implementation "me.saket.cascade:cascade-compose:2.3.0"
+ implementation libs.cascade.compose
- implementation "com.automattic.tracks:crashlogging:$automatticTracksVersion"
+ implementation libs.automattic.tracks.crashlogging
// - Flipper
- debugImplementation ("com.facebook.flipper:flipper:$flipperVersion") {
+ debugImplementation (libs.facebook.flipper) {
exclude group:'org.jetbrains.kotlinx', module:'kotlinx-serialization-json-jvm'
}
- debugImplementation "com.facebook.soloader:soloader:$soLoaderVersion"
- debugImplementation ("com.facebook.flipper:flipper-network-plugin:$flipperVersion"){
+ debugImplementation libs.facebook.soLoader
+ debugImplementation (libs.facebook.flipper.network.plugin) {
exclude group:'org.jetbrains.kotlinx', module:'kotlinx-serialization-json-jvm'
}
- releaseImplementation "com.facebook.flipper:flipper-noop:$flipperVersion"
+ releaseImplementation libs.facebook.flipper.noop
}
configurations.all {
diff --git a/build.gradle b/build.gradle
index dca73989df3b..d092da2b6049 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,17 +1,20 @@
import com.automattic.android.measure.reporters.InternalA8cCiReporter
-import com.automattic.android.measure.reporters.SlowSlowTasksMetricsReporter
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
- id "io.gitlab.arturbosch.detekt"
- id 'com.automattic.android.measure-builds'
- id "org.jetbrains.kotlinx.kover"
- id "com.autonomousapps.dependency-analysis"
- id "androidx.navigation.safeargs.kotlin" apply false
- id "com.android.library" apply false
- id 'com.google.gms.google-services' apply false
- id "org.jetbrains.kotlin.plugin.parcelize" apply false
- id "com.google.devtools.ksp" apply false
+ alias(libs.plugins.detekt)
+ alias(libs.plugins.automattic.measure.builds)
+ alias(libs.plugins.kotlix.kover)
+ alias(libs.plugins.dependency.analysis)
+ alias(libs.plugins.navigation.safeargs).apply(false)
+ alias(libs.plugins.android.library).apply(false)
+ alias(libs.plugins.android.application).apply(false)
+ alias(libs.plugins.google.services).apply(false)
+ alias(libs.plugins.kotlin.jvm).apply(false)
+ alias(libs.plugins.kotlin.parcelize).apply(false)
+ alias(libs.plugins.kotlin.android).apply(false)
+ alias(libs.plugins.kotlin.serialization).apply(false)
+ alias(libs.plugins.ksp).apply(false)
}
ext {
@@ -20,104 +23,6 @@ ext {
targetSdkVersion = 34
}
-ext {
- // libs
- automatticAboutVersion = '1.4.0'
- automatticRestVersion = '1.0.8'
- automatticTracksVersion = '5.1.0'
- gutenbergMobileVersion = 'v1.121.0-alpha1'
- wordPressAztecVersion = 'v2.1.3'
- wordPressFluxCVersion = 'trunk-c670e916346bdaa2379936dd8dbb6750766ca319'
- wordPressLoginVersion = '1.16.0'
- wordPressPersistentEditTextVersion = '1.0.2'
- wordPressUtilsVersion = '3.14.0'
- indexosMediaForMobileVersion = '43a9026f0973a2f0a74fa813132f6a16f7499c3a'
- gravatarVersion = '1.0.0'
-
- // debug
- flipperVersion = '0.247.0'
- soLoaderVersion = '0.10.5'
-
- // main
- androidInstallReferrerVersion = '2.2'
- androidVolleyVersion = '1.2.1'
- androidxAnnotationVersion = '1.6.0'
- androidxAppcompatVersion = '1.6.1'
- androidxArchCoreVersion = '2.2.0'
- androidxCameraVersion = '1.3.4'
- androidxComposeBomVersion = '2023.10.00'
- androidxComposeCompilerVersion = '1.5.9'
- androidxComposeNavigationVersion = '2.7.6'
- androidxCardviewVersion = '1.0.0'
- androidxConstraintlayoutVersion = '2.1.4'
- androidxConstraintlayoutComposeVersion = '1.0.1'
- androidxCoreVersion = '1.10.0'
- androidxActivityVersion = '1.8.0'
- androidxFragmentVersion = '1.6.2'
- androidxGridlayoutVersion = '1.0.0'
- androidxLifecycleVersion = '2.6.2'
- androidxPercentlayoutVersion = '1.0.0'
- androidxPreferenceVersion = '1.2.0'
- androidxRecyclerviewVersion = '1.3.0'
- androidxSwipeToRefreshVersion = '1.1.0'
- androidxViewpager2Version = '1.0.0'
- androidxWorkManagerVersion = "2.9.0"
- androidxWebkitVersion = '1.11.0'
- androidxComposeMaterial3Version = '1.1.1'
- apacheCommonsTextVersion = '1.10.0'
- coilComposeVersion = '2.4.0'
- chrisbanesPhotoviewVersion = '2.3.0'
- eventBusVersion = '3.3.1'
- facebookShimmerVersion = '0.5.0'
- firebaseBomVersion = '32.1.0'
- firebaseIidVersion = '21.1.0'
- glideVersion = '4.16.0'
- googleAutoServiceVersion = '1.0.1'
- googleExoPlayerVersion = '2.13.3'
- googleFlexboxlayoutVersion = '3.0.0'
- googleGsonVersion = '2.10.1'
- googleMaterialVersion = '1.9.0'
-
- googleMLKitBarcodeScanningVersion = '17.2.0'
- googleMLKitBarcodeScanningCommonVersion = '17.0.0'
- googleMLKitTextRecognitionVersion = '16.0.0'
- googlePlayReviewVersion = '2.0.1'
- googlePlayServicesAuthVersion = '20.4.1'
- googlePlayServicesCodeScannerVersion = '16.0.0-beta3'
- jsoupVersion = '1.16.2'
- kotlinxCoroutinesVersion = '1.7.3'
- lottieVersion = '6.1.0'
- philjayMpAndroidChartVersion = 'v3.1.0'
- squareupKotlinPoetVersion = '1.16.0'
- squareupRetrofitVersion = '2.9.0'
- uCropVersion = '2.2.9'
- zendeskVersion = '5.1.2'
- googlePlayInAppUpdateVersion = '2.1.0'
-
- // react native
- facebookReactVersion = '0.73.3'
-
- // test
- assertjVersion = '3.23.1'
- junitVersion = '4.13.2'
- mockitoAndroidVersion = '4.5.1'
- mockitoKotlinVersion = '4.1.0'
-
- // android test
- androidxTestCoreVersion = '1.5.0'
- androidxTestEspressoVersion = '3.4.0'
- androidxTestExtJunitVersion = '1.1.5'
- androidxTestUiAutomatorVersion = '2.2.0'
- screengrabVersion = '2.1.1'
- squareupMockWebServerVersion = '4.12.0'
- wiremockVersion = '2.26.3'
- wiremockHttpClientVersion = '4.3.5.1'
-
- // other
- androidDesugarVersion = '2.0.4'
- wordPressLintVersion = '2.1.0'
-}
-
measureBuilds {
enable = findProperty('measureBuildsEnabled')?.toBoolean() ?: false
onBuildMetricsReadyListener { report ->
@@ -170,7 +75,7 @@ allprojects {
}
detekt {
- toolVersion = gradle.ext.detektVersion
+ toolVersion = libs.versions.detekt.get()
baseline = file("${project.rootDir}/config/detekt/baseline.xml")
config = files("${project.rootDir}/config/detekt/detekt.yml")
autoCorrect = false
@@ -260,7 +165,7 @@ tasks.register("configureApply") {
}
dependencies {
- detektPlugins "io.gitlab.arturbosch.detekt:detekt-formatting:$gradle.ext.detektVersion"
+ detektPlugins libs.detekt.formatting
}
apply from: './config/gradle/code_coverage.gradle'
diff --git a/docs/test_instructions_per_dependency_update.md b/docs/test_instructions_per_dependency_update.md
index 6071e687cf58..113352ad2c5f 100644
--- a/docs/test_instructions_per_dependency_update.md
+++ b/docs/test_instructions_per_dependency_update.md
@@ -74,7 +74,7 @@ rather than strict requirements.
-----
-### Navigation [[navigationVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)]
+### Navigation [[navigationVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] Image Editing Flow [libs:image-editor]
@@ -91,7 +91,7 @@ rather than strict requirements.
-----
-### WorkManager [[androidxWorkManagerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### WorkManager [[androidxWorkManagerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] UploadWorker.kt
@@ -144,7 +144,7 @@ rather than strict requirements.
-----
-### Preference (AndroidX) [[androidxPreferenceVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Preference (AndroidX) [[androidxPreferenceVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP] Notifications Settings [NotificationsSettingsFragment.java]
@@ -157,7 +157,7 @@ rather than strict requirements.
-### Preference (Android) [[N/A](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Preference (Android) [[N/A](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
ℹ️ Note that this is not an actual dependency, it being part of the `Android` SDK, that it is
deprecated and will be migrated to its `AndroidX` equivalent in the future. [[Issue](https://github.com/wordpress-mobile/WordPress-Android/issues/17962)]
@@ -231,7 +231,7 @@ rather than strict requirements.
-----
-### ExoPlayer [[googleExoPlayerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ExoPlayer [[googleExoPlayerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] Image Preview
@@ -262,7 +262,7 @@ rather than strict requirements.
-----
-### Webkit [[androidxWebkitVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Webkit [[androidxWebkitVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [TODO] TODO
@@ -275,7 +275,7 @@ rather than strict requirements.
-----
-### Firebase [[firebaseBomVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Firebase [[firebaseBomVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] Push Notification on Post Being Published [GCMMessageService.java]
@@ -291,7 +291,7 @@ rather than strict requirements.
-----
-### FirebaseIid [[firebaseIidVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### FirebaseIid [[firebaseIidVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [TODO] TODO
@@ -304,7 +304,7 @@ rather than strict requirements.
-----
-### MLKitBarcodeScanning [[googleMLKitBarcodeScanningVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### MLKitBarcodeScanning [[googleMLKitBarcodeScanningVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
@@ -318,7 +318,7 @@ rather than strict requirements.
-----
-### PlayServicesAuth [[googlePlayServicesAuthVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### PlayServicesAuth [[googlePlayServicesAuthVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
ℹ️ These set of testing instructions are for internal contributors only, which can have access to
upload an `.aab` to Google Play Store. As such, external contributors can't possibly test this
@@ -386,7 +386,7 @@ rather than strict requirements.
-----
-### PlayServicesCodeScanner [[googlePlayServicesCodeScannerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### PlayServicesCodeScanner [[googlePlayServicesCodeScannerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP] Scan Login Code
@@ -420,7 +420,7 @@ Step.3:
-----
-### PlayReview [[googlePlayReviewVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### PlayReview [[googlePlayReviewVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. In app reviews
@@ -433,7 +433,7 @@ Step.3:
-----
-### Zendesk [[zendeskVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Zendesk [[zendeskVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP] Zendesk Update [Tickets & Contact Support]
@@ -458,7 +458,7 @@ Step.3:
-----
-### JSoup [[jsoupVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### JSoup [[jsoupVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] Classic Editor [Aztec]
@@ -516,7 +516,7 @@ all sites have this option.
-----
-### AutoService [[googleAutoServiceVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### AutoService [[googleAutoServiceVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] Remote Features [@Feature]
@@ -548,7 +548,7 @@ all sites have this option.
-----
-### KotlinPoet [[squareupKotlinPoetVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### KotlinPoet [[squareupKotlinPoetVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] Remote Features [@Feature]
@@ -580,7 +580,7 @@ all sites have this option.
-----
-### Lottie [[lottieVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Lottie [[lottieVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] JP Install Full Plugin Animation [JPInstallFullPluginAnimation.kt]
@@ -611,7 +611,7 @@ all sites have this option.
-----
-### UCrop [[uCropVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### UCrop [[uCropVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
1. [JP/WP] Image Edit Screen [PreviewImageFragment.kt + CropFragment.kt]
@@ -672,111 +672,111 @@ all sites have this option.
-----
-### GoogleServices [[googleServicesVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)]
+### GoogleServices [[googleServicesVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Dagger [[daggerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)]
+### Dagger [[daggerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Kotlin [[kotlinVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)] + [[androidxComposeCompilerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Kotlin [[kotlinVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)] + [[androidxComposeCompilerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Coroutines [[kotlinxCoroutinesVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Coroutines [[kotlinxCoroutinesVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### EventBus [[eventBusVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### EventBus [[eventBusVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Annotation [[androidxAnnotationVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Annotation [[androidxAnnotationVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### ArchCore [[androidxArchCoreVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ArchCore [[androidxArchCoreVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Lifecycle [[androidxLifecycleVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Lifecycle [[androidxLifecycleVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Core [[androidxCoreVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Core [[androidxCoreVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Activity [[androidxActivityVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Activity [[androidxActivityVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Fragment [[androidxFragmentVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Fragment [[androidxFragmentVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### AppCompat [[androidxAppcompatVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### AppCompat [[androidxAppcompatVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Compose [[androidxComposeBomVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Compose [[androidxComposeBomVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### ComposeMaterial3 [[androidxComposeMaterial3Version](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ComposeMaterial3 [[androidxComposeMaterial3Version](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### ComposeConstraintLayout [[androidxConstraintlayoutComposeVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ComposeConstraintLayout [[androidxConstraintlayoutComposeVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Coil [[coilComposeVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Coil [[coilComposeVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### RecyclerView [[androidxRecyclerviewVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### RecyclerView [[androidxRecyclerviewVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### ViewPager2 [[androidxViewpager2Version](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ViewPager2 [[androidxViewpager2Version](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Material [[googleMaterialVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Material [[googleMaterialVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### ConstraintLayout [[androidxConstraintlayoutVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ConstraintLayout [[androidxConstraintlayoutVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Retrofit [[squareupRetrofitVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Retrofit [[squareupRetrofitVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Volley [[androidVolleyVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Volley [[androidVolleyVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Glide [[glideVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)] + [[glideVolleyVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Glide [[glideVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)] + [[glideVolleyVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Gson [[googleGsonVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Gson [[googleGsonVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### InstallReferrer [[androidInstallReferrerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### InstallReferrer [[androidInstallReferrerVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### ApacheCommons [[apacheCommonsTextVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ApacheCommons [[apacheCommonsTextVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
-----
-### Desugar [[androidDesugarVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### Desugar [[androidDesugarVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
Extra
@@ -819,7 +819,7 @@ and [here](https://github.com/orgs/wordpress-mobile/projects/95)).
-----
-### AGP [[agpVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)]
+### AGP [[agpVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
Why & How
@@ -832,7 +832,7 @@ and [here](https://github.com/orgs/wordpress-mobile/projects/95)).
-----
-### Sentry [[sentryVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)]
+### Sentry [[sentryVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
Why & How
@@ -894,7 +894,7 @@ diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/main/WPMain
-----
-### Detekt [[detektVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)]
+### Detekt [[detektVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
Why & How
@@ -907,7 +907,7 @@ diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/main/WPMain
-----
-### ViolationComments [[violationCommentsVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/settings.gradle)]
+### ViolationComments [[violationCommentsVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
Why & How
@@ -920,7 +920,7 @@ diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/main/WPMain
-----
-### ReactNative [[facebookReactVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/build.gradle)]
+### ReactNative [[facebookReactVersion](https://github.com/wordpress-mobile/WordPress-Android/blob/trunk/gradle/libs.versions.toml)]
Why & How
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 000000000000..9d441a5b75f5
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,249 @@
+[versions]
+agp = '8.1.0'
+androidDesugar = '2.0.4'
+androidInstallReferrer = '2.2'
+androidxActivity = '1.8.0'
+androidxAnnotation = '1.6.0'
+androidxAppcompat = '1.6.1'
+androidxArchCore = '2.2.0'
+androidxCamera = '1.3.4'
+androidxCardview = '1.0.0'
+androidxComposeCompiler = '1.5.9'
+androidxComposeMaterial3 = '1.1.1'
+androidxConstraintlayout = '2.1.4'
+androidxConstraintlayoutCompose = '1.0.1'
+androidxCore = '1.10.0'
+androidxFragment = '1.6.2'
+androidxLifecycle = '2.6.2'
+androidxNavigation = "2.7.7"
+androidxNavigationCompose = '2.7.6'
+androidxPercentLayout = '1.0.0'
+androidxPreference = '1.2.0'
+androidxRecyclerview = '1.3.0'
+androidxSwipeRefreshLayout = '1.1.0'
+androidxTest = '1.5.0'
+androidxTestEspresso = '3.4.0'
+androidxTestExtJunit = '1.1.5'
+androidxTestUiAutomator = '2.2.0'
+androidxViewpager2 = '1.0.0'
+androidxWebkit = '1.11.0'
+androidxWorkManager = "2.9.0"
+apacheCommonsText = '1.10.0'
+assertj = '3.23.1'
+automatticAbout = '1.4.0'
+automatticMeasureBuilds = '3.1.0'
+automatticRest = '1.0.8'
+automatticTracks = '5.1.0'
+cascadeCompose = '2.3.0'
+chrisbanesPhotoview = '2.3.0'
+coilCompose = '2.4.0'
+composeBom = '2023.10.00'
+dagger = '2.50'
+dependencyAnalysis = "1.28.0"
+detekt = "1.23.0"
+eventBus = '3.3.1'
+exoPlayer = '2.13.3'
+facebookReact = '0.73.3'
+facebookShimmer = '0.5.0'
+firebaseBom = '32.1.0'
+firebaseIid = '21.1.0'
+flipper = '0.247.0'
+glide = '4.16.0'
+googleFlexbox = '3.0.0'
+googleGson = '2.10.1'
+googleMaterial = '1.9.0'
+googleMLKitBarcodeScanning = '17.2.0'
+googleMLKitBarcodeScanningCommon = '17.0.0'
+googleMLKitTextRecognition = '16.0.0'
+googlePlayAppUpdate = '2.1.0'
+googlePlayReview = '2.0.1'
+googlePlayServicesAuth = '20.4.1'
+googleServices = '4.3.15'
+gravatar = '1.0.0'
+gutenbergMobile = 'v1.121.0-alpha1'
+indexosMediaForMobile = '43a9026f0973a2f0a74fa813132f6a16f7499c3a'
+jsoup = '1.16.2'
+junit = '4.13.2'
+kotlin = '1.9.22'
+kotlinxCoroutines = '1.7.3'
+kotlinxKover = "0.7.5"
+ksp = "1.9.22-1.0.17"
+lottie = '6.1.0'
+mockitoAndroid = '4.5.1'
+mockitoKotlin = '4.1.0'
+philjayMpAndroidChart = 'v3.1.0'
+screengrab = '2.1.1'
+sentry = "4.3.1"
+soLoader = '0.10.5'
+squareupKotlinPoet = '1.16.0'
+squareupMockWebServer = '4.12.0'
+squareupRetrofit = '2.9.0'
+uCrop = '2.2.9'
+violationComments = '1.70.0'
+volley = '1.2.1'
+wiremock = '2.26.3'
+wiremockHttpClient = '4.3.5.1'
+wordPressAztec = 'v2.1.3'
+wordPressFluxC = 'trunk-c670e916346bdaa2379936dd8dbb6750766ca319'
+wordPressLint = '2.1.0'
+wordPressLogin = '1.16.0'
+wordPressPersistentEditText = '1.0.2'
+wordPressUtils = '3.14.0'
+zendesk = '5.1.2'
+
+[libraries]
+android-appUpdate = { group = "com.google.android.play", name = "app-update", version.ref = "googlePlayAppUpdate" }
+android-appUpdate-ktx = { group = "com.google.android.play", name = "app-update-ktx", version.ref = "googlePlayAppUpdate" }
+android-desugar-jdk-libs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref ="androidDesugar" }
+android-installReferrer = { group = "com.android.installreferrer", name = "installreferrer", version.ref ="androidInstallReferrer" }
+androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "androidxActivity" }
+androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidxActivity" }
+androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "androidxActivity" }
+androidx-annotation = { group = "androidx.annotation", name = "annotation", version.ref ="androidxAnnotation" }
+androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidxAppcompat" }
+androidx-appcompat-resources = { group = "androidx.appcompat", name = "appcompat-resources", version.ref = "androidxAppcompat" }
+androidx-arch-core-common = { group = "androidx.arch.core", name = "core-common", version.ref = "androidxArchCore" }
+androidx-arch-core-runtime = { group = "androidx.arch.core", name = "core-runtime", version.ref = "androidxArchCore" }
+androidx-arch-core-testing = { group = "androidx.arch.core", name = "core-testing", version.ref = "androidxArchCore" }
+androidx-camera = { group = "androidx.camera", name = "camera-camera2", version.ref ="androidxCamera" }
+androidx-camera-lifecycle = { group = "androidx.camera", name = "camera-lifecycle", version.ref ="androidxCamera" }
+androidx-camera-view = { group = "androidx.camera", name = "camera-view", version.ref ="androidxCamera" }
+androidx-cardView = { group = "androidx.cardview", name = "cardview", version.ref = "androidxCardview" }
+androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
+androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout" }
+androidx-compose-material = { group = "androidx.compose.material", name = "material" }
+androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref ="androidxComposeMaterial3" }
+androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
+androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata" }
+androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
+androidx-compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
+androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test-junit4" }
+androidx-compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
+androidx-compose-ui-text = { group = "androidx.compose.ui", name = "ui-text" }
+androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
+androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
+androidx-compose-ui-unit = { group = "androidx.compose.ui", name = "ui-unit" }
+androidx-constraintLayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidxConstraintlayout" }
+androidx-constraintLayout-compose = { group = "androidx.constraintlayout", name = "constraintlayout-compose", version.ref ="androidxConstraintlayoutCompose" }
+androidx-core = { group = "androidx.core", name = "core", version.ref = "androidxCore" }
+androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidxCore" }
+androidx-fragment = { group = "androidx.fragment", name = "fragment", version.ref = "androidxFragment"}
+androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "androidxFragment"}
+androidx-lifecycle-common = { group = "androidx.lifecycle", name = "lifecycle-common", version.ref = "androidxLifecycle" }
+androidx-lifecycle-livedata = { group = "androidx.lifecycle", name = "lifecycle-livedata", version.ref = "androidxLifecycle" }
+androidx-lifecycle-livedata-core = { group = "androidx.lifecycle", name = "lifecycle-livedata-core", version.ref = "androidxLifecycle" }
+androidx-lifecycle-livedata-ktx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "androidxLifecycle" }
+androidx-lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "androidxLifecycle" }
+androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime", version.ref = "androidxLifecycle" }
+androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }
+androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "androidxLifecycle" }
+androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidxLifecycle" }
+androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" }
+androidx-lifecycle-viewmodel-savedstate = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-savedstate", version.ref = "androidxLifecycle" }
+androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidxNavigationCompose" }
+androidx-navigation-fragment = { group = "androidx.navigation", name = "navigation-fragment", version.ref = "androidxNavigation" }
+androidx-navigation-ui = { group = "androidx.navigation", name = "navigation-ui", version.ref = "androidxNavigation" }
+androidx-percentLayout = { group = "androidx.percentlayout", name = "percentlayout", version.ref = "androidxPercentLayout" }
+androidx-preference = { group = "androidx.preference", name = "preference", version.ref = "androidxPreference" }
+androidx-recyclerView = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "androidxRecyclerview" }
+androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "androidxSwipeRefreshLayout" }
+androidx-test-espresso-accessibility = { group = "androidx.test.espresso", name = "espresso-accessibility", version.ref ="androidxTestEspresso" }
+androidx-test-espresso-contrib = { group = "androidx.test.espresso", name = "espresso-contrib", version.ref ="androidxTestEspresso" }
+androidx-test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref ="androidxTestEspresso" }
+androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref ="androidxTestExtJunit" }
+androidx-test-rules = { group = "androidx.test", name = "rules", version.ref ="androidxTest" }
+androidx-test-runner = { group = "androidx.test", name = "runner", version.ref ="androidxTest" }
+androidx-test-ui-automator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref ="androidxTestUiAutomator" }
+androidx-viewPager2 = { group = "androidx.viewpager2", name = "viewpager2", version.ref ="androidxViewpager2" }
+androidx-webkit = {group = "androidx.webkit", name = "webkit", version.ref = "androidxWebkit"}
+androidx-work-runtime = { group = "androidx.work", name = "work-runtime", version.ref = "androidxWorkManager" }
+androidx-work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "androidxWorkManager" }
+androidx-work-testing = { group = "androidx.work", name = "work-testing", version.ref = "androidxWorkManager" }
+apache-commons-text = { group = "org.apache.commons", name = "commons-text", version.ref ="apacheCommonsText" }
+assertj-core = { group = "org.assertj", name = "assertj-core", version.ref ="assertj" }
+automattic-rest = { group = "com.automattic", name = "rest", version.ref = "automatticRest" }
+automattic-tracks-android = { group = "com.automattic", name = "Automattic-Tracks-Android", version.ref = "automatticTracks" }
+automattic-tracks-crashlogging = { group = "com.automattic.tracks", name = "crashlogging", version.ref = "automatticTracks" }
+cascade-compose = { group = "me.saket.cascade", name = "cascade-compose", version.ref ="cascadeCompose" }
+chrisbanes-photoview = { group = "com.github.chrisbanes", name = "PhotoView", version.ref ="chrisbanesPhotoview" }
+coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref ="coilCompose" }
+compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
+dagger-android-processor = { group = "com.google.dagger", name = "dagger-android-processor", version.ref = "dagger" }
+dagger-android-support = { group = "com.google.dagger", name = "dagger-android-support", version.ref = "dagger" }
+dagger-hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "dagger" }
+dagger-hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "dagger" }
+dagger-hilt-android-testing = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "dagger" }
+dagger-hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "dagger" }
+detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }
+facebook-flipper = { group = "com.facebook.flipper", name = "flipper", version.ref ="flipper" }
+facebook-flipper-network-plugin = { group = "com.facebook.flipper", name = "flipper-network-plugin", version.ref ="flipper" }
+facebook-flipper-noop = { group = "com.facebook.flipper", name = "flipper-noop", version.ref ="flipper" }
+facebook-react-android = { group = "com.facebook.react", name = "react-android", version.ref ="facebookReact" }
+facebook-react-hermesAndroid = { group = "com.facebook.react", name = "hermes-android", version.ref ="facebookReact" }
+facebook-shimmer = { group = "com.facebook.shimmer", name = "shimmer", version.ref ="facebookShimmer" }
+facebook-soLoader = { group = "com.facebook.soloader", name = "soloader", version.ref ="soLoader" }
+fastlane-screengrab = { group = "tools.fastlane", name = "screengrab", version.ref ="screengrab" }
+firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom"}
+firebase-iid = { group = "com.google.firebase", name = "firebase-iid", version.ref ="firebaseIid" }
+firebase-messaging = { module = "com.google.firebase:firebase-messaging" }
+glide = { group = "com.github.bumptech.glide", name = "glide", version.ref ="glide" }
+glide-ksp = { group = "com.github.bumptech.glide", name = "ksp", version.ref ="glide" }
+glide-volley-integration = { group = "com.github.bumptech.glide", name = "volley-integration", version.ref ="glide" }
+google-exoPlayer = { group = "com.google.android.exoplayer", name = "exoplayer", version.ref ="exoPlayer" }
+google-flexbox = { group = "com.google.android.flexbox", name = "flexbox", version.ref = "googleFlexbox" }
+google-gson = { group = "com.google.code.gson", name = "gson", version.ref = "googleGson" }
+google-material = { group = "com.google.android.material", name = "material", version.ref = "googleMaterial" }
+google-mlkit-barcode-scanning = { group = "com.google.mlkit", name = "barcode-scanning", version.ref ="googleMLKitBarcodeScanning" }
+google-mlkit-barcode-scanning-common = { group = "com.google.mlkit", name = "barcode-scanning-common", version.ref ="googleMLKitBarcodeScanningCommon" }
+google-mlkit-text-recognition = { group = "com.google.mlkit", name = "text-recognition", version.ref ="googleMLKitTextRecognition" }
+google-play-review = { group = "com.google.android.play", name = "review", version.ref ="googlePlayReview" }
+google-play-review-ktx = { group = "com.google.android.play", name = "review-ktx", version.ref ="googlePlayReview" }
+google-play-services-auth = { group = "com.google.android.gms", name = "play-services-auth", version.ref ="googlePlayServicesAuth" }
+greenrobot-eventBus = { group = "org.greenrobot", name = "eventbus", version.ref ="eventBus" }
+greenrobot-eventBus-java = { group = "org.greenrobot", name = "eventbus-java", version.ref ="eventBus" }
+indexos-media-for-mobile-android = { group = "com.github.indexos.media-for-mobile", name = "android", version.ref ="indexosMediaForMobile" }
+indexos-media-for-mobile-domain = { group = "com.github.indexos.media-for-mobile", name = "domain", version.ref ="indexosMediaForMobile" }
+jsoup = { group = "org.jsoup", name = "jsoup", version.ref ="jsoup" }
+junit = { group = "junit", name = "junit", version.ref ="junit" }
+kotlin-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" }
+kotlin-test-junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" }
+kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref ="kotlinxCoroutines" }
+kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref ="kotlinxCoroutines" }
+kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref ="kotlinxCoroutines" }
+ksp-sympol-processing-api = { group = "com.google.devtools.ksp", name = "symbol-processing-api", version.ref = "ksp" }
+lottie = { group = "com.airbnb.android", name = "lottie", version.ref ="lottie" }
+lottie-compose = { group = "com.airbnb.android", name = "lottie-compose", version.ref ="lottie" }
+mockito-android = { group = "org.mockito", name = "mockito-android", version.ref ="mockitoAndroid" }
+mockito-kotlin = { group = "org.mockito.kotlin", name = "mockito-kotlin", version.ref ="mockitoKotlin" }
+philJay-mpAndroidChart = { group = "com.github.PhilJay", name = "MPAndroidChart", version.ref ="philjayMpAndroidChart" }
+squareup-kotlinpoet = { group = "com.squareup", name = "kotlinpoet", version.ref ="squareupKotlinPoet" }
+squareup-kotlinpoet-ksp = { group = "com.squareup", name = "kotlinpoet-ksp", version.ref ="squareupKotlinPoet" }
+squareup-okhttp-mockWebServer = { group = "com.squareup.okhttp3", name = "mockwebserver", version.ref ="squareupMockWebServer" }
+squareup-retrofit2 = { group = "com.squareup.retrofit2", name = "retrofit", version.ref ="squareupRetrofit" }
+ucrop = { group = "com.github.yalantis", name = "ucrop", version.ref = "uCrop" }
+volley = { group = "com.android.volley", name = "volley", version.ref = "volley" }
+wiremock = { group = "com.github.tomakehurst", name = "wiremock", version.ref ="wiremock" }
+wiremock-httpclient-android = { group = "org.apache.httpcomponents", name = "httpclient-android", version.ref ="wiremockHttpClient" }
+wordpress-lint = { group = "org.wordpress", name = "lint", version.ref = "wordPressLint" }
+wordPress-persistentEditText = { group = "org.wordpress", name = "persistentedittext", version.ref = "wordPressPersistentEditText" }
+wordpress-utils = { group = "org.wordpress", name = "utils", version.ref = "wordPressUtils" }
+zendesk = { group = "com.zendesk", name = "support", version.ref ="zendesk" }
+
+[plugins]
+android-application = { id = "com.android.application", version.ref = "agp" }
+android-library = { id = "com.android.library", version.ref = "agp" }
+automattic-measure-builds = { id = "com.automattic.android.measure-builds", version.ref = "automatticMeasureBuilds" }
+dagger = { id = "com.google.dagger.hilt.android", version.ref = "dagger" }
+dependency-analysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyAnalysis" }
+detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
+google-services = { id = "com.google.gms.google-services", version.ref = "googleServices" }
+kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin" }
+kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
+kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
+kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
+kotlix-kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kotlinxKover" }
+ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
+navigation-safeargs = { id = "androidx.navigation.safeargs.kotlin", version.ref = "androidxNavigation" }
+sentry = { id = "io.sentry.android.gradle", version.ref = "sentry" }
+violation-comments = { id = "se.bjurr.violations.violation-comments-to-github-gradle-plugin", version.ref = "violationComments" }
diff --git a/libs/analytics/build.gradle b/libs/analytics/build.gradle
index d3e8edf28570..71cf7513d206 100644
--- a/libs/analytics/build.gradle
+++ b/libs/analytics/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id "com.android.library"
+ alias(libs.plugins.android.library)
}
repositories {
@@ -14,12 +14,12 @@ repositories {
}
dependencies {
- implementation "com.automattic:Automattic-Tracks-Android:$automatticTracksVersion"
- implementation "org.wordpress:utils:$wordPressUtilsVersion"
+ implementation libs.automattic.tracks.android
+ implementation libs.wordpress.utils
- implementation "androidx.preference:preference:$androidxPreferenceVersion"
+ implementation libs.androidx.preference
- lintChecks "org.wordpress:lint:$wordPressLintVersion"
+ lintChecks libs.wordpress.lint
}
android {
diff --git a/libs/annotations/build.gradle b/libs/annotations/build.gradle
index 38dacf593233..03c19ecfd20e 100644
--- a/libs/annotations/build.gradle
+++ b/libs/annotations/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id "org.jetbrains.kotlin.jvm"
+ alias(libs.plugins.kotlin.jvm)
}
sourceCompatibility = JavaVersion.VERSION_1_8
diff --git a/libs/editor/build.gradle b/libs/editor/build.gradle
index d50c03155102..cd91a719220b 100644
--- a/libs/editor/build.gradle
+++ b/libs/editor/build.gradle
@@ -1,8 +1,8 @@
plugins {
- id "com.android.library"
- id "org.jetbrains.kotlin.android"
- id "org.jetbrains.kotlin.plugin.parcelize"
- id "org.jetbrains.kotlinx.kover"
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.parcelize)
+ alias(libs.plugins.kotlix.kover)
}
repositories {
@@ -59,33 +59,39 @@ android {
dependencies {
implementation ("$gradle.ext.wputilsBinaryPath") {
version {
- strictly wordPressUtilsVersion
+ strictly libs.versions.wordPressUtils.get()
}
}
api ("$gradle.ext.aztecAndroidAztecPath") {
exclude group: "com.android.volley"
exclude group: 'org.wordpress', module: 'utils'
version {
- strictly wordPressAztecVersion
+ strictly libs.versions.wordPressAztec.get()
}
}
- api ("$gradle.ext.aztecAndroidWordPressShortcodesPath:$wordPressAztecVersion") {
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ api ("$gradle.ext.aztecAndroidWordPressShortcodesPath:${libs.versions.wordPressAztec.get()}") {
version {
- strictly wordPressAztecVersion
+ strictly libs.versions.wordPressAztec.get()
}
}
- api ("$gradle.ext.aztecAndroidWordPressCommentsPath:$wordPressAztecVersion") {
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ api ("$gradle.ext.aztecAndroidWordPressCommentsPath:${libs.versions.wordPressAztec.get()}") {
version {
- strictly wordPressAztecVersion
+ strictly libs.versions.wordPressAztec.get()
}
}
- implementation "com.facebook.react:hermes-android:$facebookReactVersion"
- implementation "com.facebook.react:react-android:$facebookReactVersion"
+ implementation libs.facebook.react.hermesAndroid
+ implementation libs.facebook.react.android
// This dependency will be substituted if the `local-builds.gradle` file contains
// `localGutenbergMobilePath`. Details for this can be found in the `settings.gradle` file.
- implementation ("$rootProject.gradle.ext.gutenbergMobileBinaryPath:$rootProject.ext.gutenbergMobileVersion") {
+ // TODO: Migrate from composite build path modules to version catalogs (libs.version.toml).
+ // noinspection UseTomlInstead
+ implementation ("$rootProject.gradle.ext.gutenbergMobileBinaryPath:${libs.versions.gutenbergMobile.get()}") {
// We exclude React Native modules from older and newer versions.
// This is needed to avoid Duplicate class errors when building using local Gutenberg Mobile path.
exclude module: 'hermes-engine'
@@ -94,19 +100,19 @@ dependencies {
exclude module: 'react-android'
}
- implementation "org.wordpress:utils:$wordPressUtilsVersion"
+ implementation libs.wordpress.utils
- implementation "androidx.lifecycle:lifecycle-common:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-runtime:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-livedata-core:$androidxLifecycleVersion"
- implementation "androidx.core:core:$androidxCoreVersion"
- implementation "androidx.fragment:fragment:$androidxFragmentVersion"
- implementation "androidx.appcompat:appcompat:$androidxAppcompatVersion"
- implementation "androidx.preference:preference:$androidxPreferenceVersion"
- implementation "com.google.android.material:material:$googleMaterialVersion"
- implementation "com.android.volley:volley:$androidVolleyVersion"
- implementation "com.google.code.gson:gson:$googleGsonVersion"
- implementation "com.automattic.tracks:crashlogging:$automatticTracksVersion"
+ implementation libs.androidx.lifecycle.common
+ implementation libs.androidx.lifecycle.runtime
+ implementation libs.androidx.lifecycle.livedata.core
+ implementation libs.androidx.core
+ implementation libs.androidx.fragment
+ implementation libs.androidx.appcompat
+ implementation libs.androidx.preference
+ implementation libs.google.material
+ implementation libs.volley
+ implementation libs.google.gson
+ implementation libs.automattic.tracks.crashlogging
- lintChecks "org.wordpress:lint:$wordPressLintVersion"
+ lintChecks libs.wordpress.lint
}
diff --git a/libs/image-editor/build.gradle b/libs/image-editor/build.gradle
index 2cdd7f6bf40f..53de7fc7d98a 100644
--- a/libs/image-editor/build.gradle
+++ b/libs/image-editor/build.gradle
@@ -1,9 +1,9 @@
plugins {
- id "com.android.library"
- id "org.jetbrains.kotlin.android"
- id "org.jetbrains.kotlin.plugin.parcelize"
- id "androidx.navigation.safeargs.kotlin"
- id "org.jetbrains.kotlinx.kover"
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.parcelize)
+ alias(libs.plugins.navigation.safeargs)
+ alias(libs.plugins.kotlix.kover)
}
android {
@@ -46,42 +46,44 @@ repositories {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation "androidx.core:core:$androidxCoreVersion"
- implementation "androidx.activity:activity:$androidxActivityVersion"
- implementation "androidx.activity:activity-ktx:$androidxActivityVersion"
- implementation "androidx.fragment:fragment:$androidxFragmentVersion"
- implementation "androidx.appcompat:appcompat:$androidxAppcompatVersion"
- implementation "androidx.recyclerview:recyclerview:$androidxRecyclerviewVersion"
- implementation "androidx.constraintlayout:constraintlayout:$androidxConstraintlayoutVersion"
- implementation "androidx.viewpager2:viewpager2:$androidxViewpager2Version"
- implementation "com.google.android.material:material:$googleMaterialVersion"
- implementation "androidx.navigation:navigation-fragment:$gradle.ext.navigationVersion"
- implementation "androidx.navigation:navigation-ui:$gradle.ext.navigationVersion"
- implementation "androidx.lifecycle:lifecycle-common:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-runtime:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-viewmodel:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$androidxLifecycleVersion"
- implementation "androidx.lifecycle:lifecycle-livedata-core:$androidxLifecycleVersion"
- implementation ("com.github.yalantis:ucrop:$uCropVersion") {
+ implementation libs.androidx.core
+ implementation libs.androidx.activity
+ implementation libs.androidx.activity.ktx
+ implementation libs.androidx.fragment
+ implementation libs.androidx.appcompat
+ implementation libs.androidx.recyclerView
+ implementation libs.androidx.constraintLayout
+ implementation libs.androidx.viewPager2
+ implementation libs.google.material
+ implementation libs.androidx.navigation.fragment
+ implementation libs.androidx.navigation.ui
+ implementation libs.androidx.lifecycle.common
+ implementation libs.androidx.lifecycle.runtime
+ implementation libs.androidx.lifecycle.viewmodel
+ implementation libs.androidx.lifecycle.viewmodel.savedstate
+ implementation libs.androidx.lifecycle.livedata.core
+ implementation (libs.ucrop) {
exclude group: 'com.squareup.okhttp3'
exclude group: 'androidx.core', module: 'core'
exclude group: 'androidx.constraintlayout', module: 'constraintlayout'
exclude group: 'androidx.appcompat', module: 'appcompat'
}
- testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion"
- testImplementation "junit:junit:$junitVersion"
- testImplementation "org.assertj:assertj-core:$assertjVersion"
- testImplementation("androidx.arch.core:core-testing:$androidxArchCoreVersion", {
+ testImplementation libs.mockito.kotlin
+ testImplementation libs.junit
+ testImplementation libs.assertj.core
+ testImplementation(libs.androidx.arch.core.testing, {
exclude group: 'com.android.support', module: 'support-compat'
exclude group: 'com.android.support', module: 'support-annotations'
exclude group: 'com.android.support', module: 'support-core-utils'
})
- androidTestImplementation "androidx.test.ext:junit:$androidxTestExtJunitVersion"
- androidTestImplementation("androidx.test.espresso:espresso-core:$androidxTestEspressoVersion") {
- version {
- strictly androidxTestEspressoVersion
+ androidTestImplementation libs.androidx.test.ext.junit
+ androidTestImplementation(libs.androidx.test.espresso.core) {
+ {
+ version {
+ strictly libs.versions.androidxTestEspresso.get()
+ }
}
}
}
diff --git a/libs/mocks/build.gradle b/libs/mocks/build.gradle
index a6ee6d448194..a837cdcc184e 100644
--- a/libs/mocks/build.gradle
+++ b/libs/mocks/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id "com.android.library"
+ alias(libs.plugins.android.library)
}
android {
@@ -18,11 +18,11 @@ android {
}
dependencies {
- implementation("com.github.tomakehurst:wiremock:$wiremockVersion") {
+ implementation(libs.wiremock) {
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
exclude group: 'org.apache.commons', module: 'commons-lang3'
exclude group: 'asm', module: 'asm'
exclude group: 'org.json', module: 'json'
}
- implementation "org.apache.httpcomponents:httpclient-android:$wiremockHttpClientVersion"
+ implementation libs.wiremock.httpclient.android
}
diff --git a/libs/networking/build.gradle b/libs/networking/build.gradle
index 457a92785de9..131fd8dcc2e3 100644
--- a/libs/networking/build.gradle
+++ b/libs/networking/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id "com.android.library"
+ alias(libs.plugins.android.library)
}
android {
@@ -27,13 +27,13 @@ repositories {
}
dependencies {
- implementation ("com.automattic:rest:$automatticRestVersion") {
+ implementation (libs.automattic.rest) {
exclude group: 'com.mcxiaoke.volley'
}
- implementation "org.wordpress:utils:$wordPressUtilsVersion"
+ implementation libs.wordpress.utils
- implementation "com.android.volley:volley:$androidVolleyVersion"
- implementation "androidx.annotation:annotation:$androidxAnnotationVersion"
+ implementation libs.volley
+ implementation libs.androidx.annotation
- lintChecks "org.wordpress:lint:$wordPressLintVersion"
+ lintChecks libs.wordpress.lint
}
diff --git a/libs/processors/build.gradle b/libs/processors/build.gradle
index 6baeb1bb411d..562a0080116d 100644
--- a/libs/processors/build.gradle
+++ b/libs/processors/build.gradle
@@ -1,6 +1,6 @@
plugins {
- id "org.jetbrains.kotlin.jvm"
- id "org.jetbrains.kotlinx.kover"
+ alias(libs.plugins.kotlin.jvm)
+ alias(libs.plugins.kotlix.kover)
}
sourceCompatibility = JavaVersion.VERSION_1_8
@@ -9,14 +9,14 @@ targetCompatibility = JavaVersion.VERSION_1_8
dependencies {
implementation project(":libs:annotations")
- implementation "com.squareup:kotlinpoet:$squareupKotlinPoetVersion"
- implementation "com.squareup:kotlinpoet-ksp:$squareupKotlinPoetVersion"
- implementation "com.google.devtools.ksp:symbol-processing-api:$gradle.ext.kspVersion"
+ implementation libs.squareup.kotlinpoet
+ implementation libs.squareup.kotlinpoet.ksp
+ implementation libs.ksp.sympol.processing.api
def kctVersion = "1.5.0"
testImplementation "com.github.tschuchortdev:kotlin-compile-testing:$kctVersion"
testImplementation "com.github.tschuchortdev:kotlin-compile-testing-ksp:$kctVersion"
- testImplementation "junit:junit:$junitVersion"
- testImplementation "org.assertj:assertj-core:$assertjVersion"
- testImplementation "org.jetbrains.kotlin:kotlin-reflect:$gradle.ext.kotlinVersion"
+ testImplementation libs.junit
+ testImplementation libs.assertj.core
+ testImplementation libs.kotlin.reflect
}
diff --git a/settings.gradle b/settings.gradle
index 987cdf6d6775..b63822b37efb 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,36 +1,4 @@
pluginManagement {
- gradle.ext.kotlinVersion = '1.9.22'
- gradle.ext.kspVersion = '1.9.22-1.0.17'
- gradle.ext.agpVersion = '8.1.0'
- gradle.ext.googleServicesVersion = '4.3.15'
- gradle.ext.navigationVersion = '2.7.7'
- gradle.ext.sentryVersion = '4.3.1'
- gradle.ext.daggerVersion = "2.50"
- gradle.ext.detektVersion = '1.23.0'
- gradle.ext.violationCommentsVersion = '1.70.0'
- gradle.ext.measureBuildsVersion = '3.1.0'
- gradle.ext.koverVersion = '0.7.5'
- gradle.ext.dependencyAnalysisVersion = '1.28.0'
-
- plugins {
- id "org.jetbrains.kotlin.android" version gradle.ext.kotlinVersion
- id "org.jetbrains.kotlin.jvm" version gradle.ext.kotlinVersion
- id "org.jetbrains.kotlin.plugin.serialization" version gradle.ext.kotlinVersion
- id "org.jetbrains.kotlin.plugin.parcelize" version gradle.ext.kotlinVersion
- id "org.jetbrains.kotlin.plugin.allopen" version gradle.ext.kotlinVersion
- id "com.android.application" version gradle.ext.agpVersion
- id "com.android.library" version gradle.ext.agpVersion
- id 'com.google.gms.google-services' version gradle.ext.googleServicesVersion
- id "androidx.navigation.safeargs.kotlin" version gradle.ext.navigationVersion
- id "io.sentry.android.gradle" version gradle.ext.sentryVersion
- id "io.gitlab.arturbosch.detekt" version gradle.ext.detektVersion
- id "se.bjurr.violations.violation-comments-to-github-gradle-plugin" version gradle.ext.violationCommentsVersion
- id 'com.automattic.android.measure-builds' version gradle.ext.measureBuildsVersion
- id "org.jetbrains.kotlinx.kover" version gradle.ext.koverVersion
- id "com.google.dagger.hilt.android" version gradle.ext.daggerVersion
- id "com.google.devtools.ksp" version gradle.ext.kspVersion
- id "com.autonomousapps.dependency-analysis" version gradle.ext.dependencyAnalysisVersion
- }
repositories {
maven {
url 'https://a8c-libs.s3.amazonaws.com/android'