diff --git a/Library/build.gradle.kts b/Library/build.gradle.kts index 808ae3b..819952a 100644 --- a/Library/build.gradle.kts +++ b/Library/build.gradle.kts @@ -1,14 +1,11 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.gradle.testing.jacoco.tasks.JacocoReport plugins { alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.android.coveralls) alias(libs.plugins.android.junit5) - id("jacoco") + `maven-publish` } android { @@ -18,7 +15,7 @@ android { defaultConfig { minSdk = 21 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - testInstrumentationRunnerArguments.put("useTestStorageService", "true") + testInstrumentationRunnerArguments["useTestStorageService"] = "true" consumerProguardFiles("consumer-rules.pro") } @@ -56,11 +53,6 @@ android { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlin { - compilerOptions { - jvmTarget = JvmTarget.JVM_17 - } - } testOptions { unitTests { @@ -69,9 +61,33 @@ android { } } } +kotlin { + compilerOptions { + jvmTarget = JvmTarget.JVM_17 + } +} +publishing { + publications { + create("release") { + groupId = "com.github.LeandroLCD" + artifactId = "query" + version = project.version.toString() + } + } +} -jacoco { - toolVersion = "0.8.10" +afterEvaluate { + val releaseComponent = components.findByName("release") + if (releaseComponent != null) { + publishing { + publications { + val pub = getByName("release") as MavenPublication + pub.from(releaseComponent) + } + } + } else { + logger.warn("Android 'release' component not found; maven publication won't include component artifacts.") + } } tasks.withType { useJUnitPlatform() @@ -93,60 +109,4 @@ dependencies { testImplementation(kotlin("test")) } -/** - * Genera reporte JaCoCo a partir de las pruebas instrumentadas (androidTest) - */ - -tasks.register("jacocoAndroidTestReport") { - dependsOn("connectedDebugAndroidTest") - - group = "Reporting" - description = "Generates JaCoCo coverage report for Android Instrumented Tests." - - val buildDir = layout.buildDirectory - - reports { - xml.required.set(true) - html.required.set(true) - html.outputLocation.set(file("$buildDir/reports/jacoco/html")) - xml.outputLocation.set(file("$buildDir/reports/jacoco/jacocoAndroidTestReport.xml")) - } - - // Directorios de código fuente - sourceDirectories.setFrom( - files( - "src/main/java", - "src/main/kotlin" - ) - ) - - // Clases compiladas del build de debug - classDirectories.setFrom( - files( - fileTree("${buildDir.get()}/intermediates/javac/debug") { - exclude("**/R.class", "**/R\$*.class", "**/BuildConfig.*", "**/Manifest*.*") - }, - fileTree("${buildDir.get()}/tmp/kotlin-classes/debug") { - exclude("**/R.class", "**/R\$*.class", "**/BuildConfig.*", "**/Manifest*.*") - } - ) - ) - - // Archivo de ejecución JaCoCo generado por las pruebas instrumentadas - executionData.setFrom( - fileTree(buildDir) { - include("**/outputs/code_coverage/*AndroidTest/connected_coverage*.ec*") - } - ) - - doFirst { - executionData.setFrom(files(executionData.filter { it.exists() })) - } -} -/** - * Enlaza el reporte JaCoCo con Coveralls - */ -tasks.named("coverallsJacoco") { - dependsOn("jacocoAndroidTestReport") -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 9b8f627..da81a15 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,7 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) } @@ -29,16 +30,19 @@ android { } } compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - kotlinOptions { - jvmTarget = "11" + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } + buildFeatures { compose = true } } +kotlin { + compilerOptions { + jvmTarget = JvmTarget.JVM_17 + } +} dependencies { diff --git a/build.gradle.kts b/build.gradle.kts index b92bb8e..e9caa79 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,6 @@ plugins { alias(libs.plugins.android.application) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.android.library) apply false - alias(libs.plugins.android.coveralls) apply false alias(libs.plugins.android.junit5) apply false } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7f3048c..14b38bb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,20 +1,19 @@ [versions] -agp = "8.13.2" -junitJupiterApi = "6.0.1" -junitJupiterEngine = "6.0.1" -junitJupiterParams = "6.0.1" -kotlin = "2.2.21" +agp = "9.0.1" +junitJupiterApi = "6.0.2" +junitJupiterEngine = "6.0.2" +junitJupiterParams = "6.0.2" +kotlin = "2.3.10" coreKtx = "1.17.0" junit = "4.13.2" junitVersion = "1.3.0" -mannodermaus = "1.14.0.0" +mannodermaus = "2.0.1" espressoCore = "3.7.0" lifecycleRuntimeKtx = "2.10.0" -activityCompose = "1.12.1" -composeBom = "2025.12.00" +activityCompose = "1.12.4" +composeBom = "2026.02.00" appcompat = "1.7.1" dateTime = "1.3.0" -coveralls = "1.2.20" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -40,10 +39,8 @@ dateTime = { module = "com.github.LeandroLCD:DateTime", version.ref = "dateTime" [plugins] android-application = { id = "com.android.application", version.ref = "agp" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } android-library = { id = "com.android.library", version.ref = "agp" } -android-coveralls = { id = "com.github.nbaztec.coveralls-jacoco", version.ref = "coveralls" } android-junit5 = { id = "de.mannodermaus.android-junit5", version.ref = "mannodermaus" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f5bcbc7..82f3a2a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Oct 04 15:26:03 CLST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists