Skip to content

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

License

Notifications You must be signed in to change notification settings

jayasuryat/mendable

Repository files navigation

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.6.1")
    implementation("com.jayasuryat.mendable:parser:0.6.1")
    implementation("com.jayasuryat.mendable:mendable:0.6.1")
}

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.