2026-04-12
Version 0.4.2 adds support for getting the Kotlin version for Gradle 5 and improves KDoc. Many thanks @sschuberth for the feedback and contributions in this release.
- [NEW] Support getting the Kotlin version for Gradle 5 (#93)
- [UPDATE] Update nmcp, tapmoc, and librarian versions used to build tapmoc (no runtime impact) (#85, #86, #87)
- [INFRA] Improve the KDoc of
tapmoc.kotlin()(#94) - [INFRA] Simplify parsing the Gradle major version (#91)
2026-03-30
Couple of bugfixes:
- [FIX] Fix checking dependencies on Android projects (#83)
- Android projects expose several variants, and we need to set the variant and artifact type attributes to avoid disambiguation errors when resolving the runtime/api dependencies.
- [FIX] Fix the kotlin-stdlib exposed by
tapmoc-gradle-plugin(faf78a25, a0489f6b, ...)- 0.4.0 added new compilations that pulled
kotlin-stdlib:2.3.0automatically. 0.4.1 now explicitely add the appropriate version ofkotlin-stdlibto all compilations.
- 0.4.0 added new compilations that pulled
2025-12-29
New gradle(String) helper. New, more granular, way to enable/disable the dependencies checks. As well as a couple of important fixes for Android.
TapmocExtension.gradle(String) makes it easy to configure compatibility for your Gradle plugins:
tapmoc {
/**
* Sets Java and Kotlin flags according to
* https://docs.gradle.org/current/userguide/compatibility.html
*
* This is equivalent to calling `java(8)` and `kotlin("1.8.0")`
*/
gradle("8.14")
}kotlin-stdlib can be safely upgraded in most cases (Gradle plugins is the exception). Calling checkDependencies() does not check for mismatched kotlin-stdlib versions anymore.
You may now enable/disable check individually. checkDependencies() is still present and calls both checkJavaClassFiles()and checkKotlinMetadata().
- [NEW] Add
TapmocExtension.gradle()for configuring Gradle plugins (#35) - [NEW] Checking for
kotlin-stdlibversions in dependencies is now a separate check (#74) - [NEW] Fail if the requested Kotlin version is higher than the KGP version (#72)
- [UPDATE] Update Gratatouille (#75)
- [FIX] Fix getting the java-api and java-runtime for Android (#74)
- [FIX] Fix downgrading the
kotlin-stdlibversion for Android (#74)
2025-12-16
- [NEW] Ignore class files in
org/gradle/internal/impldep/META-INF/versions/(#68) - [FIX] Fix parsing the java version for Java < 5 (#68)
- [FIX] Fix downgrading the JVM kotlin-stdlib for KMP projects (#67, #69)
2025-12-09
- [NEW] Add a specific error message to warn about
java-gradle-pluginaddinggradleApi()in the wrong configuration (#65) - [FIX] Support for
com.android.testandcom.android.dynamic-featureplugins (#62, #63) - [BREAKING] Remove
com.gradleup.compat.patrouillelegacy plugin. It was only provided as a helper for the rename (#64)
Many thanks @simonlebras for catching the com.android.test regression 🙏
2025-12-08
- [NEW] Add a specific error message to warn about
java-gradle-pluginaddinggradleApi()in the wrong configuration (#65) - [FIX] Support for
com.android.testandcom.android.dynamic-featureplugins (#62, #63) - [BREAKING] Remove
com.gradleup.compat.patrouillelegacy plugin. It was only provided as a helper for the rename (#64)
2025-11-27
tapmoc is backwards compat! Many thanks @JakeWharton for the nice name 💙
You'll need to update your plugin id and extension block:
plugins {
// Replace
id("com.gradleup.compat.patrouille").version("0.1.0")
// With
id("com.gradleup.tapmoc").version("0.2.0")
}
// replace
compatPatrouille {
java(17)
kotlin("2.0.0")
}
// with
tapmoc {
java(17)
kotlin("2.0.0")
}TapmocExtension::kotlin()may now be called even if KGP is not present in the build classpath (#42). This makes it easier to use tapmoc in a central convention plugin. It also allows checking runtime dependencies for incompatible usages ofkotlin-stdlibfor Java projects that may rely on Kotlin dependencies.- Use
implementationinstead ofapifor thekotlin-stdlibconfiguration of non-JVM tests, fixes a warning when using KGP 2.3.0. (#41) - Make the plugin uses lazier Gradle APIs (#33, #34), many thanks @simonlebras.
2025-10-10
Add support for com.android.kotlin.multiplatform.library in #31
2025-10-06
Do not configure JavaCompile tasks eagerly (#27)
2025-10-06
Do not configure JavaCompile tasks eagerly (#27)
2025-08-20
A few bugfixes, upgrades and ergonomics improvements. Many thanks @OliverO2 and @Mr3zee for their feedback in this release.
- [NEW] Add compatPatrouilleCheckRuntimeDependencies as a lifecycle task #23
- [NEW] For JS and Wasm, add the KGP kotlin-stdlib instead of relying on
coreLibrariesVersion#24 - [FIX] Make checkApiDependencies lazier #20
- [FIX] Fix KMP with multiple targets #21
- [UPGRADE] Use latest kotlin-metadata lib #22
2025-08-11
Version 0.0.1 adds two new tasks to check the API and Runtime dependencies and fixes declaring the Kotlin compatibility of common source sets.
- [NEW] Introduce
checkApiDependencies()by @martinbonnin in #2 - [NEW] Introduce
checkRuntimeDependencies()by @martinbonnin in #16 - [FIX] Fix detecting apiVersion in
commonMainandcommonTestsource sets by @martinbonnin in #7 - [UPDATE] update KGP, simplify GitHub actions files by @martinbonnin in #9
- [UPDATE] Bump gradle to 9 by @martinbonnin in #15
- [MISC] Add more integration tests by @martinbonnin in #10
2025-04-08
Initial release 🎉