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
This commit is contained in:
commit
9e12c78637
6 changed files with 178 additions and 50 deletions
|
@ -922,11 +922,16 @@ var (
|
||||||
"aconfig_values",
|
"aconfig_values",
|
||||||
"aidl_interface_headers",
|
"aidl_interface_headers",
|
||||||
"bpf",
|
"bpf",
|
||||||
|
"cc_prebuilt_library",
|
||||||
|
"cc_prebuilt_library_headers",
|
||||||
|
"cc_prebuilt_library_shared",
|
||||||
|
"cc_prebuilt_library_static",
|
||||||
"combined_apis",
|
"combined_apis",
|
||||||
"droiddoc_exported_dir",
|
"droiddoc_exported_dir",
|
||||||
"java_import",
|
"java_import",
|
||||||
"java_import_host",
|
"java_import_host",
|
||||||
"java_sdk_library",
|
"java_sdk_library",
|
||||||
|
"java_sdk_library_import",
|
||||||
"license",
|
"license",
|
||||||
"linker_config",
|
"linker_config",
|
||||||
"sysprop_library",
|
"sysprop_library",
|
||||||
|
|
|
@ -74,6 +74,8 @@ bootstrap_go_package {
|
||||||
"java_library_host_conversion_test.go",
|
"java_library_host_conversion_test.go",
|
||||||
"java_plugin_conversion_test.go",
|
"java_plugin_conversion_test.go",
|
||||||
"java_proto_conversion_test.go",
|
"java_proto_conversion_test.go",
|
||||||
|
"java_sdk_library_conversion_test.go",
|
||||||
|
"java_sdk_library_import_conversion_test.go",
|
||||||
"license_conversion_test.go",
|
"license_conversion_test.go",
|
||||||
"license_kind_conversion_test.go",
|
"license_kind_conversion_test.go",
|
||||||
"linker_config_conversion_test.go",
|
"linker_config_conversion_test.go",
|
||||||
|
|
|
@ -57,6 +57,7 @@ func TestCcLibraryHeadersLoadStatement(t *testing.T) {
|
||||||
|
|
||||||
func registerCcLibraryHeadersModuleTypes(ctx android.RegistrationContext) {
|
func registerCcLibraryHeadersModuleTypes(ctx android.RegistrationContext) {
|
||||||
cc.RegisterCCBuildComponents(ctx)
|
cc.RegisterCCBuildComponents(ctx)
|
||||||
|
cc.RegisterLibraryHeadersBuildComponents(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
func runCcLibraryHeadersTestCase(t *testing.T, tc Bp2buildTestCase) {
|
func runCcLibraryHeadersTestCase(t *testing.T, tc Bp2buildTestCase) {
|
||||||
|
@ -66,9 +67,7 @@ func runCcLibraryHeadersTestCase(t *testing.T, tc Bp2buildTestCase) {
|
||||||
|
|
||||||
func TestCcLibraryHeadersSimple(t *testing.T) {
|
func TestCcLibraryHeadersSimple(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers test",
|
Description: "cc_library_headers test",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
|
||||||
Filesystem: map[string]string{
|
Filesystem: map[string]string{
|
||||||
"lib-1/lib1a.h": "",
|
"lib-1/lib1a.h": "",
|
||||||
"lib-1/lib1b.h": "",
|
"lib-1/lib1b.h": "",
|
||||||
|
@ -127,10 +126,8 @@ cc_library_headers {
|
||||||
// variant info(select) should go before general info.
|
// variant info(select) should go before general info.
|
||||||
func TestCcLibraryHeadersOsSpecificHeader(t *testing.T) {
|
func TestCcLibraryHeadersOsSpecificHeader(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers test with os-specific header_libs props",
|
Description: "cc_library_headers test with os-specific header_libs props",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
Filesystem: map[string]string{},
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
|
||||||
Filesystem: map[string]string{},
|
|
||||||
StubbedBuildDefinitions: []string{"android-lib", "base-lib", "darwin-lib",
|
StubbedBuildDefinitions: []string{"android-lib", "base-lib", "darwin-lib",
|
||||||
"linux-lib", "linux_bionic-lib", "windows-lib"},
|
"linux-lib", "linux_bionic-lib", "windows-lib"},
|
||||||
Blueprint: soongCcLibraryPreamble + `
|
Blueprint: soongCcLibraryPreamble + `
|
||||||
|
@ -197,11 +194,9 @@ cc_library_headers {
|
||||||
|
|
||||||
func TestCcLibraryHeadersOsSpecficHeaderLibsExportHeaderLibHeaders(t *testing.T) {
|
func TestCcLibraryHeadersOsSpecficHeaderLibsExportHeaderLibHeaders(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers test with os-specific header_libs and export_header_lib_headers props",
|
Description: "cc_library_headers test with os-specific header_libs and export_header_lib_headers props",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
Filesystem: map[string]string{},
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
StubbedBuildDefinitions: []string{"android-lib", "exported-lib"},
|
||||||
Filesystem: map[string]string{},
|
|
||||||
StubbedBuildDefinitions: []string{"android-lib", "exported-lib"},
|
|
||||||
Blueprint: soongCcLibraryPreamble + `
|
Blueprint: soongCcLibraryPreamble + `
|
||||||
cc_library_headers {
|
cc_library_headers {
|
||||||
name: "android-lib",
|
name: "android-lib",
|
||||||
|
@ -232,10 +227,8 @@ cc_library_headers {
|
||||||
|
|
||||||
func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) {
|
func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers test with arch-specific and target-specific export_system_include_dirs props",
|
Description: "cc_library_headers test with arch-specific and target-specific export_system_include_dirs props",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
Filesystem: map[string]string{},
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
|
||||||
Filesystem: map[string]string{},
|
|
||||||
Blueprint: soongCcLibraryPreamble + `cc_library_headers {
|
Blueprint: soongCcLibraryPreamble + `cc_library_headers {
|
||||||
name: "foo_headers",
|
name: "foo_headers",
|
||||||
export_system_include_dirs: [
|
export_system_include_dirs: [
|
||||||
|
@ -291,9 +284,7 @@ func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) {
|
||||||
|
|
||||||
func TestCcLibraryHeadersNoCrtIgnored(t *testing.T) {
|
func TestCcLibraryHeadersNoCrtIgnored(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers test",
|
Description: "cc_library_headers test",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
|
||||||
Filesystem: map[string]string{
|
Filesystem: map[string]string{
|
||||||
"lib-1/lib1a.h": "",
|
"lib-1/lib1a.h": "",
|
||||||
"lib-1/lib1b.h": "",
|
"lib-1/lib1b.h": "",
|
||||||
|
@ -324,11 +315,9 @@ cc_library_headers {
|
||||||
|
|
||||||
func TestCcLibraryHeadersExportedStaticLibHeadersReexported(t *testing.T) {
|
func TestCcLibraryHeadersExportedStaticLibHeadersReexported(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers exported_static_lib_headers is reexported",
|
Description: "cc_library_headers exported_static_lib_headers is reexported",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
Filesystem: map[string]string{},
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
StubbedBuildDefinitions: []string{"foo_export"},
|
||||||
Filesystem: map[string]string{},
|
|
||||||
StubbedBuildDefinitions: []string{"foo_export"},
|
|
||||||
Blueprint: soongCcLibraryHeadersPreamble + `
|
Blueprint: soongCcLibraryHeadersPreamble + `
|
||||||
cc_library_headers {
|
cc_library_headers {
|
||||||
name: "foo_headers",
|
name: "foo_headers",
|
||||||
|
@ -347,11 +336,9 @@ cc_library_headers {
|
||||||
|
|
||||||
func TestCcLibraryHeadersExportedSharedLibHeadersReexported(t *testing.T) {
|
func TestCcLibraryHeadersExportedSharedLibHeadersReexported(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers exported_shared_lib_headers is reexported",
|
Description: "cc_library_headers exported_shared_lib_headers is reexported",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
Filesystem: map[string]string{},
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
StubbedBuildDefinitions: []string{"foo_export"},
|
||||||
Filesystem: map[string]string{},
|
|
||||||
StubbedBuildDefinitions: []string{"foo_export"},
|
|
||||||
Blueprint: soongCcLibraryHeadersPreamble + `
|
Blueprint: soongCcLibraryHeadersPreamble + `
|
||||||
cc_library_headers {
|
cc_library_headers {
|
||||||
name: "foo_headers",
|
name: "foo_headers",
|
||||||
|
@ -370,11 +357,9 @@ cc_library_headers {
|
||||||
|
|
||||||
func TestCcLibraryHeadersExportedHeaderLibHeadersReexported(t *testing.T) {
|
func TestCcLibraryHeadersExportedHeaderLibHeadersReexported(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers exported_header_lib_headers is reexported",
|
Description: "cc_library_headers exported_header_lib_headers is reexported",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
Filesystem: map[string]string{},
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
StubbedBuildDefinitions: []string{"foo_export"},
|
||||||
Filesystem: map[string]string{},
|
|
||||||
StubbedBuildDefinitions: []string{"foo_export"},
|
|
||||||
Blueprint: soongCcLibraryHeadersPreamble + `
|
Blueprint: soongCcLibraryHeadersPreamble + `
|
||||||
cc_library_headers {
|
cc_library_headers {
|
||||||
name: "foo_headers",
|
name: "foo_headers",
|
||||||
|
@ -393,11 +378,9 @@ cc_library_headers {
|
||||||
|
|
||||||
func TestCcLibraryHeadersWholeStaticLibsReexported(t *testing.T) {
|
func TestCcLibraryHeadersWholeStaticLibsReexported(t *testing.T) {
|
||||||
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
Description: "cc_library_headers whole_static_libs is reexported",
|
Description: "cc_library_headers whole_static_libs is reexported",
|
||||||
ModuleTypeUnderTest: "cc_library_headers",
|
Filesystem: map[string]string{},
|
||||||
ModuleTypeUnderTestFactory: cc.LibraryHeaderFactory,
|
StubbedBuildDefinitions: []string{"foo_export"},
|
||||||
Filesystem: map[string]string{},
|
|
||||||
StubbedBuildDefinitions: []string{"foo_export"},
|
|
||||||
Blueprint: soongCcLibraryHeadersPreamble + `
|
Blueprint: soongCcLibraryHeadersPreamble + `
|
||||||
cc_library_headers {
|
cc_library_headers {
|
||||||
name: "foo_headers",
|
name: "foo_headers",
|
||||||
|
@ -412,3 +395,25 @@ cc_library_headers {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPrebuiltCcLibraryHeadersWholeStaticLibsReexported(t *testing.T) {
|
||||||
|
runCcLibraryHeadersTestCase(t, Bp2buildTestCase{
|
||||||
|
Description: "cc_library_headers whole_static_libs is reexported",
|
||||||
|
Filesystem: map[string]string{
|
||||||
|
"foo/bar/Android.bp": simpleModule("cc_library_headers", "foo_headers"),
|
||||||
|
},
|
||||||
|
StubbedBuildDefinitions: []string{"foo_export"},
|
||||||
|
Blueprint: soongCcLibraryHeadersPreamble + `
|
||||||
|
cc_prebuilt_library_headers {
|
||||||
|
name: "foo_headers",
|
||||||
|
whole_static_libs: ["foo_export"],
|
||||||
|
bazel_module: { bp2build_available: true },
|
||||||
|
}
|
||||||
|
` + simpleModule("cc_library_headers", "foo_export"),
|
||||||
|
ExpectedBazelTargets: []string{
|
||||||
|
MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{
|
||||||
|
"deps": `[":foo_export"]`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
84
bp2build/java_sdk_library_import_conversion_test.go
Normal file
84
bp2build/java_sdk_library_import_conversion_test.go
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
// Copyright 2023 Google Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package bp2build
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"android/soong/java"
|
||||||
|
)
|
||||||
|
|
||||||
|
func runJavaSdkLibraryImportTestCase(t *testing.T, tc Bp2buildTestCase) {
|
||||||
|
t.Helper()
|
||||||
|
RunBp2BuildTestCase(t, java.RegisterSdkLibraryBuildComponents, tc)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestJavaSdkLibraryImport(t *testing.T) {
|
||||||
|
runJavaSdkLibraryImportTestCase(t, Bp2buildTestCase{
|
||||||
|
Blueprint: `
|
||||||
|
java_sdk_library_import {
|
||||||
|
name : "foo",
|
||||||
|
public: {
|
||||||
|
current_api: "foo_current.txt",
|
||||||
|
},
|
||||||
|
system: {
|
||||||
|
current_api: "system_foo_current.txt",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
ExpectedBazelTargets: []string{
|
||||||
|
MakeBazelTarget("java_sdk_library", "foo", AttrNameToString{
|
||||||
|
"public": `"foo_current.txt"`,
|
||||||
|
"system": `"system_foo_current.txt"`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestJavaSdkLibraryImportPrebuiltPrefixRemoved(t *testing.T) {
|
||||||
|
runJavaSdkLibraryImportTestCase(t, Bp2buildTestCase{
|
||||||
|
Filesystem: map[string]string{
|
||||||
|
"foobar/Android.bp": `
|
||||||
|
java_sdk_library {
|
||||||
|
name: "foo",
|
||||||
|
srcs: ["**/*.java"],
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
"foobar/api/current.txt": "",
|
||||||
|
"foobar/api/system-current.txt": "",
|
||||||
|
"foobar/api/test-current.txt": "",
|
||||||
|
"foobar/api/removed.txt": "",
|
||||||
|
"foobar/api/system-removed.txt": "",
|
||||||
|
"foobar/api/test-removed.txt": "",
|
||||||
|
},
|
||||||
|
Blueprint: `
|
||||||
|
java_sdk_library_import {
|
||||||
|
name : "foo",
|
||||||
|
public: {
|
||||||
|
current_api: "foo_current.txt",
|
||||||
|
},
|
||||||
|
system: {
|
||||||
|
current_api: "system_foo_current.txt",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
ExpectedBazelTargets: []string{
|
||||||
|
MakeBazelTarget("java_sdk_library", "foo", AttrNameToString{
|
||||||
|
"public": `"foo_current.txt"`,
|
||||||
|
"system": `"system_foo_current.txt"`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
|
@ -153,8 +153,13 @@ func libraryHeadersBp2Build(ctx android.TopDownMutatorContext, module *Module) {
|
||||||
|
|
||||||
tags := android.ApexAvailableTagsWithoutTestApexes(ctx, module)
|
tags := android.ApexAvailableTagsWithoutTestApexes(ctx, module)
|
||||||
|
|
||||||
|
name := module.Name()
|
||||||
|
if module.IsPrebuilt() {
|
||||||
|
name = android.RemoveOptionalPrebuiltPrefix(name)
|
||||||
|
}
|
||||||
|
|
||||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{
|
ctx.CreateBazelTargetModule(props, android.CommonAttributes{
|
||||||
Name: module.Name(),
|
Name: name,
|
||||||
Tags: tags,
|
Tags: tags,
|
||||||
}, attrs)
|
}, attrs)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2276,11 +2276,11 @@ func SdkLibraryFactory() android.Module {
|
||||||
}
|
}
|
||||||
|
|
||||||
type bazelSdkLibraryAttributes struct {
|
type bazelSdkLibraryAttributes struct {
|
||||||
Public bazel.StringAttribute
|
Public *bazel.Label
|
||||||
System bazel.StringAttribute
|
System *bazel.Label
|
||||||
Test bazel.StringAttribute
|
Test *bazel.Label
|
||||||
Module_lib bazel.StringAttribute
|
Module_lib *bazel.Label
|
||||||
System_server bazel.StringAttribute
|
System_server *bazel.Label
|
||||||
}
|
}
|
||||||
|
|
||||||
// java_sdk_library bp2build converter
|
// java_sdk_library bp2build converter
|
||||||
|
@ -2290,13 +2290,11 @@ func (module *SdkLibrary) ConvertWithBp2build(ctx android.TopDownMutatorContext)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
nameToAttr := make(map[string]bazel.StringAttribute)
|
nameToAttr := make(map[string]*bazel.Label)
|
||||||
|
|
||||||
for _, scope := range module.getGeneratedApiScopes(ctx) {
|
for _, scope := range module.getGeneratedApiScopes(ctx) {
|
||||||
apiSurfaceFile := path.Join(module.getApiDir(), scope.apiFilePrefix+"current.txt")
|
apiSurfaceFile := android.BazelLabelForModuleSrcSingle(ctx, path.Join(module.getApiDir(), scope.apiFilePrefix+"current.txt"))
|
||||||
var scopeStringAttribute bazel.StringAttribute
|
nameToAttr[scope.name] = &apiSurfaceFile
|
||||||
scopeStringAttribute.SetValue(apiSurfaceFile)
|
|
||||||
nameToAttr[scope.name] = scopeStringAttribute
|
|
||||||
}
|
}
|
||||||
|
|
||||||
attrs := bazelSdkLibraryAttributes{
|
attrs := bazelSdkLibraryAttributes{
|
||||||
|
@ -2355,6 +2353,7 @@ type sdkLibraryImportProperties struct {
|
||||||
type SdkLibraryImport struct {
|
type SdkLibraryImport struct {
|
||||||
android.ModuleBase
|
android.ModuleBase
|
||||||
android.DefaultableModuleBase
|
android.DefaultableModuleBase
|
||||||
|
android.BazelModuleBase
|
||||||
prebuilt android.Prebuilt
|
prebuilt android.Prebuilt
|
||||||
android.ApexModuleBase
|
android.ApexModuleBase
|
||||||
|
|
||||||
|
@ -2438,6 +2437,7 @@ func sdkLibraryImportFactory() android.Module {
|
||||||
|
|
||||||
android.InitPrebuiltModule(module, &[]string{""})
|
android.InitPrebuiltModule(module, &[]string{""})
|
||||||
android.InitApexModule(module)
|
android.InitApexModule(module)
|
||||||
|
android.InitBazelModule(module)
|
||||||
InitJavaModule(module, android.HostAndDeviceSupported)
|
InitJavaModule(module, android.HostAndDeviceSupported)
|
||||||
|
|
||||||
module.SetDefaultableHook(func(mctx android.DefaultableHookContext) {
|
module.SetDefaultableHook(func(mctx android.DefaultableHookContext) {
|
||||||
|
@ -2448,6 +2448,33 @@ func sdkLibraryImportFactory() android.Module {
|
||||||
return 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)
|
var _ PermittedPackagesForUpdatableBootJars = (*SdkLibraryImport)(nil)
|
||||||
|
|
||||||
func (module *SdkLibraryImport) PermittedPackagesForUpdatableBootJars() []string {
|
func (module *SdkLibraryImport) PermittedPackagesForUpdatableBootJars() []string {
|
||||||
|
|
Loading…
Reference in a new issue