Clean up art's Soong go files

Replace deprecated BaseContext with LoadHookContext.
Use ctx.Config() instead of ctx.AConfig().
Use existing ctx.Config() functions instead of wrappers.
Sort imports.

Test: m checkbuild
Change-Id: Idf30996ef38f4056a93af511c607b2c24678a5fa
diff --git a/build/art.go b/build/art.go
index 4c1099b..f2a64db 100644
--- a/build/art.go
+++ b/build/art.go
@@ -15,30 +15,31 @@
 package art
 
 import (
-	"android/soong/android"
-	"android/soong/apex"
-	"android/soong/cc"
 	"fmt"
 	"log"
 	"sync"
 
 	"github.com/google/blueprint/proptools"
+
+	"android/soong/android"
+	"android/soong/apex"
+	"android/soong/cc"
 )
 
 var supportedArches = []string{"arm", "arm64", "mips", "mips64", "x86", "x86_64"}
 
-func globalFlags(ctx android.BaseContext) ([]string, []string) {
+func globalFlags(ctx android.LoadHookContext) ([]string, []string) {
 	var cflags []string
 	var asflags []string
 
-	opt := envDefault(ctx, "ART_NDEBUG_OPT_FLAG", "-O3")
+	opt := ctx.Config().GetenvWithDefault("ART_NDEBUG_OPT_FLAG", "-O3")
 	cflags = append(cflags, opt)
 
 	tlab := false
 
-	gcType := envDefault(ctx, "ART_DEFAULT_GC_TYPE", "CMS")
+	gcType := ctx.Config().GetenvWithDefault("ART_DEFAULT_GC_TYPE", "CMS")
 
-	if envTrue(ctx, "ART_TEST_DEBUG_GC") {
+	if ctx.Config().IsEnvTrue("ART_TEST_DEBUG_GC") {
 		gcType = "SS"
 		tlab = true
 	}
@@ -48,21 +49,21 @@
 		cflags = append(cflags, "-DART_USE_TLAB=1")
 	}
 
-	imtSize := envDefault(ctx, "ART_IMT_SIZE", "43")
+	imtSize := ctx.Config().GetenvWithDefault("ART_IMT_SIZE", "43")
 	cflags = append(cflags, "-DIMT_SIZE="+imtSize)
 
-	if envTrue(ctx, "ART_HEAP_POISONING") {
+	if ctx.Config().IsEnvTrue("ART_HEAP_POISONING") {
 		cflags = append(cflags, "-DART_HEAP_POISONING=1")
 		asflags = append(asflags, "-DART_HEAP_POISONING=1")
 	}
-	if envTrue(ctx, "ART_USE_CXX_INTERPRETER") {
+	if ctx.Config().IsEnvTrue("ART_USE_CXX_INTERPRETER") {
 		cflags = append(cflags, "-DART_USE_CXX_INTERPRETER=1")
 	}
 
-	if !envFalse(ctx, "ART_USE_READ_BARRIER") && ctx.AConfig().ArtUseReadBarrier() {
+	if !ctx.Config().IsEnvFalse("ART_USE_READ_BARRIER") && ctx.Config().ArtUseReadBarrier() {
 		// Used to change the read barrier type. Valid values are BAKER, BROOKS,
 		// TABLELOOKUP. The default is BAKER.
-		barrierType := envDefault(ctx, "ART_READ_BARRIER_TYPE", "BAKER")
+		barrierType := ctx.Config().GetenvWithDefault("ART_READ_BARRIER_TYPE", "BAKER")
 		cflags = append(cflags,
 			"-DART_USE_READ_BARRIER=1",
 			"-DART_READ_BARRIER_TYPE_IS_"+barrierType+"=1")
@@ -71,11 +72,11 @@
 			"-DART_READ_BARRIER_TYPE_IS_"+barrierType+"=1")
 	}
 
-	if !envFalse(ctx, "ART_USE_GENERATIONAL_CC") {
+	if !ctx.Config().IsEnvFalse("ART_USE_GENERATIONAL_CC") {
 		cflags = append(cflags, "-DART_USE_GENERATIONAL_CC=1")
 	}
 
-	cdexLevel := envDefault(ctx, "ART_DEFAULT_COMPACT_DEX_LEVEL", "fast")
+	cdexLevel := ctx.Config().GetenvWithDefault("ART_DEFAULT_COMPACT_DEX_LEVEL", "fast")
 	cflags = append(cflags, "-DART_DEFAULT_COMPACT_DEX_LEVEL="+cdexLevel)
 
 	// We need larger stack overflow guards for ASAN, as the compiled code will have
@@ -83,7 +84,7 @@
 	// Note: We increase this for both debug and non-debug, as the overflow gap will
 	//       be compiled into managed code. We always preopt (and build core images) with
 	//       the debug version. So make the gap consistent (and adjust for the worst).
-	if len(ctx.AConfig().SanitizeDevice()) > 0 || len(ctx.AConfig().SanitizeHost()) > 0 {
+	if len(ctx.Config().SanitizeDevice()) > 0 || len(ctx.Config().SanitizeHost()) > 0 {
 		cflags = append(cflags,
 			"-DART_STACK_OVERFLOW_GAP_arm=8192",
 			"-DART_STACK_OVERFLOW_GAP_arm64=16384",
@@ -101,37 +102,37 @@
 			"-DART_STACK_OVERFLOW_GAP_x86_64=8192")
 	}
 
-	if envTrue(ctx, "ART_ENABLE_ADDRESS_SANITIZER") {
+	if ctx.Config().IsEnvTrue("ART_ENABLE_ADDRESS_SANITIZER") {
 		// Used to enable full sanitization, i.e., user poisoning, under ASAN.
 		cflags = append(cflags, "-DART_ENABLE_ADDRESS_SANITIZER=1")
 		asflags = append(asflags, "-DART_ENABLE_ADDRESS_SANITIZER=1")
 	}
 
-	if envTrue(ctx, "ART_MIPS32_CHECK_ALIGNMENT") {
+	if ctx.Config().IsEnvTrue("ART_MIPS32_CHECK_ALIGNMENT") {
 		// Enable the use of MIPS32 CHECK_ALIGNMENT macro for debugging purposes
 		asflags = append(asflags, "-DART_MIPS32_CHECK_ALIGNMENT")
 	}
 
-	if envTrueOrDefault(ctx, "USE_D8_DESUGAR") {
+	if !ctx.Config().IsEnvFalse("USE_D8_DESUGAR") {
 		cflags = append(cflags, "-DUSE_D8_DESUGAR=1")
 	}
 
 	return cflags, asflags
 }
 
-func debugFlags(ctx android.BaseContext) []string {
+func debugFlags(ctx android.LoadHookContext) []string {
 	var cflags []string
 
-	opt := envDefault(ctx, "ART_DEBUG_OPT_FLAG", "-O2")
+	opt := ctx.Config().GetenvWithDefault("ART_DEBUG_OPT_FLAG", "-O2")
 	cflags = append(cflags, opt)
 
 	return cflags
 }
 
-func deviceFlags(ctx android.BaseContext) []string {
+func deviceFlags(ctx android.LoadHookContext) []string {
 	var cflags []string
 	deviceFrameSizeLimit := 1736
-	if len(ctx.AConfig().SanitizeDevice()) > 0 {
+	if len(ctx.Config().SanitizeDevice()) > 0 {
 		deviceFrameSizeLimit = 7400
 	}
 	cflags = append(cflags,
@@ -139,24 +140,24 @@
 		fmt.Sprintf("-DART_FRAME_SIZE_LIMIT=%d", deviceFrameSizeLimit),
 	)
 
-	cflags = append(cflags, "-DART_BASE_ADDRESS="+ctx.AConfig().LibartImgDeviceBaseAddress())
-	if envTrue(ctx, "ART_TARGET_LINUX") {
+	cflags = append(cflags, "-DART_BASE_ADDRESS="+ctx.Config().LibartImgDeviceBaseAddress())
+	if ctx.Config().IsEnvTrue("ART_TARGET_LINUX") {
 		cflags = append(cflags, "-DART_TARGET_LINUX")
 	} else {
 		cflags = append(cflags, "-DART_TARGET_ANDROID")
 	}
-	minDelta := envDefault(ctx, "LIBART_IMG_TARGET_MIN_BASE_ADDRESS_DELTA", "-0x1000000")
-	maxDelta := envDefault(ctx, "LIBART_IMG_TARGET_MAX_BASE_ADDRESS_DELTA", "0x1000000")
+	minDelta := ctx.Config().GetenvWithDefault("LIBART_IMG_TARGET_MIN_BASE_ADDRESS_DELTA", "-0x1000000")
+	maxDelta := ctx.Config().GetenvWithDefault("LIBART_IMG_TARGET_MAX_BASE_ADDRESS_DELTA", "0x1000000")
 	cflags = append(cflags, "-DART_BASE_ADDRESS_MIN_DELTA="+minDelta)
 	cflags = append(cflags, "-DART_BASE_ADDRESS_MAX_DELTA="+maxDelta)
 
 	return cflags
 }
 
-func hostFlags(ctx android.BaseContext) []string {
+func hostFlags(ctx android.LoadHookContext) []string {
 	var cflags []string
 	hostFrameSizeLimit := 1736
-	if len(ctx.AConfig().SanitizeHost()) > 0 {
+	if len(ctx.Config().SanitizeHost()) > 0 {
 		// art/test/137-cfi/cfi.cc
 		// error: stack frame size of 1944 bytes in function 'Java_Main_unwindInProcess'
 		hostFrameSizeLimit = 6400
@@ -166,13 +167,13 @@
 		fmt.Sprintf("-DART_FRAME_SIZE_LIMIT=%d", hostFrameSizeLimit),
 	)
 
-	cflags = append(cflags, "-DART_BASE_ADDRESS="+ctx.AConfig().LibartImgHostBaseAddress())
-	minDelta := envDefault(ctx, "LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA", "-0x1000000")
-	maxDelta := envDefault(ctx, "LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA", "0x1000000")
+	cflags = append(cflags, "-DART_BASE_ADDRESS="+ctx.Config().LibartImgHostBaseAddress())
+	minDelta := ctx.Config().GetenvWithDefault("LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA", "-0x1000000")
+	maxDelta := ctx.Config().GetenvWithDefault("LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA", "0x1000000")
 	cflags = append(cflags, "-DART_BASE_ADDRESS_MIN_DELTA="+minDelta)
 	cflags = append(cflags, "-DART_BASE_ADDRESS_MAX_DELTA="+maxDelta)
 
-	if len(ctx.AConfig().SanitizeHost()) > 0 && !envFalse(ctx, "ART_ENABLE_ADDRESS_SANITIZER") {
+	if len(ctx.Config().SanitizeHost()) > 0 && !ctx.Config().IsEnvFalse("ART_ENABLE_ADDRESS_SANITIZER") {
 		// We enable full sanitization on the host by default.
 		cflags = append(cflags, "-DART_ENABLE_ADDRESS_SANITIZER=1")
 	}
@@ -202,7 +203,7 @@
 	p.Target.Android.Cflags = deviceFlags(ctx)
 	p.Target.Host.Cflags = hostFlags(ctx)
 
-	if envTrue(ctx, "ART_DEX_FILE_ACCESS_TRACKING") {
+	if ctx.Config().IsEnvTrue("ART_DEX_FILE_ACCESS_TRACKING") {
 		p.Cflags = append(p.Cflags, "-DART_DEX_FILE_ACCESS_TRACKING")
 		p.Sanitize.Recover = []string{
 			"address",
@@ -223,7 +224,7 @@
 }
 
 func customLinker(ctx android.LoadHookContext) {
-	linker := envDefault(ctx, "CUSTOM_TARGET_LINKER", "")
+	linker := ctx.Config().Getenv("CUSTOM_TARGET_LINKER")
 	type props struct {
 		DynamicLinker string
 	}
@@ -246,7 +247,7 @@
 	}
 
 	p := &props{}
-	if envTrue(ctx, "HOST_PREFER_32_BIT") {
+	if ctx.Config().IsEnvTrue("HOST_PREFER_32_BIT") {
 		p.Target.Host.Compile_multilib = proptools.StringPtr("prefer32")
 	}
 
@@ -262,7 +263,7 @@
 }
 
 func testInstall(ctx android.InstallHookContext) {
-	testMap := testMap(ctx.AConfig())
+	testMap := testMap(ctx.Config())
 
 	var name string
 	if ctx.Host() {
@@ -336,7 +337,7 @@
 func artHostTestApexBundleFactory() android.Module {
 	module := apex.ApexBundleFactory(true /*testApex*/, true /*artApex*/)
 	android.AddLoadHook(module, func(ctx android.LoadHookContext) {
-		if envTrue(ctx, "HOST_PREFER_32_BIT") {
+		if ctx.Config().IsEnvTrue("HOST_PREFER_32_BIT") {
 			type props struct {
 				Target struct {
 					Host struct {
@@ -443,23 +444,3 @@
 	android.AddInstallHook(module, testInstall)
 	return module
 }
-
-func envDefault(ctx android.BaseContext, key string, defaultValue string) string {
-	ret := ctx.AConfig().Getenv(key)
-	if ret == "" {
-		return defaultValue
-	}
-	return ret
-}
-
-func envTrue(ctx android.BaseContext, key string) bool {
-	return ctx.AConfig().Getenv(key) == "true"
-}
-
-func envFalse(ctx android.BaseContext, key string) bool {
-	return ctx.AConfig().Getenv(key) == "false"
-}
-
-func envTrueOrDefault(ctx android.BaseContext, key string) bool {
-	return ctx.AConfig().Getenv(key) != "false"
-}
diff --git a/build/codegen.go b/build/codegen.go
index 8e5ef1a..7ada8f5 100644
--- a/build/codegen.go
+++ b/build/codegen.go
@@ -19,9 +19,10 @@
 // arches on the device.
 
 import (
-	"android/soong/android"
 	"sort"
 	"strings"
+
+	"android/soong/android"
 )
 
 type moduleType struct {
@@ -40,14 +41,14 @@
 func codegen(ctx android.LoadHookContext, c *codegenProperties, t moduleType) {
 	var hostArches, deviceArches []string
 
-	e := envDefault(ctx, "ART_HOST_CODEGEN_ARCHS", "")
+	e := ctx.Config().Getenv("ART_HOST_CODEGEN_ARCHS")
 	if e == "" {
 		hostArches = supportedArches
 	} else {
 		hostArches = strings.Split(e, " ")
 	}
 
-	e = envDefault(ctx, "ART_TARGET_CODEGEN_ARCHS", "")
+	e = ctx.Config().Getenv("ART_TARGET_CODEGEN_ARCHS")
 	if e == "" {
 		deviceArches = defaultDeviceCodegenArches(ctx)
 	} else {