diff options
author | 2023-09-20 13:13:51 +0000 | |
---|---|---|
committer | 2023-09-20 13:13:51 +0000 | |
commit | 9e12c7863726889853d12d8dea2bf7574b96133e (patch) | |
tree | 5d0527928f53906b28f1eefd8baaca2aadf34d1d /java/sdk_library.go | |
parent | 187af6648dbaa8f897c3116adf52560efa6c91d7 (diff) | |
parent | 9a97a8f62ab19be0c544cdde40466a1286b3575e (diff) |
Merge changes from topic "prebuilt-cc-shared-always" into main
* changes:
Implement bp2build for java_sdk_library_import
Always convert prebuilt libraries
Always convert prebuilt cc library headers
Diffstat (limited to 'java/sdk_library.go')
-rw-r--r-- | java/sdk_library.go | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/java/sdk_library.go b/java/sdk_library.go index 6349d92f5..e3e2427bc 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -2276,11 +2276,11 @@ func SdkLibraryFactory() android.Module { } type bazelSdkLibraryAttributes struct { - Public bazel.StringAttribute - System bazel.StringAttribute - Test bazel.StringAttribute - Module_lib bazel.StringAttribute - System_server bazel.StringAttribute + Public *bazel.Label + System *bazel.Label + Test *bazel.Label + Module_lib *bazel.Label + System_server *bazel.Label } // java_sdk_library bp2build converter @@ -2290,13 +2290,11 @@ func (module *SdkLibrary) ConvertWithBp2build(ctx android.TopDownMutatorContext) return } - nameToAttr := make(map[string]bazel.StringAttribute) + nameToAttr := make(map[string]*bazel.Label) for _, scope := range module.getGeneratedApiScopes(ctx) { - apiSurfaceFile := path.Join(module.getApiDir(), scope.apiFilePrefix+"current.txt") - var scopeStringAttribute bazel.StringAttribute - scopeStringAttribute.SetValue(apiSurfaceFile) - nameToAttr[scope.name] = scopeStringAttribute + apiSurfaceFile := android.BazelLabelForModuleSrcSingle(ctx, path.Join(module.getApiDir(), scope.apiFilePrefix+"current.txt")) + nameToAttr[scope.name] = &apiSurfaceFile } attrs := bazelSdkLibraryAttributes{ @@ -2355,6 +2353,7 @@ type sdkLibraryImportProperties struct { type SdkLibraryImport struct { android.ModuleBase android.DefaultableModuleBase + android.BazelModuleBase prebuilt android.Prebuilt android.ApexModuleBase @@ -2438,6 +2437,7 @@ func sdkLibraryImportFactory() android.Module { android.InitPrebuiltModule(module, &[]string{""}) android.InitApexModule(module) + android.InitBazelModule(module) InitJavaModule(module, android.HostAndDeviceSupported) module.SetDefaultableHook(func(mctx android.DefaultableHookContext) { @@ -2448,6 +2448,33 @@ func sdkLibraryImportFactory() android.Module { return module } +// java_sdk_library bp2build converter +func (i *SdkLibraryImport) ConvertWithBp2build(ctx android.TopDownMutatorContext) { + nameToAttr := make(map[string]*bazel.Label) + + for scope, props := range i.scopeProperties { + if api := proptools.String(props.Current_api); api != "" { + apiSurfaceFile := android.BazelLabelForModuleSrcSingle(ctx, api) + nameToAttr[scope.name] = &apiSurfaceFile + } + } + + attrs := bazelSdkLibraryAttributes{ + Public: nameToAttr["public"], + System: nameToAttr["system"], + Test: nameToAttr["test"], + Module_lib: nameToAttr["module-lib"], + System_server: nameToAttr["system-server"], + } + props := bazel.BazelTargetModuleProperties{ + Rule_class: "java_sdk_library", + Bzl_load_location: "//build/bazel/rules/java:sdk_library.bzl", + } + + name := android.RemoveOptionalPrebuiltPrefix(i.Name()) + ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: name}, &attrs) +} + var _ PermittedPackagesForUpdatableBootJars = (*SdkLibraryImport)(nil) func (module *SdkLibraryImport) PermittedPackagesForUpdatableBootJars() []string { |