|
@@ -1,11 +1,12 @@
|
|
|
buildscript {
|
|
|
- ext.kotlin_version = '1.7.10'
|
|
|
+ ext.kotlin_version = '1.8.22'
|
|
|
repositories {
|
|
|
google()
|
|
|
mavenCentral()
|
|
|
}
|
|
|
|
|
|
dependencies {
|
|
|
+ classpath 'com.android.tools.build:gradle:8.1.0'
|
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
|
}
|
|
|
}
|
|
@@ -20,7 +21,96 @@ allprojects {
|
|
|
rootProject.buildDir = '../build'
|
|
|
subprojects {
|
|
|
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
|
|
+
|
|
|
+ // Ajuste de dependencias
|
|
|
+ project.configurations.all {
|
|
|
+ resolutionStrategy.eachDependency { details ->
|
|
|
+ if (details.requested.group == 'com.android.support' && !details.requested.name.contains('multidex')) {
|
|
|
+ details.useVersion "27.1.1"
|
|
|
+ }
|
|
|
+ if (details.requested.group == "org.jetbrains.kotlin") {
|
|
|
+ details.useVersion "1.8.22"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Ajuste del namespace y eliminación del atributo 'package' en manifests
|
|
|
+ project.plugins.withId("com.android.library") {
|
|
|
+ project.android {
|
|
|
+ if (namespace == null || namespace.isEmpty()) {
|
|
|
+ namespace = "${project.group}.${project.name}".replace('-', '_')
|
|
|
+ }
|
|
|
+
|
|
|
+ project.tasks.configureEach { task ->
|
|
|
+ if (task.name.contains("processDebugManifest") || task.name.contains("processReleaseManifest")) {
|
|
|
+ task.doFirst {
|
|
|
+ File manifestFile = file("${projectDir}/src/main/AndroidManifest.xml")
|
|
|
+ if (manifestFile.exists()) {
|
|
|
+ String manifestContent = manifestFile.text
|
|
|
+ if (manifestContent.contains('package=')) {
|
|
|
+ manifestContent = manifestContent.replaceAll(/package="[^"]*"/, "")
|
|
|
+ manifestFile.write(manifestContent)
|
|
|
+ println "Removed 'package' attribute from ${manifestFile}"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Fuerza Java 17 en proyectos Android
|
|
|
+ project.plugins.withId("com.android.application") {
|
|
|
+ project.android {
|
|
|
+ compileOptions {
|
|
|
+ sourceCompatibility JavaVersion.VERSION_17
|
|
|
+ targetCompatibility JavaVersion.VERSION_17
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ project.plugins.withId("com.android.library") {
|
|
|
+ project.android {
|
|
|
+ compileOptions {
|
|
|
+ sourceCompatibility JavaVersion.VERSION_17
|
|
|
+ targetCompatibility JavaVersion.VERSION_17
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Fuerza Kotlin JVM target a 17
|
|
|
+ project.plugins.withId("org.jetbrains.kotlin.jvm") {
|
|
|
+ project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
|
|
|
+ kotlinOptions {
|
|
|
+ jvmTarget = "17"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ project.plugins.withId("org.jetbrains.kotlin.android") {
|
|
|
+ project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
|
|
|
+ kotlinOptions {
|
|
|
+ jvmTarget = "17"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Fuerza Java para proyectos con plugin 'java'
|
|
|
+ project.plugins.withId("java") {
|
|
|
+ java {
|
|
|
+ toolchain {
|
|
|
+ languageVersion = JavaLanguageVersion.of(17)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Fuerza nivel de compatibilidad en tareas Java
|
|
|
+ project.tasks.withType(JavaCompile).configureEach {
|
|
|
+ sourceCompatibility = JavaVersion.VERSION_17
|
|
|
+ targetCompatibility = JavaVersion.VERSION_17
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
subprojects {
|
|
|
project.evaluationDependsOn(':app')
|
|
|
}
|