Files
KeyPass/build.gradle.kts
Yogesh Choudhary Paliyal ab66306c1a Add Baseline Profile Module (#928)
* feat: add baseline profile

* feat: minor changes

* Update generate-baseline-profile.yml

* Update generate-baseline-profile.yml

* Cleanup and generate baseline profile

* feat(build): Add workflow to generate baseline profile

* Install GMD image for baseline profile generation
* Accept Android licenses
* Generate baseline profile for free release variant
* Upload generated baseline profiles as artifact

* Fix gmd source

* feat: Disable 64-bit requirement for Pixel 6 API 34

The 64-bit requirement has been disabled for the "pixel6Api34" managed virtual device.

* feat: Configure and run baseline profile generation

*   Cleared the default managed devices in `baselineprofile/build.gradle.kts` and explicitly added "pixel6Api34".
* Configured the GitHub Actions workflow `generate-baseline-profile.yml` to setup the managed device pixel6Api34.
* Configured the workflow to build all build type and flavor permutations.
* Added the option to show kernel logging and use "swiftshader_indirect" for GPU in the tests.

* Refactor: Update baseline profile setup task

*   Changed the Gradle task from `:benchmarks:pixel6Api34Setup` to `:baselineprofile:pixel6Api34Setup` in the GitHub Actions workflow for setting up the baseline profile generation.

* CI: Comment out GMD image installation in baseline profile generation workflow

The GMD image installation step in the `generate-baseline-profile.yml` workflow has been commented out.

* feat: Add Baseline Profile generation

*   The Baseline Profile generation is added in the project
*   Update baselineprofile module to use connected devices for test execution.
*   Create a new shell script `generateBaselineProfile.sh` to install app and baseline profile and pull file to `baseline-prof.txt`
*   Modify `generate-baseline-profile.yml` github workflow to generate profile on device using `reactivecircus/android-emulator-runner` action
*   Fix the package name to `com.yogeshpaliyal.keypass` in `BaselineProfileGenerator.kt` to pull the data.

* CI: Update Baseline Profile device to Nexus 6

* Changed the device profile used for Baseline Profile generation from Pixel 6 to Nexus 6 in the GitHub Actions workflow.
2025-03-31 17:16:20 +05:30

56 lines
2.0 KiB
Kotlin

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath ("com.android.tools.build:gradle:8.9.0")
classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}")
classpath ("com.google.gms:google-services:4.4.2")
classpath ("com.google.dagger:hilt-android-gradle-plugin:${Versions.hilt}")
classpath ("com.spotify.ruler:ruler-gradle-plugin:2.0.0-beta-3")
classpath ("com.gradle:gradle-enterprise-gradle-plugin:3.13.2")
classpath("org.jetbrains.kotlin:compose-compiler-gradle-plugin:${Versions.kotlin}")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle.kts files
}
}
plugins {
kotlin("multiplatform") version("2.0.21") apply false
kotlin("android") version("2.0.21") apply false
id("com.android.application") version("7.4.2") apply false
id("com.android.library") version("7.4.2") apply false
id("org.jetbrains.kotlin.kapt") version(Versions.kotlin)
id("com.google.dagger.hilt.android") version ("2.56.1") apply false
id("com.gradle.enterprise") version("3.19.2") apply false
id("org.jetbrains.kotlin.plugin.serialization") version (Versions.kotlin)
id("com.android.test") version "8.5.1" apply false
id("androidx.baselineprofile") version "1.2.3" apply false
}
subprojects {
repositories {
google()
mavenCentral()
maven("https://jitpack.io")
}
}
//tasks.register("clean", Delete::class) {
// delete(rootProject.buildDir)
//}
// pre build gradle hook for git init on evey gradle build to reduce developer friction.
//val installGitHook by tasks.register<Exec>("installGitHook") {
// workingDir = rootProject.rootDir
// commandLine = listOf("sh", "./githooks/git-init.sh")
//}
//tasks.getByPath("app:assemble").dependsOn(installGitHook)