diff --git a/app/build.gradle b/app/build.gradle index abf307a..fa9f6bf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,19 +1,19 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { - id 'com.android.application' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) } android { - compileSdk 34 + compileSdk libs.versions.compileSdk.get().toInteger() defaultConfig { applicationId "com.telefonica.nestedscrollwebviewdemo" - minSdk 21 - targetSdk 34 - versionCode 1 - versionName "1.0" + minSdk libs.versions.minSdk.get().toInteger() + targetSdk libs.versions.targetSdk.get().toInteger() + versionCode libs.versions.versionCode.get().toInteger() + versionName libs.versions.versionName.get() } buildTypes { @@ -39,9 +39,9 @@ android { dependencies { implementation project(':nestedscrollwebview') - implementation 'androidx.core:core-ktx:1.8.0' - implementation 'androidx.appcompat:appcompat:1.4.2' - implementation 'com.google.android.material:material:1.6.1' - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' + implementation(libs.androidx.core.ktx) + implementation(libs.material) + implementation(libs.appcompat) + implementation(libs.constraintlayout) + implementation(libs.swiperefreshlayout) } diff --git a/build.gradle b/build.gradle index a95e4fa..659de66 100644 --- a/build.gradle +++ b/build.gradle @@ -3,18 +3,18 @@ import io.gitlab.arturbosch.detekt.Detekt // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { dependencies { - classpath 'com.android.tools.build:gradle:8.11.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0" - classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.30.0" + classpath libs.agp.buildscript + classpath libs.kotlin.gradle + classpath libs.nexus.staging } } plugins { - id 'com.android.application' version '8.11.2' apply false - id 'com.android.library' version '8.11.2' apply false - id 'org.jetbrains.kotlin.android' version '2.1.20' apply false - id 'io.github.gradle-nexus.publish-plugin' version '2.0.0' apply false - id 'io.gitlab.arturbosch.detekt' version '1.23.8' + alias(libs.plugins.android.application) apply false + alias(libs.plugins.android.library) apply false + alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.nexus.publish) apply false + alias(libs.plugins.detekt) } tasks.withType(Detekt).configureEach { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..f2c81d5 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,35 @@ +[versions] +compileSdk = "34" +minSdk = "21" +targetSdk = "34" +versionCode = "1" +versionName = "1.0" +agp = "8.13.1" +kotlin = "1.8.0" +kotlinAndroid = "2.1.20" +nexusStaging = "0.30.0" +nexusPublish = "2.0.0" +detekt = "1.23.8" +material = "1.6.1" +appcompat = "1.4.2" +constraintlayout = "2.1.4" +swiperefresh = "1.1.0" +junit4 = "4.13.2" + +[libraries] +agp-buildscript = { module = "com.android.tools.build:gradle", version.ref = "agp" } +kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +nexus-staging = { module = "io.codearte.gradle.nexus:gradle-nexus-staging-plugin", version.ref = "nexusStaging" } +androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "kotlin" } +material = { module = "com.google.android.material:material", version.ref = "material" } +appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } +constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" } +swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefresh" } +junit4 = { module = "junit:junit", version.ref = "junit4" } + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinAndroid" } +nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "nexusPublish" } +detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } diff --git a/nestedscrollwebview/build.gradle b/nestedscrollwebview/build.gradle index da64167..49f0a9d 100644 --- a/nestedscrollwebview/build.gradle +++ b/nestedscrollwebview/build.gradle @@ -1,17 +1,16 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { namespace 'com.telefonica.nestedscrollwebview' - compileSdk 34 + compileSdk libs.versions.compileSdk.get().toInteger() defaultConfig { - minSdk 21 - targetSdk 34 - + minSdk libs.versions.minSdk.get().toInteger() + targetSdk libs.versions.targetSdk.get().toInteger() consumerProguardFiles "consumer-rules.pro" } @@ -31,10 +30,10 @@ android { } dependencies { - implementation 'androidx.core:core-ktx:1.8.0' - implementation 'com.google.android.material:material:1.6.1' + implementation(libs.androidx.core.ktx) + implementation(libs.material) - testImplementation 'junit:junit:4.13.2' + testImplementation(libs.junit4) } apply from: "${rootProject.projectDir}/mavencentral.gradle"