From 0d83724c91dabe6a885728b4ca1a01f7ef18165d Mon Sep 17 00:00:00 2001 From: kirich1409 Date: Thu, 30 Apr 2026 13:41:32 +0300 Subject: [PATCH] Wire featured-lint-rules into core AAR via lintPublish Without this, lint detectors (UncheckedFlagAccess, ExpiredFeatureFlag, InvalidFlagReference, HardcodedFlagValue) were published as a separate artifact but never activated automatically in consumer projects. - core/build.gradle.kts: add lintPublish(project(":featured-lint-rules")) with isTransitive=false so AGP sees exactly one JAR (kotlin-stdlib is provided by the lint host at runtime) - sample/android-app/build.gradle.kts: add compileOptions JVM 21 to match upstream modules and avoid inline-bytecode mismatch errors Verified: lint.jar embedded in core.aar; HardcodedFlagValue detector fires on consumer code via :sample:android-app:lintRelease. --- core/build.gradle.kts | 10 ++++++++++ sample/android-app/build.gradle.kts | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/core/build.gradle.kts b/core/build.gradle.kts index b97039f..8e79fcf 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -64,6 +64,16 @@ kotlin { } } +configurations.named("lintPublish") { + // kotlin-stdlib is provided by the lint host at runtime; exclude it so AGP + // sees exactly one JAR in lintPublish and does not fail with "Found more than one jar". + isTransitive = false +} + +dependencies { + lintPublish(project(":featured-lint-rules")) +} + // Zips the release XCFramework for distribution via Swift Package Manager. // Output: build/xcframeworks/FeaturedCore.xcframework.zip val zipXCFramework by tasks.registering(Zip::class) { diff --git a/sample/android-app/build.gradle.kts b/sample/android-app/build.gradle.kts index 7ec60e0..3b79be2 100644 --- a/sample/android-app/build.gradle.kts +++ b/sample/android-app/build.gradle.kts @@ -24,6 +24,11 @@ android { versionName = "1.0.0" } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + } + buildFeatures { compose = true }