diff options
| -rw-r--r-- | android/allowlists/allowlists.go | 21 | ||||
| -rw-r--r-- | android/bazel_paths.go | 6 | ||||
| -rw-r--r-- | bp2build/java_import_conversion_test.go | 50 | ||||
| -rw-r--r-- | bp2build/java_library_conversion_test.go | 20 | ||||
| -rw-r--r-- | cc/bp2build.go | 6 | ||||
| -rw-r--r-- | cc/config/global.go | 3 | ||||
| -rw-r--r-- | cc/fuzz.go | 14 | ||||
| -rw-r--r-- | cc/orderfile.go | 15 | ||||
| -rw-r--r-- | cc/orderfile_test.go | 24 | ||||
| -rw-r--r-- | java/aar.go | 11 | ||||
| -rwxr-xr-x | java/app.go | 5 | ||||
| -rw-r--r-- | java/bootclasspath_fragment.go | 2 | ||||
| -rw-r--r-- | java/dexpreopt_bootjars.go | 6 | ||||
| -rw-r--r-- | java/dexpreopt_config.go | 4 | ||||
| -rw-r--r-- | java/dexpreopt_config_testing.go | 2 | ||||
| -rw-r--r-- | java/java.go | 49 | ||||
| -rw-r--r-- | ui/build/config.go | 2 |
17 files changed, 115 insertions, 125 deletions
diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go index 998ae4752..11cd041e0 100644 --- a/android/allowlists/allowlists.go +++ b/android/allowlists/allowlists.go @@ -395,6 +395,7 @@ var ( "system/apex/tools": Bp2BuildDefaultTrueRecursively, "system/core/debuggerd": Bp2BuildDefaultTrueRecursively, "system/core/diagnose_usb": Bp2BuildDefaultTrueRecursively, + "system/core/fs_mgr": Bp2BuildDefaultTrueRecursively, "system/core/healthd": Bp2BuildDefaultTrue, "system/core/healthd/testdata": Bp2BuildDefaultTrue, "system/core/libasyncio": Bp2BuildDefaultTrue, @@ -699,8 +700,6 @@ var ( // fastboot "fastboot", "libfastboot", - "liblp", - "libstorage_literals_headers", "PluginCoreLib", "dagger2", @@ -756,14 +755,6 @@ var ( //system/chre "chre_api", - //system/core/fs_mgr/libdm - "libdm", - - //system/core/fs_mgr/libfiemap - "libfiemap_headers", - "libfiemap_passthrough_srcs", - "libfiemap_srcs", - //system/gsid "libgsi", "libgsi_headers", @@ -780,18 +771,9 @@ var ( //system/extras/libfscrypt "libfscrypt", - //system/core/fs_mgr - "libfstab", - //bootable/recovery/fuse_sideload "libfusesideload", - //system/core/fs_mgr/libfs_avb - "libfs_avb", - - //system/core/fs_mgr - "libfs_mgr", - "libcodec2_aidl", "libcodec2_hidl@1.0", "libcodec2_hidl@1.1", @@ -899,7 +881,6 @@ var ( "binderRpcWireProtocolTest", "binderUnitTest", "cpu_features-bit_utils_test", - "liblp_test", "android.hardware.audio.common.test.utility_tests", "HalAudioStreamWorkerTest", "libjavacore-unit-tests", diff --git a/android/bazel_paths.go b/android/bazel_paths.go index d272ec2db..f25803ccc 100644 --- a/android/bazel_paths.go +++ b/android/bazel_paths.go @@ -103,7 +103,7 @@ type BazelConversionPathContext interface { // or ":<module>") and returns a Bazel-compatible label which corresponds to dependencies on the // module within the given ctx. func BazelLabelForModuleDeps(ctx Bp2buildMutatorContext, modules []string) bazel.LabelList { - return BazelLabelForModuleDepsWithFn(ctx, modules, BazelModuleLabel, /*markAsDeps=*/true) + return BazelLabelForModuleDepsWithFn(ctx, modules, BazelModuleLabel, true) } // BazelLabelForModuleWholeDepsExcludes expects two lists: modules (containing modules to include in @@ -154,11 +154,11 @@ func BazelLabelForModuleDepsWithFn(ctx Bp2buildMutatorContext, modules []string, // the excluded dependencies. func BazelLabelForModuleDepsExcludesWithFn(ctx Bp2buildMutatorContext, modules, excludes []string, moduleToLabelFn func(BazelConversionPathContext, blueprint.Module) string) bazel.LabelList { - moduleLabels := BazelLabelForModuleDepsWithFn(ctx, RemoveListFromList(modules, excludes), moduleToLabelFn, /*markAsDeps=*/true) + moduleLabels := BazelLabelForModuleDepsWithFn(ctx, RemoveListFromList(modules, excludes), moduleToLabelFn, true) if len(excludes) == 0 { return moduleLabels } - excludeLabels := BazelLabelForModuleDepsWithFn(ctx, excludes, moduleToLabelFn, /*markAsDeps=*/false) + excludeLabels := BazelLabelForModuleDepsWithFn(ctx, excludes, moduleToLabelFn, false) return bazel.LabelList{ Includes: moduleLabels.Includes, Excludes: excludeLabels.Includes, diff --git a/bp2build/java_import_conversion_test.go b/bp2build/java_import_conversion_test.go index ad69ed5ad..bba2f5077 100644 --- a/bp2build/java_import_conversion_test.go +++ b/bp2build/java_import_conversion_test.go @@ -52,15 +52,13 @@ java_import { } `, ExpectedBazelTargets: []string{ - MakeBazelTarget("filegroup", "example_import-jars", AttrNameToString{ - "srcs": `["import.jar"]`, - }), MakeBazelTarget("java_import", "example_import", AttrNameToString{ - "jars": `[":example_import-jars"]`, + "jars": `["import.jar"]`, }), - MakeBazelTarget("java_import", "example_import-neverlink", AttrNameToString{ - "jars": `[":example_import-jars"]`, - "neverlink": `True`, + MakeBazelTarget("java_library", "example_import-neverlink", AttrNameToString{ + "exports": `[":example_import"]`, + "neverlink": `True`, + "sdk_version": `"none"`, }), }}) } @@ -88,19 +86,17 @@ java_import { } `, ExpectedBazelTargets: []string{ - MakeBazelTarget("filegroup", "example_import-jars", AttrNameToString{ - "srcs": `select({ + MakeBazelTarget("java_import", "example_import", AttrNameToString{ + "jars": `select({ "//build/bazel_common_rules/platforms/os:android": ["android.jar"], "//build/bazel_common_rules/platforms/os:linux_glibc": ["linux.jar"], "//conditions:default": [], })`, }), - MakeBazelTarget("java_import", "example_import", AttrNameToString{ - "jars": `[":example_import-jars"]`, - }), - MakeBazelTarget("java_import", "example_import-neverlink", AttrNameToString{ - "jars": `[":example_import-jars"]`, - "neverlink": `True`, + MakeBazelTarget("java_library", "example_import-neverlink", AttrNameToString{ + "exports": `[":example_import"]`, + "neverlink": `True`, + "sdk_version": `"none"`, }), }}) } @@ -121,15 +117,13 @@ java_import_host { } `, ExpectedBazelTargets: []string{ - MakeBazelTarget("filegroup", "example_import-jars", AttrNameToString{ - "srcs": `["import.jar"]`, - }), MakeBazelTarget("java_import", "example_import", AttrNameToString{ - "jars": `[":example_import-jars"]`, + "jars": `["import.jar"]`, }), - MakeBazelTarget("java_import", "example_import-neverlink", AttrNameToString{ - "jars": `[":example_import-jars"]`, - "neverlink": `True`, + MakeBazelTarget("java_library", "example_import-neverlink", AttrNameToString{ + "exports": `[":example_import"]`, + "neverlink": `True`, + "sdk_version": `"none"`, }), }}) } @@ -148,15 +142,13 @@ func TestJavaImportSameNameAsJavaLibrary(t *testing.T) { } `, ExpectedBazelTargets: []string{ - MakeBazelTarget("filegroup", "test_lib-jars", AttrNameToString{ - "srcs": `["test.jar"]`, - }), MakeBazelTarget("java_import", "test_lib", AttrNameToString{ - "jars": `[":test_lib-jars"]`, + "jars": `["test.jar"]`, }), - MakeBazelTarget("java_import", "test_lib-neverlink", AttrNameToString{ - "jars": `[":test_lib-jars"]`, - "neverlink": `True`, + MakeBazelTarget("java_library", "test_lib-neverlink", AttrNameToString{ + "exports": `[":test_lib"]`, + "neverlink": `True`, + "sdk_version": `"none"`, }), }, }, func(ctx android.RegistrationContext) { diff --git a/bp2build/java_library_conversion_test.go b/bp2build/java_library_conversion_test.go index c88af1b55..5099b498a 100644 --- a/bp2build/java_library_conversion_test.go +++ b/bp2build/java_library_conversion_test.go @@ -1109,3 +1109,23 @@ func TestJavaLibrarySameNameAsPrebuilt(t *testing.T) { ctx.RegisterModuleType("java_import", java.ImportFactory) }) } + +func TestJavaLibrarySharding(t *testing.T) { + runJavaLibraryTestCase(t, Bp2buildTestCase{ + Description: "java library with sharded compilation", + Blueprint: `java_library { + name: "lib1", + srcs: ["a.java"], + javac_shard_size: 3, + sdk_version: "current", + }`, + ExpectedBazelTargets: []string{ + MakeBazelTarget("java_library", "lib1", AttrNameToString{ + "srcs": `["a.java"]`, + "sdk_version": `"current"`, + "javac_shard_size": "3", + }), + MakeNeverlinkDuplicateTarget("java_library", "lib1"), + }, + }) +} diff --git a/cc/bp2build.go b/cc/bp2build.go index 57333b85e..7ae8d8981 100644 --- a/cc/bp2build.go +++ b/cc/bp2build.go @@ -1904,7 +1904,7 @@ func xsdConfigCppTarget(xsd android.XsdConfigBp2buildTargets) string { } func bazelLabelForWholeDeps(ctx android.Bp2buildMutatorContext, modules []string) bazel.LabelList { - return android.BazelLabelForModuleDepsWithFn(ctx, modules, bazelLabelForStaticWholeModuleDeps, /*markAsDeps=*/true) + return android.BazelLabelForModuleDepsWithFn(ctx, modules, bazelLabelForStaticWholeModuleDeps, true) } func bazelLabelForWholeDepsExcludes(ctx android.Bp2buildMutatorContext, modules, excludes []string) bazel.LabelList { @@ -1916,11 +1916,11 @@ func bazelLabelForStaticDepsExcludes(ctx android.Bp2buildMutatorContext, modules } func bazelLabelForStaticDeps(ctx android.Bp2buildMutatorContext, modules []string) bazel.LabelList { - return android.BazelLabelForModuleDepsWithFn(ctx, modules, bazelLabelForStaticModule, /*markAsDeps=*/true) + return android.BazelLabelForModuleDepsWithFn(ctx, modules, bazelLabelForStaticModule, true) } func bazelLabelForSharedDeps(ctx android.Bp2buildMutatorContext, modules []string) bazel.LabelList { - return android.BazelLabelForModuleDepsWithFn(ctx, modules, bazelLabelForSharedModule, /*markAsDeps=*/true) + return android.BazelLabelForModuleDepsWithFn(ctx, modules, bazelLabelForSharedModule, true) } func bazelLabelForHeaderDeps(ctx android.Bp2buildMutatorContext, modules []string) bazel.LabelList { diff --git a/cc/config/global.go b/cc/config/global.go index 0354b2537..62b008b06 100644 --- a/cc/config/global.go +++ b/cc/config/global.go @@ -170,9 +170,6 @@ var ( // Emit additional debug info for AutoFDO "-fdebug-info-for-profiling", - - // Enable Hot Cold splitting optimization. - "-mllvm -hot-cold-split=true", } commonGlobalLldflags = []string{ diff --git a/cc/fuzz.go b/cc/fuzz.go index 227fe8bcf..df9f21ad2 100644 --- a/cc/fuzz.go +++ b/cc/fuzz.go @@ -357,10 +357,10 @@ func NewFuzzer(hod android.HostOrDeviceSupported) *Module { // their architecture & target/host specific zip file. type ccRustFuzzPackager struct { fuzz.FuzzPackager - fuzzPackagingArchModules string - fuzzTargetSharedDepsInstallPairs string - allFuzzTargetsName string - onlyIncludePresubmits bool + fuzzPackagingArchModules string + fuzzTargetSharedDepsInstallPairs string + allFuzzTargetsName string + onlyIncludePresubmits bool } func fuzzPackagingFactory() android.Singleton { @@ -369,7 +369,7 @@ func fuzzPackagingFactory() android.Singleton { fuzzPackagingArchModules: "SOONG_FUZZ_PACKAGING_ARCH_MODULES", fuzzTargetSharedDepsInstallPairs: "FUZZ_TARGET_SHARED_DEPS_INSTALL_PAIRS", allFuzzTargetsName: "ALL_FUZZ_TARGETS", - onlyIncludePresubmits: false, + onlyIncludePresubmits: false, } return fuzzPackager } @@ -380,7 +380,7 @@ func fuzzPackagingFactoryPresubmit() android.Singleton { fuzzPackagingArchModules: "SOONG_PRESUBMIT_FUZZ_PACKAGING_ARCH_MODULES", fuzzTargetSharedDepsInstallPairs: "PRESUBMIT_FUZZ_TARGET_SHARED_DEPS_INSTALL_PAIRS", allFuzzTargetsName: "ALL_PRESUBMIT_FUZZ_TARGETS", - onlyIncludePresubmits: true, + onlyIncludePresubmits: true, } return fuzzPackager } @@ -451,7 +451,7 @@ func (s *ccRustFuzzPackager) GenerateBuildActions(ctx android.SingletonContext) if fpm.FuzzProperties.Fuzz_config == nil { return } - if !BoolDefault(fpm.FuzzProperties.Fuzz_config.Use_for_presubmit, false){ + if !BoolDefault(fpm.FuzzProperties.Fuzz_config.Use_for_presubmit, false) { return } } diff --git a/cc/orderfile.go b/cc/orderfile.go index b64c1c7a1..9192e8168 100644 --- a/cc/orderfile.go +++ b/cc/orderfile.go @@ -58,17 +58,17 @@ func recordMissingOrderfile(ctx BaseModuleContext, missing string) { type OrderfileProperties struct { Orderfile struct { - Instrumentation *bool - Order_file_path *string `android:"arch_variant"` - Load_order_file *bool `android:"arch_variant"` + Instrumentation *bool + Order_file_path *string `android:"arch_variant"` + Load_order_file *bool `android:"arch_variant"` // Additional compiler flags to use when building this module // for orderfile profiling. Cflags []string `android:"arch_variant"` } `android:"arch_variant"` - ShouldProfileModule bool `blueprint:"mutated"` - OrderfileLoad bool `blueprint:"mutated"` - OrderfileInstrLink bool `blueprint:"mutated"` + ShouldProfileModule bool `blueprint:"mutated"` + OrderfileLoad bool `blueprint:"mutated"` + OrderfileInstrLink bool `blueprint:"mutated"` } type orderfile struct { @@ -128,7 +128,6 @@ func (props *OrderfileProperties) addInstrumentationProfileGatherFlags(ctx Modul return flags } - func (props *OrderfileProperties) loadOrderfileFlags(ctx ModuleContext, file string) []string { flags := []string{fmt.Sprintf(orderfileUseFormat, file)} flags = append(flags, orderfileOtherFlags...) @@ -217,7 +216,7 @@ func orderfileDepsMutator(mctx android.TopDownMutatorContext) { if dep, ok := dep.(*Module); ok { if m.orderfile.Properties.OrderfileInstrLink { - dep.orderfile.Properties.OrderfileInstrLink = true; + dep.orderfile.Properties.OrderfileInstrLink = true } } diff --git a/cc/orderfile_test.go b/cc/orderfile_test.go index f68457d32..3486f964c 100644 --- a/cc/orderfile_test.go +++ b/cc/orderfile_test.go @@ -15,8 +15,8 @@ package cc import ( - "testing" "strings" + "testing" "android/soong/android" ) @@ -193,8 +193,8 @@ func TestOrderfileProfilePropagateStaticDeps(t *testing.T) { } // Check cFlags of orderfile variant static libraries - libFooOfVariant := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static_orderfile") - libBarOfVariant := result.ModuleForTests("libBar", "android_arm64_armv8-a_static_orderfile") + libFooOfVariant := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static_orderfile") + libBarOfVariant := result.ModuleForTests("libBar", "android_arm64_armv8-a_static_orderfile") cFlags = libFooOfVariant.Rule("cc").Args["cFlags"] if !strings.Contains(cFlags, expectedCFlag) { @@ -216,8 +216,8 @@ func TestOrderfileProfilePropagateStaticDeps(t *testing.T) { } // Check cFlags of the non-orderfile variant static libraries - libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static") - libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") + libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static") + libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") cFlags = libFoo.Rule("cc").Args["cFlags"] if strings.Contains(cFlags, expectedCFlag) { @@ -281,8 +281,8 @@ func TestOrderfileLoadPropagateStaticDeps(t *testing.T) { t.Errorf("Expected 'libTest' to load orderfile, but did not find %q in ldFlags %q", expectedCFlag, ldFlags) } - libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static") - libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") + libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static") + libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") // Check dependency edge from orderfile-enabled module to non-orderfile variant static libraries if !hasDirectDep(result, libTest.Module(), libFoo.Module()) { @@ -351,8 +351,8 @@ func TestOrderfileProfilePropagateSharedDeps(t *testing.T) { } // Check cFlags of the static and shared libraries - libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_shared") - libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") + libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_shared") + libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") cFlags = libFoo.Rule("cc").Args["cFlags"] if strings.Contains(cFlags, expectedCFlag) { @@ -431,8 +431,8 @@ func TestOrderfileProfileStaticLibrary(t *testing.T) { } // Check cFlags of the static libraries - libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static") - libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") + libFoo := result.ModuleForTests("libFoo", "android_arm64_armv8-a_static") + libBar := result.ModuleForTests("libBar", "android_arm64_armv8-a_static") cFlags = libFoo.Rule("cc").Args["cFlags"] if strings.Contains(cFlags, expectedCFlag) { @@ -467,4 +467,4 @@ func TestOrderfileProfileStaticLibrary(t *testing.T) { t.Errorf("Expected variants for 'libBar' to not contain 'orderfile', but found %q", v) } } -}
\ No newline at end of file +} diff --git a/java/aar.go b/java/aar.go index 368f2416a..479b5e0be 100644 --- a/java/aar.go +++ b/java/aar.go @@ -849,6 +849,17 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) } } +func (a *AndroidLibrary) IDEInfo(dpInfo *android.IdeInfo) { + a.Library.IDEInfo(dpInfo) + a.aapt.IDEInfo(dpInfo) +} + +func (a *aapt) IDEInfo(dpInfo *android.IdeInfo) { + if a.useResourceProcessorBusyBox() { + dpInfo.Jars = append(dpInfo.Jars, a.rJar.String()) + } +} + // android_library builds and links sources into a `.jar` file for the device along with Android resources. // // An android_library has a single variant that produces a `.jar` file containing `.class` files that were diff --git a/java/app.go b/java/app.go index ce94ababd..0cb72e256 100755 --- a/java/app.go +++ b/java/app.go @@ -1073,6 +1073,11 @@ func (a *AndroidApp) EnableCoverageIfNeeded() {} var _ cc.Coverage = (*AndroidApp)(nil) +func (a *AndroidApp) IDEInfo(dpInfo *android.IdeInfo) { + a.Library.IDEInfo(dpInfo) + a.aapt.IDEInfo(dpInfo) +} + // android_app compiles sources and Android resources into an Android application package `.apk` file. func AndroidAppFactory() android.Module { module := &AndroidApp{} diff --git a/java/bootclasspath_fragment.go b/java/bootclasspath_fragment.go index dcc2dece7..d15dbc991 100644 --- a/java/bootclasspath_fragment.go +++ b/java/bootclasspath_fragment.go @@ -782,7 +782,7 @@ func (b *BootclasspathFragmentModule) produceBootImageProfileFromSource(ctx andr dexLocations := make([]string, 0, len(contents)) for _, module := range contents { dexPaths = append(dexPaths, modules[module.Name()]) - dexLocations = append(dexLocations, filepath.Join("/", "apex", apex, "javalib", module.Name() + ".jar")) + dexLocations = append(dexLocations, filepath.Join("/", "apex", apex, "javalib", module.Name()+".jar")) } // Build a profile for the modules in this fragment. diff --git a/java/dexpreopt_bootjars.go b/java/dexpreopt_bootjars.go index 003f2de22..c0f73afc5 100644 --- a/java/dexpreopt_bootjars.go +++ b/java/dexpreopt_bootjars.go @@ -628,7 +628,7 @@ func generateBootImage(ctx android.ModuleContext, imageConfig *bootImageConfig) } type apexJarModulePair struct { - apex string + apex string jarModule android.Module } @@ -640,7 +640,7 @@ func getModulesForImage(ctx android.ModuleContext, imageConfig *bootImageConfig) name := android.RemoveOptionalPrebuiltPrefix(module.Name()) if name == imageConfig.modules.Jar(i) { modules = append(modules, apexJarModulePair{ - apex: imageConfig.modules.Apex(i), + apex: imageConfig.modules.Apex(i), jarModule: module, }) found = true @@ -1178,7 +1178,7 @@ func dumpOatRules(ctx android.ModuleContext, image *bootImageConfig) { Rule: android.Phony, Output: phony, Inputs: allPhonies, - Description: "dump-oat-"+name, + Description: "dump-oat-" + name, }) } diff --git a/java/dexpreopt_config.go b/java/dexpreopt_config.go index 0f4bd9b34..29551efcc 100644 --- a/java/dexpreopt_config.go +++ b/java/dexpreopt_config.go @@ -278,7 +278,7 @@ func getDexpreoptDirName(ctx android.PathContext) string { prefix := "dexpreopt_" targets := ctx.Config().Targets[android.Android] if len(targets) > 0 { - return prefix+targets[0].Arch.ArchType.String() + return prefix + targets[0].Arch.ArchType.String() } - return prefix+"unknown_target" + return prefix + "unknown_target" } diff --git a/java/dexpreopt_config_testing.go b/java/dexpreopt_config_testing.go index 176c251fd..41d4b72a1 100644 --- a/java/dexpreopt_config_testing.go +++ b/java/dexpreopt_config_testing.go @@ -77,7 +77,7 @@ var ApexBootJarDexJarPaths = []string{ func PrepareApexBootJarModule(apexName string, moduleName string) android.FixturePreparer { moduleSourceDir := fmt.Sprintf("packages/modules/%s", apexName) - fragmentName := apexName+"-bootclasspath-fragment" + fragmentName := apexName + "-bootclasspath-fragment" imageNameProp := "" if apexName == "com.android.art" { fragmentName = "art-bootclasspath-fragment" diff --git a/java/java.go b/java/java.go index 1b9941c4e..bc240508b 100644 --- a/java/java.go +++ b/java/java.go @@ -2916,6 +2916,7 @@ type javaCommonAttributes struct { Sdk_version bazel.StringAttribute Java_version bazel.StringAttribute Errorprone_force_enable bazel.BoolAttribute + Javac_shard_size *int64 } type javaDependencyLabels struct { @@ -2970,10 +2971,6 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext // TODO(b/297356582): handle core_platform in bp2build ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_PROPERTY_UNSUPPORTED, "sdk_version core_platform") return &javaCommonAttributes{}, &bp2BuildJavaInfo{}, false - } else if proptools.String(m.deviceProperties.Sdk_version) == "none" { - // TODO(b/297356703): handle system_modules - ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_PROPERTY_UNSUPPORTED, "sdk_version none") - return &javaCommonAttributes{}, &bp2BuildJavaInfo{}, false } archVariantProps := m.GetArchVariantProperties(ctx, &CommonProperties{}) @@ -3105,6 +3102,7 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext Java_version: bazel.StringAttribute{Value: m.properties.Java_version}, Sdk_version: bazel.StringAttribute{Value: m.deviceProperties.Sdk_version}, Errorprone_force_enable: errorproneForceEnable, + Javac_shard_size: m.properties.Javac_shard_size, } for axis, configToProps := range archVariantProps { @@ -3407,14 +3405,9 @@ func createLibraryTarget(ctx android.Bp2buildMutatorContext, libInfo libraryCrea return libName } -type importAttributes struct { - Jars bazel.LabelListAttribute - Exports bazel.LabelListAttribute - Neverlink *bool -} - -type filegroupAttrs struct { - Srcs bazel.LabelListAttribute +type bazelJavaImportAttributes struct { + Jars bazel.LabelListAttribute + Exports bazel.LabelListAttribute } // java_import bp2Build converter. @@ -3430,36 +3423,28 @@ func (i *Import) ConvertWithBp2build(ctx android.Bp2buildMutatorContext) { } } - name := android.RemoveOptionalPrebuiltPrefix(i.Name()) - filegroupTargetName := name + "-jars" - - ctx.CreateBazelTargetModule( - bazel.BazelTargetModuleProperties{ - Rule_class: "filegroup", - Bzl_load_location: "//build/bazel/rules:filegroup.bzl", - }, - android.CommonAttributes{Name: filegroupTargetName}, - &filegroupAttrs{ - Srcs: jars, - }, - ) - - attrs := &importAttributes{ - Jars: bazel.MakeSingleLabelListAttribute(bazel.Label{Label: ":" + filegroupTargetName}), + attrs := &bazelJavaImportAttributes{ + Jars: jars, } props := bazel.BazelTargetModuleProperties{ Rule_class: "java_import", Bzl_load_location: "//build/bazel/rules/java:import.bzl", } + name := android.RemoveOptionalPrebuiltPrefix(i.Name()) + ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: name}, attrs) - neverlinkAttrs := &importAttributes{ - Jars: attrs.Jars, - Neverlink: proptools.BoolPtr(true), + neverlink := true + neverlinkAttrs := &javaLibraryAttributes{ + Neverlink: bazel.BoolAttribute{Value: &neverlink}, + Exports: bazel.MakeSingleLabelListAttribute(bazel.Label{Label: ":" + name}), + javaCommonAttributes: &javaCommonAttributes{ + Sdk_version: bazel.StringAttribute{Value: proptools.StringPtr("none")}, + }, } ctx.CreateBazelTargetModule( - props, + javaLibraryBazelTargetModuleProperties(), android.CommonAttributes{Name: name + "-neverlink"}, neverlinkAttrs) } diff --git a/ui/build/config.go b/ui/build/config.go index 264d83e70..5925b283c 100644 --- a/ui/build/config.go +++ b/ui/build/config.go @@ -1348,7 +1348,7 @@ func (c *configImpl) rbeProxyLogsDir() string { } func (c *configImpl) rbeDownloadTmpDir() string { - for _, f := range []string{"RBE_download_tmp_dir", "FLAG_download_tmp_dir"} { + for _, f := range []string{"RBE_download_tmp_dir", "FLAG_download_tmp_dir"} { if v, ok := c.environ.Get(f); ok { return v } |