Mendable

222 stars
by Jayasurya Thippaneri

CLI tool and libraries to scan, parse and render Jetpack Compose compiler metrics as beautiful HTML and JSON reports.

View on GitHub

Documentation

Dowel banner

CLI tool and libraries to
scan, parse and render
Jetpack Compose compiler metrics
as beautiful HTML & JSON reports

Mendable at MavenCentral Download Mendable

License CI

AndroidWeekly KotlinWeekly jetc.dev

1. What is Mendable?

It is a set of libraries and a CLI tool to make working with Compose-compiler metrics easier. Read the
full documentation here
.

2. Do you need Mendable?

If you need to:

  1. Find Compose Compiler metrics by scanning a directory
  2. Parse metrics into usable Kotlin objects
  3. Generate glanceable and digestible HTML / JSON reports
  4. Be able to do all of this in a CLI as well?

then Mendable has you covered.

Mendable scans & parses Compose compiler generated metrics files and renders them as beautiful HTML/JSON
reports.Mendable focuses on problematic composable methods, highlighting issues causing parts and filtering out
non-problematic ones. It consolidates reports from multiple modules into a single, well-organized HTML page or a
JSON report, streamlining the workflow of finding/fixing unstable Composables.

The scan, parse & report parts of Mendable are published as artifacts at Maven Central. If you
are building any tooling/libraries arround Compose Compiler Metrics these capabilities of Mendable could give
you a significant headstart.

3. How to use Mendable?

Mendable can primarily be used in two different ways:

  1. As a CLI tool
  2. As a set of library dependencies in your Kotlin / Java projects

3.1 Download Mendable CLI tool

Download Mendable

3.2 Or, download Mendable Maven Artifacts

repositories {
    mavenCentral()
}

dependencies {
    implementation("com.jayasuryat.mendable:scanner:0.7.0")
    implementation("com.jayasuryat.mendable:parser:0.7.0")
    implementation("com.jayasuryat.mendable:mendable:0.7.0")
}

Your Compose-compiler metrics could look something like this

Mendable sample screenshot

Changes

Prior to v0.6.0, Mendable was only available as a CLI tool. Since v0.6.0 the underlying components have been
modularised and published to maven central. You can see the full list of
changes here.

Contributions

Contributions are super welcome!
See Contributing Guidelines.

Discussions

Have any questions or queries, or want to discuss anything? Feel free
and start a discussion.

License

 Copyright 2022 Jaya Surya Thotapalli

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
Dispatch Newsletter
Be the first to discover new Compose libraries
Curated Insights
Digest in 5 minutes or less
Android Analysis
Entertaining takes on happenings
Insider Tips
From top Android developers
Hidden Gems
You won't find elsewhere
"
"I enjoy getting Dispatch in my inbox. The content is light, fun, and still useful. I especially appreciate the small tips that are in each issue."
— Annyce Davis
ex-Vice President of Engineering @ Meetup | GDE for Android
Join thousands of Android devs who look forward to Dispatch every week