Skip to content

Compatibilities & Limitations

Tony Robalik edited this page Jul 22, 2023 · 10 revisions

Compatibilities

  1. It works for JVM projects (Java, Kotlin, Groovy, Scala), and Android projects written in Kotlin or Java.

  2. Android Gradle Plugin: this plugin is built with AGP 7.4.2. It is tested to work with several other AGP versions (com.android.library and com.android.application projects only). See SUPPORTED_AGP_VERSIONS.

  3. Kotlin-JVM and Kotlin-Android plugins: tested with Kotlin 1.9.0.

  4. Java plugins: tested with the java-library and java + application plugins bundled with Gradle.

  5. Groovy: tested with java-library + groovy and application + groovy plugins bundled with Gradle.

  6. Scala: tested with java-library + scala and application + scala plugins bundled with Gradle.

  7. Gradle: this plugin is built with Gradle 8.2.1. It is tested against several versions. See SUPPORTED_GRADLE_VERSIONS. The minimum required version of Gradle is 7.2.

Limitations

False positives
  • Non-namespaced Android resources. Given a multi-project build with two subprojects, A and B, and A depends on B (A → B), the plugin will emit a false positive indicating B is unused in A (inaccurately), when A only uses Android R references from B and those references are not namespaced (you do not have android.namespacedRClass=true or android.nonTransitiveRClass=true in your gradle.properties file). This limitation may eventually be lifted.