summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/allowlists/allowlists.go1
-rw-r--r--bp2build/java_library_conversion_test.go49
-rw-r--r--bp2build/prebuilt_etc_conversion_test.go40
-rw-r--r--etc/prebuilt_etc.go12
-rw-r--r--genrule/allowlists.go1
-rw-r--r--java/base.go8
-rw-r--r--java/bootclasspath_fragment_test.go54
-rw-r--r--java/hiddenapi_modular.go16
-rw-r--r--java/java.go21
-rw-r--r--java/testing.go1
-rw-r--r--rust/config/arm_device.go1
-rw-r--r--rust/config/x86_64_device.go2
-rw-r--r--rust/config/x86_device.go1
-rw-r--r--rust/sanitize.go5
-rw-r--r--ui/build/config.go5
15 files changed, 190 insertions, 27 deletions
diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go
index 8e14a71f3..cc428e934 100644
--- a/android/allowlists/allowlists.go
+++ b/android/allowlists/allowlists.go
@@ -203,6 +203,7 @@ var (
"external/pcre": Bp2BuildDefaultTrueRecursively,
"external/perfmark/api": Bp2BuildDefaultTrueRecursively,
"external/protobuf": Bp2BuildDefaultTrueRecursively,
+ "external/python/pyfakefs/pyfakefs": Bp2BuildDefaultTrueRecursively,
"external/python/pyyaml/lib/yaml": Bp2BuildDefaultTrueRecursively,
"external/python/six": Bp2BuildDefaultTrueRecursively,
"external/python/jinja/src": Bp2BuildDefaultTrueRecursively,
diff --git a/bp2build/java_library_conversion_test.go b/bp2build/java_library_conversion_test.go
index 9cb9443cc..c88af1b55 100644
--- a/bp2build/java_library_conversion_test.go
+++ b/bp2build/java_library_conversion_test.go
@@ -192,6 +192,45 @@ func TestJavaLibraryJavaVersion(t *testing.T) {
})
}
+func TestJavaLibraryOpenjdk9(t *testing.T) {
+ runJavaLibraryTestCase(t, Bp2buildTestCase{
+ Blueprint: `java_library {
+ name: "java-lib-1",
+ srcs: ["a.java"],
+ exclude_srcs: ["b.java"],
+ javacflags: ["flag"],
+ target: {
+ android: {
+ srcs: ["android.java"],
+ },
+ },
+ openjdk9: {
+ srcs: ["b.java", "foo.java"],
+ javacflags: ["extraflag"],
+ },
+ sdk_version: "current",
+}`,
+ ExpectedBazelTargets: []string{
+ MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{
+ "srcs": `[
+ "a.java",
+ "foo.java",
+ ] + select({
+ "//build/bazel_common_rules/platforms/os:android": ["android.java"],
+ "//conditions:default": [],
+ })`,
+ "sdk_version": `"current"`,
+ "javacopts": `[
+ "flag",
+ "extraflag",
+ ]`,
+ }),
+ MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"),
+ },
+ })
+
+}
+
func TestJavaLibraryErrorproneEnabledManually(t *testing.T) {
runJavaLibraryTestCaseWithRegistrationCtxFunc(t, Bp2buildTestCase{
StubbedBuildDefinitions: []string{"plugin2"},
@@ -424,6 +463,7 @@ func TestJavaLibraryResourcesWithMultipleDirs(t *testing.T) {
},
Blueprint: `java_library {
name: "java-lib-1",
+ srcs: ["foo.java"],
java_resource_dirs: ["res", "res1"],
sdk_version: "current",
}`,
@@ -433,9 +473,10 @@ func TestJavaLibraryResourcesWithMultipleDirs(t *testing.T) {
"resources": `["res1/b.res"]`,
}),
MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{
- "additional_resources": `["java-lib-1_resource_dir_res1"]`,
+ "deps": `["java-lib-1_resource_dir_res1"]`,
"resources": `["res/a.res"]`,
"resource_strip_prefix": `"res"`,
+ "srcs": `["foo.java"]`,
"sdk_version": `"current"`,
}),
MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"),
@@ -453,6 +494,7 @@ func TestJavaLibraryJavaResourcesAndResourceDirs(t *testing.T) {
java_resources: ["res1", "res2"],
java_resource_dirs: ["resdir"],
sdk_version: "current",
+ srcs: ["foo.java"],
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("java_resources", "java-lib-1_resource_dir_resdir", AttrNameToString{
@@ -460,12 +502,13 @@ func TestJavaLibraryJavaResourcesAndResourceDirs(t *testing.T) {
"resources": `["resdir/a.res"]`,
}),
MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{
- "additional_resources": `["java-lib-1_resource_dir_resdir"]`,
+ "deps": `["java-lib-1_resource_dir_resdir"]`,
"resource_strip_prefix": `"."`,
"resources": `[
"res1",
"res2",
]`,
+ "srcs": `["foo.java"]`,
"sdk_version": `"current"`,
}),
MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"),
@@ -1025,7 +1068,7 @@ filegroup {
"srcs": `["a.java"]`,
"resources": `["a.res"]`,
"resource_strip_prefix": `"."`,
- "additional_resources": `[
+ "deps": `[
"java-lib-1_filegroup_resources_filegroup1",
"java-lib-1_filegroup_resources_filegroup2",
]`,
diff --git a/bp2build/prebuilt_etc_conversion_test.go b/bp2build/prebuilt_etc_conversion_test.go
index 1f372706b..c8cfd87ce 100644
--- a/bp2build/prebuilt_etc_conversion_test.go
+++ b/bp2build/prebuilt_etc_conversion_test.go
@@ -26,10 +26,17 @@ func runPrebuiltEtcTestCase(t *testing.T, tc Bp2buildTestCase) {
t.Helper()
(&tc).ModuleTypeUnderTest = "prebuilt_etc"
(&tc).ModuleTypeUnderTestFactory = etc.PrebuiltEtcFactory
- RunBp2BuildTestCase(t, registerPrebuiltEtcModuleTypes, tc)
+ RunBp2BuildTestCase(t, registerPrebuiltModuleTypes, tc)
}
-func registerPrebuiltEtcModuleTypes(ctx android.RegistrationContext) {
+func runPrebuiltRootHostTestCase(t *testing.T, tc Bp2buildTestCase) {
+ t.Helper()
+ (&tc).ModuleTypeUnderTest = "prebuilt_root_host"
+ (&tc).ModuleTypeUnderTestFactory = etc.PrebuiltRootHostFactory
+ RunBp2BuildTestCase(t, registerPrebuiltModuleTypes, tc)
+}
+
+func registerPrebuiltModuleTypes(ctx android.RegistrationContext) {
}
func TestPrebuiltEtcSimple(t *testing.T) {
@@ -160,7 +167,7 @@ func runPrebuiltUsrShareTestCase(t *testing.T, tc Bp2buildTestCase) {
t.Helper()
(&tc).ModuleTypeUnderTest = "prebuilt_usr_share"
(&tc).ModuleTypeUnderTestFactory = etc.PrebuiltUserShareFactory
- RunBp2BuildTestCase(t, registerPrebuiltEtcModuleTypes, tc)
+ RunBp2BuildTestCase(t, registerPrebuiltModuleTypes, tc)
}
func registerPrebuiltUsrShareModuleTypes(ctx android.RegistrationContext) {
@@ -360,3 +367,30 @@ prebuilt_etc {
ExpectedBazelTargets: []string{},
})
}
+
+func TestPrebuiltRootHostWithWildCardInSrc(t *testing.T) {
+ runPrebuiltRootHostTestCase(t, Bp2buildTestCase{
+ Description: "prebuilt_root_host - src string has wild card",
+ Filesystem: map[string]string{
+ "prh.dat": "",
+ },
+ Blueprint: `
+prebuilt_root_host {
+ name: "prh_test",
+ src: "*.dat",
+ filename_from_src: true,
+ relative_install_path: "test/install/path",
+ bazel_module: { bp2build_available: true },
+}
+`,
+ ExpectedBazelTargets: []string{
+ MakeBazelTarget("prebuilt_file", "prh_test", AttrNameToString{
+ "filename": `"prh.dat"`,
+ "src": `"prh.dat"`,
+ "dir": `"./test/install/path"`,
+ "target_compatible_with": `select({
+ "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"],
+ "//conditions:default": [],
+ })`,
+ })}})
+}
diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go
index 94235319a..ca2844244 100644
--- a/etc/prebuilt_etc.go
+++ b/etc/prebuilt_etc.go
@@ -508,6 +508,7 @@ func PrebuiltRootHostFactory() android.Module {
// This module is host-only
android.InitAndroidArchModule(module, android.HostSupported, android.MultilibCommon)
android.InitDefaultableModule(module)
+ android.InitBazelModule(module)
return module
}
@@ -759,7 +760,7 @@ func (module *PrebuiltEtc) Bp2buildHelper(ctx android.Bp2buildMutatorContext) (*
filename = *moduleProps.Filename
} else if moduleProps.Filename_from_src != nil && *moduleProps.Filename_from_src {
if moduleProps.Src != nil {
- filename = *moduleProps.Src
+ filename = android.BazelLabelForModuleSrcSingle(ctx, *moduleProps.Src).Label
}
filenameFromSrc = true
} else {
@@ -767,8 +768,8 @@ func (module *PrebuiltEtc) Bp2buildHelper(ctx android.Bp2buildMutatorContext) (*
}
var dir = module.installDirBase
- if subDir := module.subdirProperties.Sub_dir; subDir != nil {
- dir = dir + "/" + *subDir
+ if module.SubDir() != "" {
+ dir = dir + "/" + module.SubDir()
}
var installable bazel.BoolAttribute
@@ -796,8 +797,9 @@ func (module *PrebuiltEtc) Bp2buildHelper(ctx android.Bp2buildMutatorContext) (*
// which we treat as *PrebuiltFile*
func (module *PrebuiltEtc) ConvertWithBp2build(ctx android.Bp2buildMutatorContext) {
var dir = module.installDirBase
- // prebuilt_file supports only `etc` or `usr/share`
- if !(dir == "etc" || dir == "usr/share") {
+ // prebuilt_file only supports "etc" or "usr/share" or "." as module installDirBase
+ if !(dir == "etc" || dir == "usr/share" || dir == ".") {
+ ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_TYPE_UNSUPPORTED, "")
return
}
diff --git a/genrule/allowlists.go b/genrule/allowlists.go
index 8c78528ed..8552173a3 100644
--- a/genrule/allowlists.go
+++ b/genrule/allowlists.go
@@ -58,6 +58,7 @@ var (
"BlueberryFacadeGeneratedStub_h",
"BluetoothGeneratedDumpsysBinarySchema_bfbs",
"BluetoothGeneratedDumpsysDataSchema_h",
+ "CompilationTestCases_package-dex-usage",
"ControlEnvProxyServerProto_cc",
"ControlEnvProxyServerProto_h",
"CtsApkVerityTestDebugFiles",
diff --git a/java/base.go b/java/base.go
index 03198b550..53f22a7c0 100644
--- a/java/base.go
+++ b/java/base.go
@@ -1024,7 +1024,12 @@ func (j *Module) collectJavacFlags(
if flags.javaVersion.usesJavaModules() {
javacFlags = append(javacFlags, j.properties.Openjdk9.Javacflags...)
+ } else if len(j.properties.Openjdk9.Javacflags) > 0 {
+ // java version defaults higher than openjdk 9, these conditionals should no longer be necessary
+ ctx.PropertyErrorf("openjdk9.javacflags", "JDK version defaults to higher than 9")
+ }
+ if flags.javaVersion.usesJavaModules() {
if j.properties.Patch_module != nil {
// Manually specify build directory in case it is not under the repo root.
// (javac doesn't seem to expand into symbolic links when searching for patch-module targets, so
@@ -1101,6 +1106,9 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
if flags.javaVersion.usesJavaModules() {
j.properties.Srcs = append(j.properties.Srcs, j.properties.Openjdk9.Srcs...)
+ } else if len(j.properties.Openjdk9.Javacflags) > 0 {
+ // java version defaults higher than openjdk 9, these conditionals should no longer be necessary
+ ctx.PropertyErrorf("openjdk9.srcs", "JDK version defaults to higher than 9")
}
srcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Srcs, j.properties.Exclude_srcs)
diff --git a/java/bootclasspath_fragment_test.go b/java/bootclasspath_fragment_test.go
index 888caad16..828de2179 100644
--- a/java/bootclasspath_fragment_test.go
+++ b/java/bootclasspath_fragment_test.go
@@ -316,6 +316,60 @@ func TestBootclasspathFragment_StubLibs(t *testing.T) {
android.AssertPathsRelativeToTopEquals(t, "widest dex stubs jar", expectedWidestPaths, info.TransitiveStubDexJarsByScope.StubDexJarsForWidestAPIScope())
}
+func TestFromTextWidestApiScope(t *testing.T) {
+ result := android.GroupFixturePreparers(
+ prepareForTestWithBootclasspathFragment,
+ PrepareForTestWithJavaSdkLibraryFiles,
+ android.FixtureModifyConfig(func(config android.Config) {
+ config.SetBuildFromTextStub(true)
+ }),
+ FixtureWithLastReleaseApis("mysdklibrary", "android-non-updatable"),
+ FixtureConfigureApexBootJars("someapex:mysdklibrary"),
+ ).RunTestWithBp(t, `
+ bootclasspath_fragment {
+ name: "myfragment",
+ contents: ["mysdklibrary"],
+ additional_stubs: [
+ "android-non-updatable",
+ ],
+ hidden_api: {
+ split_packages: ["*"],
+ },
+ }
+ java_sdk_library {
+ name: "mysdklibrary",
+ srcs: ["a.java"],
+ shared_library: false,
+ public: {enabled: true},
+ system: {enabled: true},
+ }
+ java_sdk_library {
+ name: "android-non-updatable",
+ srcs: ["b.java"],
+ compile_dex: true,
+ public: {
+ enabled: true,
+ },
+ system: {
+ enabled: true,
+ },
+ test: {
+ enabled: true,
+ },
+ module_lib: {
+ enabled: true,
+ },
+ }
+ `)
+
+ fragment := result.ModuleForTests("myfragment", "android_common")
+ dependencyStubDexFlag := "--dependency-stub-dex=out/soong/.intermediates/default/java/android-non-updatable.stubs.test_module_lib/android_common/dex/android-non-updatable.stubs.test_module_lib.jar"
+ stubFlagsCommand := fragment.Output("modular-hiddenapi/stub-flags.csv").RuleParams.Command
+ android.AssertStringDoesContain(t,
+ "Stub flags generating command does not include the expected dependency stub dex file",
+ stubFlagsCommand, dependencyStubDexFlag)
+}
+
func TestSnapshotWithBootclasspathFragment_HiddenAPI(t *testing.T) {
result := android.GroupFixturePreparers(
prepareForTestWithBootclasspathFragment,
diff --git a/java/hiddenapi_modular.go b/java/hiddenapi_modular.go
index f31f5d1a8..81be33dd1 100644
--- a/java/hiddenapi_modular.go
+++ b/java/hiddenapi_modular.go
@@ -38,10 +38,14 @@ type HiddenAPIScope struct {
// The option needed to passed to "hiddenapi list".
hiddenAPIListOption string
- // The name sof the source stub library modules that contain the API provided by the platform,
+ // The names of the source stub library modules that contain the API provided by the platform,
// i.e. by modules that are not in an APEX.
nonUpdatableSourceModule string
+ // The names of from-text stub library modules that contain the API provided by the platform,
+ // i.e. by modules that are not in an APEX.
+ nonUpdatableFromTextModule string
+
// The names of the prebuilt stub library modules that contain the API provided by the platform,
// i.e. by modules that are not in an APEX.
nonUpdatablePrebuiltModule string
@@ -86,6 +90,9 @@ func (l *HiddenAPIScope) scopeSpecificStubModule(ctx android.BaseModuleContext,
if ctx.Config().AlwaysUsePrebuiltSdks() {
return l.nonUpdatablePrebuiltModule
} else {
+ if l.nonUpdatableFromTextModule != "" && ctx.Config().BuildFromTextStub() {
+ return l.nonUpdatableFromTextModule
+ }
return l.nonUpdatableSourceModule
}
} else {
@@ -117,8 +124,9 @@ var (
hiddenAPIListOption: "--test-stub-classpath",
})
ModuleLibHiddenAPIScope = initHiddenAPIScope(&HiddenAPIScope{
- name: "module-lib",
- sdkKind: android.SdkModule,
+ name: "module-lib",
+ sdkKind: android.SdkModule,
+ nonUpdatableFromTextModule: "android-non-updatable.stubs.test_module_lib",
})
CorePlatformHiddenAPIScope = initHiddenAPIScope(&HiddenAPIScope{
name: "core-platform",
@@ -647,7 +655,7 @@ func (s StubDexJarsByModule) addStubDexJar(ctx android.ModuleContext, module and
// public version is provided by the art.module.public.api module. In those cases it is necessary
// to treat all those modules as they were the same name, otherwise it will result in multiple
// definitions of a single class being passed to hidden API processing which will cause an error.
- if name == scope.nonUpdatablePrebuiltModule || name == scope.nonUpdatableSourceModule {
+ if name == scope.nonUpdatablePrebuiltModule || name == scope.nonUpdatableSourceModule || name == scope.nonUpdatableFromTextModule {
// Treat all *android-non-updatable* modules as if they were part of an android-non-updatable
// java_sdk_library.
// TODO(b/192067200): Remove once android-non-updatable is a java_sdk_library or equivalent.
diff --git a/java/java.go b/java/java.go
index 35fd7c2b8..3b20ea406 100644
--- a/java/java.go
+++ b/java/java.go
@@ -2775,7 +2775,7 @@ func addCLCFromDep(ctx android.ModuleContext, depModule android.Module,
type javaResourcesAttributes struct {
Resources bazel.LabelListAttribute
Resource_strip_prefix *string
- Additional_resources bazel.LabelListAttribute
+ Additional_resources bazel.LabelListAttribute `blueprint:"mutated"`
}
func (m *Library) getResourceFilegroupStripPrefix(ctx android.Bp2buildMutatorContext, resourceFilegroup string) (*string, bool) {
@@ -2935,8 +2935,8 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext
archVariantProps := m.GetArchVariantProperties(ctx, &CommonProperties{})
for axis, configToProps := range archVariantProps {
- for config, _props := range configToProps {
- if archProps, ok := _props.(*CommonProperties); ok {
+ for config, p := range configToProps {
+ if archProps, ok := p.(*CommonProperties); ok {
archSrcs := android.BazelLabelForModuleSrcExcludes(ctx, archProps.Srcs, archProps.Exclude_srcs)
srcs.SetSelectValue(axis, config, archSrcs)
if archProps.Jarjar_rules != nil {
@@ -2946,6 +2946,11 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext
}
}
}
+ srcs.Append(
+ bazel.MakeLabelListAttribute(
+ android.BazelLabelForModuleSrcExcludes(ctx,
+ m.properties.Openjdk9.Srcs,
+ m.properties.Exclude_srcs)))
srcs.ResolveExcludes()
javaSrcPartition := "java"
@@ -3029,8 +3034,9 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext
plugins := bazel.MakeLabelListAttribute(
android.BazelLabelForModuleDeps(ctx, m.properties.Plugins),
)
- if m.properties.Javacflags != nil {
- javacopts = bazel.MakeStringListAttribute(m.properties.Javacflags)
+ if m.properties.Javacflags != nil || m.properties.Openjdk9.Javacflags != nil {
+ javacopts = bazel.MakeStringListAttribute(
+ append(append([]string{}, m.properties.Javacflags...), m.properties.Openjdk9.Javacflags...))
}
epEnabled := m.properties.Errorprone.Enabled
@@ -3046,9 +3052,11 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext
javacopts.Append(bazel.MakeStringListAttribute([]string{"-XepDisableAllChecks"}))
}
+ resourcesAttrs := m.convertJavaResourcesAttributes(ctx)
+
commonAttrs := &javaCommonAttributes{
Srcs: javaSrcs,
- javaResourcesAttributes: m.convertJavaResourcesAttributes(ctx),
+ javaResourcesAttributes: resourcesAttrs,
Plugins: plugins,
Javacopts: javacopts,
Java_version: bazel.StringAttribute{Value: m.properties.Java_version},
@@ -3071,6 +3079,7 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext
}
depLabels := &javaDependencyLabels{}
+ deps.Append(resourcesAttrs.Additional_resources)
depLabels.Deps = deps
for axis, configToProps := range archVariantProps {
diff --git a/java/testing.go b/java/testing.go
index 446135116..16bdd80a1 100644
--- a/java/testing.go
+++ b/java/testing.go
@@ -491,6 +491,7 @@ func gatherRequiredDepsForTest() string {
"android-non-updatable.stubs.system.from-text": systemDroidstubs,
"android-non-updatable.stubs.test.from-text": testDroidstubs,
"android-non-updatable.stubs.module_lib.from-text": moduleLibDroidstubs,
+ "android-non-updatable.stubs.test_module_lib": moduleLibDroidstubs,
}
for _, droidstubs := range droidstubsStructs {
diff --git a/rust/config/arm_device.go b/rust/config/arm_device.go
index 42c1c0256..a5f4afb92 100644
--- a/rust/config/arm_device.go
+++ b/rust/config/arm_device.go
@@ -44,6 +44,7 @@ func init() {
strings.Join(rustFlags, " "))
}
+ ExportedVars.ExportStringListStaticVariable("DEVICE_ARM_RUSTC_FLAGS", ArmRustFlags)
}
type toolchainArm struct {
diff --git a/rust/config/x86_64_device.go b/rust/config/x86_64_device.go
index 45d1fd0a1..c797eefe3 100644
--- a/rust/config/x86_64_device.go
+++ b/rust/config/x86_64_device.go
@@ -53,7 +53,7 @@ func init() {
pctx.StaticVariable("X86_64"+variant+"VariantRustFlags",
strings.Join(rustFlags, " "))
}
-
+ ExportedVars.ExportStringListStaticVariable("DEVICE_X86_64_RUSTC_FLAGS", x86_64RustFlags)
}
type toolchainX86_64 struct {
diff --git a/rust/config/x86_device.go b/rust/config/x86_device.go
index 43f73400e..822f281a8 100644
--- a/rust/config/x86_device.go
+++ b/rust/config/x86_device.go
@@ -55,6 +55,7 @@ func init() {
strings.Join(rustFlags, " "))
}
+ ExportedVars.ExportStringListStaticVariable("DEVICE_X86_RUSTC_FLAGS", x86RustFlags)
}
type toolchainX86 struct {
diff --git a/rust/sanitize.go b/rust/sanitize.go
index 2f5afd74d..0b1043597 100644
--- a/rust/sanitize.go
+++ b/rust/sanitize.go
@@ -203,6 +203,11 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
s.Address = nil
}
+ // TODO: Remove once b/304507701 is resolved
+ if Bool(s.Address) && ctx.Host() {
+ s.Address = nil
+ }
+
// Memtag_heap is only implemented on AArch64.
if ctx.Arch().ArchType != android.Arm64 || !ctx.Os().Bionic() {
s.Memtag_heap = nil
diff --git a/ui/build/config.go b/ui/build/config.go
index 2e5921a2c..264d83e70 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -472,11 +472,6 @@ func NewConfig(ctx Context, args ...string) Config {
}
}
- if ret.BuildFromTextStub() {
- // TODO(b/271443071): support hidden api check for from-text stub build
- ret.environ.Set("UNSAFE_DISABLE_HIDDENAPI_FLAGS", "true")
- }
-
bpd := ret.BazelMetricsDir()
if err := os.RemoveAll(bpd); err != nil {
ctx.Fatalf("Unable to remove bazel profile directory %q: %v", bpd, err)