๐ | โ๏ธ |
---|---|
![]() |
![]() |
Task | Description |
---|---|
gradlew assembleDebug |
Build debug APK |
gradlew assembleRelease |
Build release APK (optimized & minified) |
gradlew apiCheck |
Checks project public API (BCV) |
gradlew apiDump |
Dumps project public API (BCV) |
gradlew dependencyGuard |
Checks project dependencies |
gradlew dependencyGuardBaseline |
Dumps project dependencies |
gradlew globalCiBadging |
CI badging checks |
gradlew globalCiLint |
CI Lint checks (html/sarif/txt/xml) |
gradlew globalCiUnitTest |
CI unit tests (html/xml) |
gradlew generateBaselineProfile |
Generates Baseline & Startup profiles |
gradlew connectedBenchmarkAndroidTest |
Runs benchmark tests |
gradlew assembleRelease -Pplayground.compose.compilerMetrics |
Compose compiler metrics |
gradlew assembleRelease -Pplayground.compose.compilerReports |
Compose compiler reports |
gradlew --write-verification-metadata pgp,sha256 --export-keys |
Generates verification metadata & keyring |
๐ฆ Archive JUnit reports
๐ฆ Archive Lint reports
๐ฎ Check git-lfs files
๐ Setup Gradle
๐ Setup gradle.properties
โ๏ธ Setup Java
-
AssertionsDetector
- Prefer using
kotlin.test
assertions instead of JUnit's in Kotlin unit tests. - Prefer using
kotlin.test
assertions instead ofassert
in unit tests. Its execution requires a specific JVM option to be enabled on the JVM.
- Prefer using
-
GradleVersionCatalogDetector
- Dependencies should be sorted alphabetically to maintain consistency and readability.
- Dependencies should follow the configured regex.
- Extracting a version in the
[versions]
section is useful only if it is used more than once or referenced elsewhere. - Dependency declaration should use the simplest form possible, omitting unnecessary inline tables.
-
NamedParametersDetector
- Not specifying parameters name using the same type can lead to unexpected results when refactoring methods signature.
Enforcing explicit named parameters also helps detecting mistakes during code review.
Quick fix:โฅโ
(macOS) orAlt+Enter
(Windows/Linux) โAdd names to call arguments
.
- Not specifying parameters name using the same type can lead to unexpected results when refactoring methods signature.
-
ReplaceMethodCallDetector
- The method
foo()
should not be called!
- The method
-
TestMethodBannedWordsDetector
- Test methods name should not contains banned words.
The default behavior checks for
failure,failed
words to reduce collisions when searching through logs.
- Test methods name should not contains banned words.
The default behavior checks for
-
TypographyDetector
- Escaped character are impossible to decipher for a human. Using unescaped character is generally self explanatory.
- Typography can be replaced with a better alternative.
- Curly quotes must be replaced with straight quote as Talkback does not properly handle them.
graph LR
:app[app]:::android
subgraph :feature
:feature:home[home]:::android
end
subgraph :domain
:domain:dice[dice]:::jvm
:domain:settings[settings]:::jvm
end
subgraph :data
:data:dice[dice]:::jvm
:data:settings[settings]:::jvm
end
subgraph :core
:core:android[android]:::android
:core:datastore[datastore]:::jvm
:core:di[di]:::jvm
:core:ui[ui]:::android
:core:utils[utils]:::jvm
end
:app -.-> :core:android
:app -.-> :core:di
:app -.-> :core:ui
:app -.-> :data:dice
:app -.-> :data:settings
:app -.-> :feature:home
:core:android -.-> :core:di
:core:android -.-> :core:utils
:core:datastore -.-> :core:di
:core:utils -.-> :core:di
:data:dice -.-> :core:datastore
:data:dice -.->|test| :core:datastore
:data:dice -.-> :core:di
:data:dice -.->|test| :core:utils
:data:dice -.-> :domain:dice
:data:settings -.-> :core:datastore
:data:settings -.->|test| :core:datastore
:data:settings -.-> :core:di
:data:settings -.->|test| :core:utils
:data:settings -.-> :domain:settings
:feature:home -.-> :core:android
:feature:home -.-> :core:di
:feature:home -.-> :core:ui
:feature:home -.-> :domain:dice
:feature:home -.-> :domain:settings
classDef android fill:#3ddc84,stroke:#fff,stroke-width:2px,color:#fff;
classDef jvm fill:#7F52FF,stroke:#fff,stroke-width:2px,color:#fff;