dependency-analysis-gradle-plugin
binary-compatibility-validator
dependency-analysis-gradle-plugin | binary-compatibility-validator | |
---|---|---|
9 | 8 | |
1,617 | 723 | |
- | 1.8% | |
9.6 | 7.6 | |
7 days ago | 7 days ago | |
Kotlin | Kotlin | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dependency-analysis-gradle-plugin
- Recommended dependency analyzer plugin
-
References for Library & SDK Design?
And perhaps https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin
-
android devs in multi-modular projects be like
I'd love to hear more about the complexity of configuring multi-module builds. Dependency management is an obvious point here and there are plugin that can help here (like https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin for instance), but I'd be happy to hear more pain points.
-
Gradle all the way down: Testing your Gradle plugin with Gradle TestKit
Added a new test suite, named "functionalTest", and configured it to use the Spock test framework, along with three dependencies: Truth, TestKit-Truth, and the project itself. This reveals the interesting point that, by default, new test suites don't have the project under test on the classpath, which enables true black box testing if you're into that kind of thing.
-
Learning in public: Lessons from open source
A little more than two years ago, in October 2019, I began work on my first significant open source project, the Dependency Analysis Gradle Plugin. I had just left a job where I had done relatively little coding, was taking a month off, and wanted to get back into a building mode and learn some new things. I decided to explore the domain of unused-dependency detection. The nearest competitor I was aware of was the Gradle Lint Plugin from the Netflix Nebula collection. However, as that plugin has never supported Android projects, that meant I had an exploitable niche—if only I could exploit it.
-
Herding Elephants – Wrangling a 3,500-module Gradle project
Tony actually wrote a plugin that does just this! Check it out!
-
Reducing my Gradle plugin's impact on configuration time: A journey
(The commit is available here.)
binary-compatibility-validator
-
Kotlin/JS API support in the Kotlin Binary Compatibility Validator
It’s an add-on, that brings Kotlin/JS API support to the KotlinX Binary Compatibility Validator (BCV) based on the generated TS definitions. Closes feature request Kotlin/binary-compatibility-validator#42
- References for Library & SDK Design?
-
Visualize all Kotlin Interface's in a Repo
https://github.com/Kotlin/binary-compatibility-validator is used to verify the public API hasn't changed. I don't know if it works with Java.
-
How does Kotlin backward compatibility work?
On the binary compatibility, I've found this post on Kotlin binary compatibility to be very very helpful. Also, for library authors, Kotlin has a binary compatibility validator that can be plugged into the build to ensure no accidental binary incompatibility occurs.
-
Kotlin 1.6.0 generates public members in bytecode when marked internal
This was caught by my CI since I verify binary compatibility using binary-compatibility-validator gradle plugin.
-
All About Opt-In Annotations
A common tool you can use for Kotlin projects is the Binary compatibility validator plugin. This plugin calls annotations that mark API that shouldn't be considered public "non-public markers".
-
What are the architecture guidelines when developing an SDK?
The Kotlin team had added a bunch of tools to help SDK developers including this binary compatibility validator. This helps ensure you aren't adding errant new methods
-
Data classes in Kotlin: the real impact of using it
I have another article about how JetBrains observes these binary incompatible changes by using binary compatibility validator and how library developers can use it in their own projects (it was written before standalone plugin release).
What are some alternatives?
android-buddy - Transform Android project classes with Byte Buddy at compile time
dokka - API documentation engine for Kotlin
moko-resources - Resources access for mobile (android & ios) Kotlin Multiplatform development
kotlinx.coroutines - Library support for Kotlin coroutines
secrets-gradle-plugin - A Gradle plugin for providing your secrets to your Android project.
kotlin - The Kotlin Programming Language.
gradle-lint-plugin - A pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts.
zally - A minimalistic, simple-to-use API linter
scalroid - A scala-kotlin-java joint compilation plugin built on Gradle, for native Android.
android-stem - This is a Gradle plugin for Android applications that concatenates XML strings during compilation
gradle-maven-publish-plugin - A Gradle plugin that publishes your Android and Kotlin libraries, including sources and javadoc, to Maven Central or any other Nexus instance.
android-collar - Gradle plugin which collects all analytics screen names, events and user properties for Android projects.