Warning
Pre-1.0 software: Lampa is currently in the early stages of development.
🚧 🚧 🚧
Expect frequent breaking changes (especially in CLI arguments), bugs, suboptimal code, and limited functionality.
But if you're feeling adventurous - feel free to try it, your feedback is highly appreciated! Please report any issues you encounter, and feel free to share your ideas in Discussions tab — though I can't guarantee immediate prioritization.
Lampa is a small tool that is useful for comparing two releases: it generates overview reports where you can detect changes to third-party dependencies that are added to the build.
Download latest version from Releases page.
or
use mise:
mise use -g ubi:dector/lampaor
for Linux/MacOS use Homebrew:
brew tap dector/lampa
brew install lampaSince we are using Gradle to build Android projects - single runtime dependency is Java.
All commands are executed inside the root folder of Android project (unless you explicitly specify path to project).
Remember that you can always use lampa help if you forget something.
You will need to use this report for comparative HTML report.
lampa collectIf program finished successfully - you can find report file
report.lampa.json in the project folder.
Be aware that by-default program is not rewriting report if it exists.
But you can opt-in for such behavior explicitly by adding --overwrite flag:
lampa collect --overwriteOther useful flags are:
--project <project-dir>- specify path to project root explicitly.--to-dir <out-dir>- change the location of the report(s).--variant <gradle-variant>- specify custom build variant that you use in Gradle. Might be useful if you have flavors etc.--format html/--format json,html- if you need only HTML report or both.--file-name <report-file-name>- if you need to customize generated report filename (without extension).
lampa collect --format htmlFirst, you need to generate JSON report for release 1 (e.g. 1.json).
Then, you need to generate JSON report for release 2 (e.g. 2.json).
After, you need to generate comparative report with lampa compare.
For example:
git checkout v0.28.0
lampa collect --to-dir build --file-name v0.28.0
git checkout v0.28.1
lampa collect --to-dir build --file-name v0.28.1
lampa compare build/v0.28.0.json build/v0.28.1.json build/diff.htmlGitHub Action:
dector/run-lampa@v1
You can use this GitHub Action to integrate Lampa into your CI/CD pipeline.
See detailed instructions on GitHub Marketplace.
Production-ready example workflow
I will add this section latest. For now feel free to contact me directly or open new discussion.
See CHANGELOG.md for a detailed history of changes.
Project is distributed under MIT License.
Protobuf schema from AOSP is covered by Apache2 license.

