Skip to content

Commit

Permalink
Merge pull request #5 from MinhNguyen-nvm/add-changelog
Browse files Browse the repository at this point in the history
Update docs, add CHANGELOG.md and cleanup
  • Loading branch information
vanminh-grabtaxi authored Nov 29, 2024
2 parents 1471aa4 + b2ce320 commit 79be48d
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 28 deletions.
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0-alpha01] - 2024-11-29
Initial release of App Sizer as an open-source project.

### Added
- Gradle plugin for analyzing Android app download sizes
- Command-line tool for non-Gradle build systems
- Support for analyzing:
- Total app download size
- Detailed size breakdown
- Size contribution by teams
- Module-wise size contribution
- Size contribution by libraries
- List of large files
- Reports in multiple formats:
- InfluxDB database (1.x)
- Markdown tables
- JSON data
- Comprehensive documentation
- Usage guides for both Gradle plugin and CLI tool
- Docker setup for InfluxDB & Grafana
- Detailed configuration options
- Known limitations documentation

### Notes
- This is an alpha release for early feedback
- API and configuration options may change in future releases
- Testing with different Android project configurations is ongoing

[0.1.0-alpha01]: https://github.com/grab/app-sizer/releases/tag/0.1.0-alpha01
27 changes: 14 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,31 +33,32 @@ App Sizer provides two flexible integration methods:
*Note: The command-line option was the original implementation and remains supported for broader compatibility.*

### Gradle Plugin Integration
In root `build.gradle`:

Add the plugin to your project using the Gradle plugins DSL:

1. Add the plugin to your root `settings.gradle`:

```groovy
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.grab:app-sizer:SNAPSHOT"
}
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
}
}
```
In the app module 's `build.gradle`
2. Apply and configure the plugin in your app module's build.gradle:

```groovy
plugins {
id "com.grab.sizer" version "<version>"
id "com.grab.sizer" version "0.1.0-alpha01"
}
// AppSizer configuration
appSizer {
// DSL
// Configuration goes here
}
```

To run analysis, execute
3. To run analysis:

```
./gradlew app:appSizeAnalysis[Release|Debug] --no-configure-on-demand --no-configuration-cache
Expand Down
29 changes: 16 additions & 13 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,32 @@ App Sizer provides two flexible integration methods:
*Note: The command-line option was the original implementation and remains supported for broader compatibility.*

### Gradle Plugin Integration
In root `build.gradle`:

Add the plugin to your project using the Gradle plugins DSL:

1. Add the plugin to your root `settings.gradle`:

```groovy
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.grab:app-sizer:SNAPSHOT"
}
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
}
}
```
In the app module 's `build.gradle`
2. Apply and configure the plugin in your app module's build.gradle:

```groovy
apply plugin: "com.grab.app-sizer"
plugins {
id "com.grab.sizer" version "0.1.0-alpha01"
}
// AppSizer configuration
appSizer {
// DSL
// Configuration goes here
}
```

To run analysis, execute
3. To run analysis:

```
./gradlew app:appSizeAnalysis[Release|Debug] --no-configure-on-demand --no-configuration-cache
Expand Down
29 changes: 28 additions & 1 deletion docs/plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,33 @@ App Sizer provide a gradle plugin as the option to seamlessly integrates with yo

## Getting Started

There are two ways to integrate the App Sizer plugin into your project:

### Option 1: Plugins DSL (Recommended)

1. Add the plugin to your root `settings.gradle`:

```groovy
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
}
}
```

2. Apply and configure the plugin in your app module's build.gradle:
```groovy
plugins {
id "com.grab.sizer" version "0.1.0-alpha01"
}
appSizer {
// Configuration goes here
}
```

### Option 2: Legacy buildscript method
1. Add the plugin to your root `build.gradle`

```groovy
Expand All @@ -11,7 +38,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath "com.grab:app-sizer:SNAPSHOT"
classpath "com.grab.sizer:sizer-gradle-plugin:0.1.0-alpha01"
}
}
```
Expand Down
2 changes: 1 addition & 1 deletion gradle/publishing.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def configurePom = { MavenPublication publication ->
developer {
id = 'MinhNguyen-nvm'
name = "Minh Nguyen"
email = 'van.minh@grab.com'
email = 'minhnguyen.gtvt@gmail.com'
organization = 'Grab'
organizationUrl = 'https://github.com/grab'
}
Expand Down

0 comments on commit 79be48d

Please sign in to comment.