Primero personalizamos un archivo llamado dependencies.gradle en el proyecto y definimos métodos de dependencia públicos en él.
static def setAllDependencies(DependencyHandler dependencyHandler) {
dependencyHandler.implementation 'androidx.core:core-ktx:1.7.0'
dependencyHandler.implementation 'androidx.appcompat:appcompat:1.3.0'
dependencyHandler.implementation 'com.google.android.material:material:1.4.0'
dependencyHandler. implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
dependencyHandler. testImplementation 'junit:junit:4.13.2'
dependencyHandler.androidTestImplementation 'androidx.test.ext:junit:1.1.3'
dependencyHandler.androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
dependencyHandler. implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.2.0")
dependencyHandler. implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0")
}
ext.allModuleDependencies = this.&allModuleDependencies
2. Luego agregue apply from: "dependencies.gradle" en build.gradle del proyecto
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: "dependencies.gradle"
buildscript {
repositories {
mavenCentral()
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30"
}
}
allprojects {
repositories {
mavenCentral()
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
3. Agregue el archivo gradle debajo del módulo o la aplicación
dependencies {
rootProject.setAllDependencies(dependencies)
//implementation project(path: ':bgfbase')
}
Puede agregar el código de las dependencias públicas en un método público y dejar que las dependencias {} en el build.gradle de cada módulo se llamen directamente