Skip to content

Instantly share code, notes, and snippets.

View goyaljai's full-sized avatar

Jai Goyal goyaljai

View GitHub Profile
@RunWith(AndroidJUnit4::class)
class LoginBenchmark {
@get:Rule
val benchmarkRule = MacrobenchmarkRule()
@Test
fun loginByIntent() {
val extras = Bundle().apply {
@goyaljai
goyaljai / soong_ui.bash
Created February 1, 2023 13:49
soong_ui.bash
source ${TOP}/build/soong/scripts/microfactory.bash
soong_build_go soong_ui android/soong/cmd/soong_ui
soong_build_go mk2rbc android/soong/mk2rbc/cmd
soong_build_go rbcrun rbcrun/cmd
cd ${TOP}
exec "$(getoutdir)/soong_ui" "$@"
@goyaljai
goyaljai / imgs.ninja
Created January 31, 2023 21:59
imgs.ninja
rule m.microdroid_vbmeta_bootconfig_android_arm64_armv8-a.vbmeta
command = out/host/linux-x86/bin/avbtool make_vbmeta_image --key external/avb/test/data/testkey_rsa4096.pem --algorithm SHA256_RSA4096 --rollback_index $$(date -d 'TZ="GMT" 2022-09-05' +%s | head -1 | tr -d '$
') --rollback_index_location 0 --chain_partition bootconfig:1:out/soong/.intermediates/packages/modules/Virtualization/microdroid/microdroid_vbmeta_bootconfig/android_arm64_armv8-a/bootconfig.avbpubkey --chain_partition uboot_env:2:out/soong/.intermediates/packages/android_arm64_armv8-a/uboot_env.avbpubkey
--output out/soong/.intermediates/packages/modules/Virtualization/microdroid/microdroid_vbmeta_bootconfig/android_arm64_armv8-a/microdroid_vbmeta_bootconfig.img && truncate -s 65536 out/soong/.intermediates/packages/modules/Virtualization/microdroid/microdroid_vbmeta_bootconfig/android_arm64_armv8-a/microdroid_vbmeta_bootconfig.img # hash of input list: f8343f0c11db644e49c173205360d2628cff5f895d40de988e
@goyaljai
goyaljai / sample.ninja
Created January 31, 2023 21:35
sample.ninja
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: SystemUI-core
# Variant: android_common
# Type: android_library
# Factory: android/soong/android.ModuleFactoryAdaptor.func1
# Defined: frameworks/base/packages/SystemUI/Android.bp:69:1
m.SystemUI-core_android_common.moduleDesc = //frameworks/base/packages/SystemUI:SystemUI-core
m.SystemUI-core_android_common.moduleDescSuffix = $ [common]
m.SystemUI-core_android_common.javacFlags = -Xlint:-dep-ann
@goyaljai
goyaljai / soong.go
Last active January 31, 2023 21:13
soong.go
func runSoong(ctx Context, config Config) {
...
buildMode := config.bazelBuildMode()
integratedBp2Build := buildMode == mixedBuild
...
bootstrapBlueprint(ctx, config)
...
ninja := func(name, ninjaFile string, targets ...string) {
...
ninjaArgs := []string{
@goyaljai
goyaljai / ninja.go
Created January 31, 2023 20:20
ninja.go
func runNinjaForBuild(ctx Context, config Config) {
...
executable := config.PrebuiltBuildTool("ninja")
args := []string{
"-d", "keepdepfile",
"-d", "keeprsp",
"-d", "stats",
"--frontend_file", fifo,
}
@goyaljai
goyaljai / config.go
Created January 31, 2023 20:05
config.go
func config parseArgs(ctx Context, args []string) {
for i := 0; i < len(args); i++ {
arg := strings.TrimSpace(args[i])
...
if arg == "--skip-ninja" {
c.skipNinja = true
} else if arg == "--skip-make" {
c.skipConfig = true
c.skipKati = true
} else if arg == "--skip-kati" {
@goyaljai
goyaljai / main.go
Created January 31, 2023 20:05
main.go
function main() {
c, args, err := getCommand(os.Args)
...
buildCtx := build.Context{ContextImpl: &build.ContextImpl{
Context: ctx,
Logger: log,
Metrics: met,
Tracer: trace,
Writer: output,
Status: stat,
@goyaljai
goyaljai / build.go
Last active January 31, 2023 19:59
build.go
func Build(ctx Context, config Config) {
...
what := RunAll
...
if config.SkipKati() {
ctx.Verboseln("Skipping Kati as requested")
what = what &^ RunKati
}
if config.SkipKatiNinja() {
ctx.Verboseln("Skipping use of Kati ninja as requested")
@goyaljai
goyaljai / lunch.bash
Last active January 31, 2023 18:06
Lunch Flow
function print_lunch_menu()
{
...
choices=$(TARGET_BUILD_VARIANT= get_build_var COMMON_LUNCH_CHOICES 2>/dev/null)
...
}
function get_build_var()
{
...