diff --git a/binder/build.gradle b/binder/build.gradle index 3149f1ad..2fe4f70c 100644 --- a/binder/build.gradle +++ b/binder/build.gradle @@ -6,15 +6,13 @@ plugins { } dependencies { - def deps = rootProject.ext.deps + implementation libs.rxjava2 + implementation libs.rxkotlin + implementation libs.kotlin.stdlib - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxkotlin') - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") - - testImplementation deps('junit:junit') - testImplementation deps('org.jetbrains.kotlin:kotlin-test-junit') - testImplementation deps('org.mockito.kotlin:mockito-kotlin') + testImplementation libs.junit + testImplementation libs.kotlin.test.junit + testImplementation libs.mockito.kotlin } sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/build.gradle b/build.gradle index e35fa456..293c27ed 100644 --- a/build.gradle +++ b/build.gradle @@ -1,15 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlinVersion = '1.6.21' - repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.2.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" + classpath libs.plugin.android + classpath libs.plugin.kotlin // TODO: Dokka 1.6.21 fails when running publishToMavenLocal. Try aligning with Kotlin version after we upgrade to 1.7.x // Downgrade was suggested here: https://github.com/Kotlin/dokka/issues/2452 classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.6.10" @@ -18,100 +16,6 @@ buildscript { } } -ext { - // Android - androidLifecycleVersion = '2.2.0' - androidAppCompatVersion = '1.3.1' - androidMaterialVersion = '1.2.1' - constraintLayoutVersion = '2.0.2' - - // Rx - rxJavaVersion = '2.2.10' - rxKotlinVersion = '2.2.0' - rxAndroidVersion = '2.1.1' - - // DI - daggerVersion = '2.43.2' - - // Utils - debugDrawerVersion = '0.9.0' - timberVersion = '4.7.1' - scalpelVersion = '1.1.2' - glideVersion = '4.13.2' - - // Network - okhttpVersion = '3.10.0' - retrofitVersion = '2.4.0' - gsonVersion = '2.8.5' - - // Testing - junitVersion = '4.12' - supportTestVersion = '1.3.0' - mockitoKotlinVersion = '4.0.0' - - depsWithVersion = [ - // Kotlin - "org.jetbrains.kotlin:kotlin-stdlib-jdk7" : kotlinVersion, - - // Android - "androidx.lifecycle:lifecycle-common-java8" : androidLifecycleVersion, - "androidx.appcompat:appcompat" : androidAppCompatVersion, - "androidx.constraintlayout:constraintlayout" : constraintLayoutVersion, - "com.google.android.material:material" : androidMaterialVersion, - - // Rx - "io.reactivex.rxjava2:rxjava" : rxJavaVersion, - "io.reactivex.rxjava2:rxkotlin" : rxKotlinVersion, - "io.reactivex.rxjava2:rxandroid" : rxAndroidVersion, - - // DI - "com.google.dagger:dagger" : daggerVersion, - "com.google.dagger:dagger-android" : daggerVersion, - "com.google.dagger:dagger-android-support" : daggerVersion, - "com.google.dagger:dagger-compiler" : daggerVersion, - "com.google.dagger:dagger-android-processor" : daggerVersion, - - // DebugDrawer - "com.github.lenguyenthanh.debugdrawer:debugdrawer" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-base" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-view" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-no-op" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-view-no-op" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-commons" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-actions" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-scalpel" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-timber" : debugDrawerVersion, - "com.github.lenguyenthanh.debugdrawer:debugdrawer-network-quality": debugDrawerVersion, - - // Utils - "com.jakewharton.timber:timber" : timberVersion, - "com.jakewharton.scalpel:scalpel" : scalpelVersion, - "com.github.bumptech.glide:glide" : glideVersion, - "com.github.bumptech.glide:compiler" : glideVersion, - - // Network - "com.squareup.okhttp3:okhttp" : okhttpVersion, - "com.squareup.retrofit2:retrofit" : retrofitVersion, - "com.squareup.retrofit2:adapter-rxjava2" : retrofitVersion, - "com.squareup.retrofit2:converter-simplexml" : retrofitVersion, - "com.google.code.gson:gson" : gsonVersion, - - // Testing - "junit:junit" : junitVersion, - "org.jetbrains.kotlin:kotlin-test-junit" : kotlinVersion, - "org.mockito.kotlin:mockito-kotlin" : mockitoKotlinVersion, - "androidx.test:runner" : supportTestVersion, - "androidx.test:orchestrator" : supportTestVersion, - "androidx.test:rules" : supportTestVersion, - ] - - deps = { String key -> - def version = depsWithVersion[key] - if (version == null) throw new IllegalDependencyNotation("Version for library '$key' unknown. Update root build.gradle") - "$key:${version}" - } -} - task clean(type: Delete) { delete rootProject.buildDir } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..1c5c47ea --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,89 @@ +[versions] +kotlinVersion = "1.6.21" + +# Android +androidLifecycleVersion = "2.2.0" +androidAppCompatVersion = "1.3.1" +androidMaterialVersion = "1.2.1" +constraintLayoutVersion = "2.0.2" + +# Rx +rxJavaVersion = "2.2.10" +rxKotlinVersion = "2.2.0" +rxAndroidVersion = "2.1.1" + +# DI +daggerVersion = "2.43.2" + +# Utils +debugDrawerVersion = "0.9.0" +timberVersion = "4.7.1" +scalpelVersion = "1.1.2" +glideVersion = "4.13.2" + +# Testing +okhttpVersion = "3.10.0" +retrofitVersion = "2.4.0" +gsonVersion = "2.8.5" + +# Testing +junitVersion = "4.12" +supportTestVersion = "1.3.0" +mockitoKotlinVersion = "4.0.0" + +[libraries] +# Kotlin +kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk7", version.ref = "kotlinVersion" } + +# Android +androidx-lifecycle-java8 = { module = "androidx.lifecycle:lifecycle-common-java8", version.ref = "androidLifecycleVersion" } +androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidAppCompatVersion" } +androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintLayoutVersion" } +google-material = { module = "com.google.android.material:material", version.ref = "androidMaterialVersion" } + +# Rx +rxjava2 = { module = "io.reactivex.rxjava2:rxjava", version.ref = "rxJavaVersion" } +rxkotlin = { module = "io.reactivex.rxjava2:rxkotlin", version.ref = "rxKotlinVersion" } +rxandroid = { module = "io.reactivex.rxjava2:rxandroid", version.ref = "rxAndroidVersion" } + +# DI +dagger-runtime = { module = "com.google.dagger:dagger", version.ref = "daggerVersion" } +dagger-compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "daggerVersion" } +dagger-android-runtime = { module = "com.google.dagger:dagger-android", version.ref = "daggerVersion" } +dagger-android-support = { module = "com.google.dagger:dagger-android-support", version.ref = "daggerVersion" } +dagger-android-processor = { module = "com.google.dagger:dagger-android-processor", version.ref = "daggerVersion" } + +# DebugDrawer +debugdrawer-impl = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer", version.ref = "debugDrawerVersion" } +debugdrawer-base = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-base", version.ref = "debugDrawerVersion" } +debugdrawer-view-impl = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-view", version.ref = "debugDrawerVersion" } +debugdrawer-noop = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-no-op", version.ref = "debugDrawerVersion" } +debugdrawer-view-noop = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-view-no-op", version.ref = "debugDrawerVersion" } +debugdrawer-commons = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-commons", version.ref = "debugDrawerVersion" } +debugdrawer-actions = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-actions", version.ref = "debugDrawerVersion" } +debugdrawer-scalpel = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-scalpel", version.ref = "debugDrawerVersion" } +debugdrawer-timber = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-timber", version.ref = "debugDrawerVersion" } +debugdrawer-networkQuality = { module = "com.github.lenguyenthanh.debugdrawer:debugdrawer-network-quality", version.ref = "debugDrawerVersion" } + +# Utils +timber = { module = "com.jakewharton.timber:timber", version.ref = "timberVersion" } +scalpel = { module = "com.jakewharton.scalpel:scalpel", version.ref = "scalpelVersion" } +glide-runtime = { module = "com.github.bumptech.glide:glide", version.ref = "glideVersion" } +glide-compiler = { module = "com.github.bumptech.glide:compiler", version.ref = "glideVersion" } + +# Network +okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttpVersion" } +retrofit-runtime = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofitVersion" } +retrofit-adapter-rxjava2 = { module = "com.squareup.retrofit2:adapter-rxjava2", version.ref = "retrofitVersion" } +retrofit-converter-simplexml = { module = "com.squareup.retrofit2:converter-simplexml", version.ref = "retrofitVersion" } +gson = { module = "com.google.code.gson:gson", version.ref = "gsonVersion" } + +# Testing +junit = { module = "junit:junit", version.ref = "junitVersion" } +kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlinVersion" } +mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlinVersion" } +androidx-test-runner = { module = "androidx.test:runner", version.ref = "supportTestVersion" } +androidx-test-rules = { module = "androidx.test:rules", version.ref = "supportTestVersion" } + +plugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinVersion" } +plugin-android = "com.android.tools.build:gradle:7.2.2" diff --git a/mvicore-android/build.gradle b/mvicore-android/build.gradle index 961ba3e5..0cb2530f 100644 --- a/mvicore-android/build.gradle +++ b/mvicore-android/build.gradle @@ -35,21 +35,18 @@ android { } dependencies { - def deps = rootProject.ext.deps - - implementation deps('androidx.appcompat:appcompat') - implementation deps('androidx.lifecycle:lifecycle-common-java8') - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") - - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxkotlin') - implementation deps('io.reactivex.rxjava2:rxandroid') - - testImplementation deps('junit:junit') - testImplementation deps('org.jetbrains.kotlin:kotlin-test-junit') - androidTestImplementation deps("androidx.test:runner") - androidTestImplementation deps("androidx.test:rules") - androidTestImplementation deps("androidx.test:rules") + implementation libs.androidx.appcompat + implementation libs.androidx.lifecycle.java8 + implementation libs.kotlin.stdlib + + implementation libs.rxjava2 + implementation libs.rxkotlin + implementation libs.rxandroid + + testImplementation libs.junit + testImplementation libs.kotlin.test.junit + androidTestImplementation libs.androidx.test.runner + androidTestImplementation libs.androidx.test.rules implementation project(":mvicore") } diff --git a/mvicore-debugdrawer/build.gradle b/mvicore-debugdrawer/build.gradle index 1818e8b3..6950395a 100644 --- a/mvicore-debugdrawer/build.gradle +++ b/mvicore-debugdrawer/build.gradle @@ -35,23 +35,21 @@ android { } dependencies { - def deps = rootProject.ext.deps + implementation libs.androidx.constraintlayout - implementation deps('androidx.constraintlayout:constraintlayout') + implementation libs.rxjava2 + implementation libs.rxkotlin - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxkotlin') + implementation libs.kotlin.stdlib - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") + implementation libs.debugdrawer.base + debugImplementation libs.debugdrawer.impl + debugImplementation libs.debugdrawer.view.impl + releaseImplementation libs.debugdrawer.noop + releaseImplementation libs.debugdrawer.view.noop - implementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-base') - debugImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer') - debugImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-view') - releaseImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-no-op') - releaseImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-view-no-op') - - testImplementation deps('junit:junit') - testImplementation deps('org.jetbrains.kotlin:kotlin-test-junit') + testImplementation libs.junit + testImplementation libs.kotlin.test.junit implementation project(':mvicore') } diff --git a/mvicore-demo/mvicore-demo-app/build.gradle b/mvicore-demo/mvicore-demo-app/build.gradle index 9d6086ad..662568d2 100644 --- a/mvicore-demo/mvicore-demo-app/build.gradle +++ b/mvicore-demo/mvicore-demo-app/build.gradle @@ -47,40 +47,40 @@ dependencies { implementation project(':mvicore-plugin:middleware') // Kotlin - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") + implementation libs.kotlin.stdlib // Android - implementation deps('androidx.appcompat:appcompat') - implementation deps('androidx.constraintlayout:constraintlayout') - implementation deps('com.google.android.material:material') + implementation libs.androidx.appcompat + implementation libs.androidx.constraintlayout + implementation libs.google.material // Rx - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxandroid') + implementation libs.rxjava2 + implementation libs.rxandroid // DI - implementation deps('com.google.dagger:dagger') - implementation(deps('com.google.dagger:dagger-android'), { exclude group: 'com.google.code.findbugs' }) - implementation(deps('com.google.dagger:dagger-android-support'), { exclude group: 'com.google.code.findbugs' }) - kapt deps('com.google.dagger:dagger-compiler') - kapt deps('com.google.dagger:dagger-android-processor') + implementation libs.dagger.runtime + implementation libs.dagger.android.runtime + implementation libs.dagger.android.support + kapt libs.dagger.compiler + kapt libs.dagger.android.processor // DebugDrawer - debugImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer') - debugImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-view') - releaseImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-no-op') - releaseImplementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-view-no-op') - implementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-commons') - implementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-actions') - implementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-scalpel') - implementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-base') - implementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-timber') - implementation deps('com.github.lenguyenthanh.debugdrawer:debugdrawer-network-quality') + debugImplementation libs.debugdrawer.impl + debugImplementation libs.debugdrawer.view.impl + releaseImplementation libs.debugdrawer.noop + releaseImplementation libs.debugdrawer.view.noop + implementation libs.debugdrawer.commons + implementation libs.debugdrawer.actions + implementation libs.debugdrawer.scalpel + implementation libs.debugdrawer.base + implementation libs.debugdrawer.timber + implementation libs.debugdrawer.networkQuality // Utils - implementation deps('com.jakewharton.timber:timber') - implementation deps('com.jakewharton.scalpel:scalpel') - implementation deps('com.squareup.okhttp3:okhttp') - implementation deps('com.github.bumptech.glide:glide') - kapt deps('com.github.bumptech.glide:compiler') + implementation libs.timber + implementation libs.scalpel + implementation libs.okhttp + implementation libs.glide.runtime + kapt libs.glide.compiler } diff --git a/mvicore-demo/mvicore-demo-catapi/build.gradle b/mvicore-demo/mvicore-demo-catapi/build.gradle index a19dc67a..97c288cd 100644 --- a/mvicore-demo/mvicore-demo-catapi/build.gradle +++ b/mvicore-demo/mvicore-demo-catapi/build.gradle @@ -33,15 +33,15 @@ android { } dependencies { - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") - implementation deps('androidx.appcompat:appcompat') + implementation libs.kotlin.stdlib + implementation libs.androidx.appcompat - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxandroid') + implementation libs.rxjava2 + implementation libs.rxandroid - implementation deps('com.squareup.retrofit2:retrofit') - implementation deps('com.squareup.retrofit2:adapter-rxjava2') - implementation deps('com.squareup.retrofit2:converter-simplexml') + implementation libs.retrofit.runtime + implementation libs.retrofit.adapter.rxjava2 + implementation libs.retrofit.converter.simplexml configurations { all*.exclude group: 'xpp3', module: 'xpp3' diff --git a/mvicore-demo/mvicore-demo-feature1/build.gradle b/mvicore-demo/mvicore-demo-feature1/build.gradle index 38f1a930..144b9db0 100644 --- a/mvicore-demo/mvicore-demo-feature1/build.gradle +++ b/mvicore-demo/mvicore-demo-feature1/build.gradle @@ -33,11 +33,11 @@ android { } dependencies { - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") - implementation deps('androidx.appcompat:appcompat') + implementation libs.kotlin.stdlib + implementation libs.androidx.appcompat - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxandroid') + implementation libs.rxjava2 + implementation libs.rxandroid implementation project(":mvicore") } diff --git a/mvicore-demo/mvicore-demo-feature2/build.gradle b/mvicore-demo/mvicore-demo-feature2/build.gradle index 0aa3444a..7af82fc7 100644 --- a/mvicore-demo/mvicore-demo-feature2/build.gradle +++ b/mvicore-demo/mvicore-demo-feature2/build.gradle @@ -34,11 +34,11 @@ android { } dependencies { - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") - implementation deps('androidx.appcompat:appcompat') + implementation libs.kotlin.stdlib + implementation libs.androidx.appcompat - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxandroid') + implementation libs.rxjava2 + implementation libs.rxandroid implementation project(":mvicore") implementation project(":mvicore-android") diff --git a/mvicore-diff/build.gradle b/mvicore-diff/build.gradle index dc27301d..8219a269 100644 --- a/mvicore-diff/build.gradle +++ b/mvicore-diff/build.gradle @@ -6,11 +6,10 @@ plugins { } dependencies { - def deps = rootProject.ext.deps - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") + implementation libs.kotlin.stdlib - testImplementation deps('junit:junit') - testImplementation deps('org.jetbrains.kotlin:kotlin-test-junit') + testImplementation libs.junit + testImplementation libs.kotlin.test.junit } sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/mvicore-plugin/common/build.gradle b/mvicore-plugin/common/build.gradle index bd5ee63f..fda3d67a 100644 --- a/mvicore-plugin/common/build.gradle +++ b/mvicore-plugin/common/build.gradle @@ -6,10 +6,9 @@ plugins { archivesBaseName = 'mvicore-plugin-common' dependencies { - def deps = rootProject.ext.deps - implementation deps('com.google.code.gson:gson') + implementation libs.gson - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" + implementation libs.kotlin.stdlib } sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/mvicore-plugin/idea/build.gradle b/mvicore-plugin/idea/build.gradle index f68b6a11..5baac0fa 100644 --- a/mvicore-plugin/idea/build.gradle +++ b/mvicore-plugin/idea/build.gradle @@ -27,16 +27,14 @@ patchPluginXml { } dependencies { - def deps = rootProject.ext.deps - - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxkotlin') - implementation deps('com.google.code.gson:gson') + implementation libs.rxjava2 + implementation libs.rxkotlin + implementation libs.gson implementation project(':mvicore-plugin:common') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" + implementation libs.kotlin.stdlib - testImplementation deps('junit:junit') - testImplementation deps('org.jetbrains.kotlin:kotlin-test-junit') + testImplementation libs.junit + testImplementation libs.kotlin.test.junit } sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/mvicore-plugin/middleware/build.gradle b/mvicore-plugin/middleware/build.gradle index 8283f14b..1cab014e 100644 --- a/mvicore-plugin/middleware/build.gradle +++ b/mvicore-plugin/middleware/build.gradle @@ -8,14 +8,12 @@ plugins { archivesBaseName = 'mvicore-plugin-middleware' dependencies { - def deps = rootProject.ext.deps - - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxkotlin') - implementation deps('com.google.code.gson:gson') + implementation libs.rxjava2 + implementation libs.rxkotlin + implementation libs.gson implementation project(':mvicore') implementation project(':mvicore-plugin:common') - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" + implementation libs.kotlin.stdlib } sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/mvicore/build.gradle b/mvicore/build.gradle index 3794a822..58c7f7dc 100644 --- a/mvicore/build.gradle +++ b/mvicore/build.gradle @@ -6,16 +6,14 @@ plugins { } dependencies { - def deps = rootProject.ext.deps - api project(":binder") - implementation deps('io.reactivex.rxjava2:rxjava') - implementation deps('io.reactivex.rxjava2:rxkotlin') - implementation deps("org.jetbrains.kotlin:kotlin-stdlib-jdk7") + implementation libs.rxjava2 + implementation libs.rxkotlin + implementation libs.kotlin.stdlib - testImplementation deps('junit:junit') - testImplementation deps('org.jetbrains.kotlin:kotlin-test-junit') - testImplementation deps('org.mockito.kotlin:mockito-kotlin') + testImplementation libs.junit + testImplementation libs.kotlin.test.junit + testImplementation libs.mockito.kotlin } sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/plugin/publish-plugin/build.gradle.kts b/plugin/publish-plugin/build.gradle.kts index b209d2b3..772ad3dd 100644 --- a/plugin/publish-plugin/build.gradle.kts +++ b/plugin/publish-plugin/build.gradle.kts @@ -1,34 +1,38 @@ +import org.gradle.accessors.dm.LibrariesForLibs + +val libs = the() + buildscript { - repositories { - google() - mavenCentral() - } + repositories { + google() + mavenCentral() + } } plugins { - `java-gradle-plugin` - `kotlin-dsl` + `java-gradle-plugin` + `kotlin-dsl` } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } dependencies { - implementation("com.android.tools.build:gradle:7.2.2") - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21") + implementation(libs.plugin.android) + implementation(libs.plugin.kotlin) } gradlePlugin { - plugins { - create("mvi-core-publish-android") { - id = "mvi-core-publish-android" - implementationClass = "AndroidMviCorePublishPlugin" - } - create("mvi-core-publish-java") { - id = "mvi-core-publish-java" - implementationClass = "JavaMviCorePublishPlugin" + plugins { + create("mvi-core-publish-android") { + id = "mvi-core-publish-android" + implementationClass = "AndroidMviCorePublishPlugin" + } + create("mvi-core-publish-java") { + id = "mvi-core-publish-java" + implementationClass = "JavaMviCorePublishPlugin" + } } - } } diff --git a/plugin/publish-plugin/settings.gradle.kts b/plugin/publish-plugin/settings.gradle.kts index f8d3e87f..b8332ec6 100644 --- a/plugin/publish-plugin/settings.gradle.kts +++ b/plugin/publish-plugin/settings.gradle.kts @@ -4,4 +4,9 @@ dependencyResolutionManagement { google() mavenCentral() } + versionCatalogs { + create("libs") { + from(files("../../gradle/libs.versions.toml")) + } + } } diff --git a/settings.gradle b/settings.gradle index 0485047b..88b9cbd2 100644 --- a/settings.gradle +++ b/settings.gradle @@ -15,6 +15,8 @@ dependencyResolutionManagement { } } +enableFeaturePreview 'VERSION_CATALOGS' + include ':binder' include ':mvicore' include ':mvicore-diff'