diff options
| -rw-r--r-- | apex/androidmk.go | 17 | ||||
| -rw-r--r-- | cc/library_sdk_member.go | 8 | ||||
| -rw-r--r-- | java/sdk_library.go | 31 | ||||
| -rw-r--r-- | sdk/cc_sdk_test.go | 3 | ||||
| -rw-r--r-- | sdk/java_sdk_test.go | 12 |
5 files changed, 31 insertions, 40 deletions
diff --git a/apex/androidmk.go b/apex/androidmk.go index af2ec3d2a..1b53a672b 100644 --- a/apex/androidmk.go +++ b/apex/androidmk.go @@ -36,7 +36,9 @@ func (a *apexBundle) AndroidMk() android.AndroidMkData { return a.androidMkForType() } -func (a *apexBundle) androidMkForFiles(w io.Writer, apexBundleName, apexName, moduleDir string) []string { +func (a *apexBundle) androidMkForFiles(w io.Writer, apexBundleName, apexName, moduleDir string, + apexAndroidMkData android.AndroidMkData) []string { + // apexBundleName comes from the 'name' property; apexName comes from 'apex_name' property. // An apex is installed to /system/apex/<apexBundleName> and is activated at /apex/<apexName> // In many cases, the two names are the same, but could be different in general. @@ -236,6 +238,17 @@ func (a *apexBundle) androidMkForFiles(w io.Writer, apexBundleName, apexName, mo fmt.Fprintln(w, "LOCAL_MODULE_STEM :=", fi.Stem()) if fi.builtFile == a.manifestPbOut && apexType == flattenedApex { if a.primaryApexType { + // To install companion files (init_rc, vintf_fragments) + // Copy some common properties of apexBundle to apex_manifest + commonProperties := []string{ + "LOCAL_INIT_RC", "LOCAL_VINTF_FRAGMENTS", + } + for _, name := range commonProperties { + if value, ok := apexAndroidMkData.Entries.EntryMap[name]; ok { + fmt.Fprintln(w, name+" := "+strings.Join(value, " ")) + } + } + // Make apex_manifest.pb module for this APEX to override all other // modules in the APEXes being overridden by this APEX var patterns []string @@ -294,7 +307,7 @@ func (a *apexBundle) androidMkForType() android.AndroidMkData { apexType := a.properties.ApexType if a.installable() { apexName := proptools.StringDefault(a.properties.Apex_name, name) - moduleNames = a.androidMkForFiles(w, name, apexName, moduleDir) + moduleNames = a.androidMkForFiles(w, name, apexName, moduleDir, data) } if apexType == flattenedApex { diff --git a/cc/library_sdk_member.go b/cc/library_sdk_member.go index c6b0bf0ff..ecfdc9977 100644 --- a/cc/library_sdk_member.go +++ b/cc/library_sdk_member.go @@ -119,6 +119,10 @@ func (mt *librarySdkMemberType) AddPrebuiltModule(ctx android.SdkMemberContext, ccModule := member.Variants()[0].(*Module) + if proptools.Bool(ccModule.Properties.Recovery_available) { + pbm.AddProperty("recovery_available", true) + } + if proptools.Bool(ccModule.VendorProperties.Vendor_available) { pbm.AddProperty("vendor_available", true) } @@ -287,8 +291,8 @@ func addPossiblyArchSpecificProperties(sdkModuleContext android.ModuleContext, b } // Add the collated include dir properties to the output. - for property, dirs := range includeDirs { - outputProperties.AddProperty(property, dirs) + for _, property := range android.SortedStringKeys(includeDirs) { + outputProperties.AddProperty(property, includeDirs[property]) } if len(libInfo.StubsVersion) > 0 { diff --git a/java/sdk_library.go b/java/sdk_library.go index 88cf46826..1a5ef544c 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -575,9 +575,7 @@ func (paths *scopePaths) extractStubsSourceAndApiInfoFromApiStubsProvider(dep an type commonToSdkLibraryAndImportProperties struct { // The naming scheme to use for the components that this module creates. // - // If not specified then it defaults to "default". The other allowable value is - // "framework-modules" which matches the scheme currently used by framework modules - // for the equivalent components represented as separate Soong modules. + // If not specified then it defaults to "default". // // This is a temporary mechanism to simplify conversion from separate modules for each // component that follow a different naming pattern to the default one. @@ -621,8 +619,6 @@ func (c *commonToSdkLibraryAndImport) initCommonAfterDefaultsApplied(ctx android switch schemeProperty { case "default": c.namingScheme = &defaultNamingScheme{} - case "framework-modules": - c.namingScheme = &frameworkModulesNamingScheme{} default: ctx.PropertyErrorf("naming_scheme", "expected 'default' but was %q", schemeProperty) return false @@ -1588,31 +1584,6 @@ func (s *defaultNamingScheme) apiModuleName(scope *apiScope, baseName string) st var _ sdkLibraryComponentNamingScheme = (*defaultNamingScheme)(nil) -type frameworkModulesNamingScheme struct { -} - -func (s *frameworkModulesNamingScheme) moduleSuffix(scope *apiScope) string { - suffix := scope.name - if scope == apiScopeModuleLib { - suffix = "module_libs_" - } - return suffix -} - -func (s *frameworkModulesNamingScheme) stubsLibraryModuleName(scope *apiScope, baseName string) string { - return fmt.Sprintf("%s-stubs-%sapi", baseName, s.moduleSuffix(scope)) -} - -func (s *frameworkModulesNamingScheme) stubsSourceModuleName(scope *apiScope, baseName string) string { - return fmt.Sprintf("%s-stubs-srcs-%sapi", baseName, s.moduleSuffix(scope)) -} - -func (s *frameworkModulesNamingScheme) apiModuleName(scope *apiScope, baseName string) string { - return fmt.Sprintf("%s-api-%sapi", baseName, s.moduleSuffix(scope)) -} - -var _ sdkLibraryComponentNamingScheme = (*frameworkModulesNamingScheme)(nil) - func moduleStubLinkType(name string) (stub bool, ret linkType) { // This suffix-based approach is fragile and could potentially mis-trigger. // TODO(b/155164730): Clean this up when modules no longer reference sdk_lib stubs directly. diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go index 0811ef530..8c9e2285d 100644 --- a/sdk/cc_sdk_test.go +++ b/sdk/cc_sdk_test.go @@ -1672,6 +1672,7 @@ func TestSnapshotWithCcLibrary(t *testing.T) { ], export_include_dirs: ["include"], stl: "none", + recovery_available: true, vendor_available: true, } `) @@ -1684,6 +1685,7 @@ cc_prebuilt_library { name: "myexports_mynativelib@current", sdk_member_name: "mynativelib", installable: false, + recovery_available: true, vendor_available: true, stl: "none", compile_multilib: "both", @@ -1711,6 +1713,7 @@ cc_prebuilt_library { cc_prebuilt_library { name: "mynativelib", prefer: false, + recovery_available: true, vendor_available: true, stl: "none", compile_multilib: "both", diff --git a/sdk/java_sdk_test.go b/sdk/java_sdk_test.go index 5911c718d..a7ee8d12f 100644 --- a/sdk/java_sdk_test.go +++ b/sdk/java_sdk_test.go @@ -1534,7 +1534,7 @@ func TestSnapshotWithJavaSdkLibrary_NamingScheme(t *testing.T) { apex_available: ["//apex_available:anyapex"], srcs: ["Test.java"], sdk_version: "current", - naming_scheme: "framework-modules", + naming_scheme: "default", public: { enabled: true, }, @@ -1549,7 +1549,7 @@ java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", apex_available: ["//apex_available:anyapex"], - naming_scheme: "framework-modules", + naming_scheme: "default", shared_library: true, public: { jars: ["sdk_library/public/myjavalib-stubs.jar"], @@ -1564,7 +1564,7 @@ java_sdk_library_import { name: "myjavalib", prefer: false, apex_available: ["//apex_available:anyapex"], - naming_scheme: "framework-modules", + naming_scheme: "default", shared_library: true, public: { jars: ["sdk_library/public/myjavalib-stubs.jar"], @@ -1581,9 +1581,9 @@ sdk_snapshot { } `), checkAllCopyRules(` -.intermediates/myjavalib-stubs-publicapi/android_common/javac/myjavalib-stubs-publicapi.jar -> sdk_library/public/myjavalib-stubs.jar -.intermediates/myjavalib-stubs-srcs-publicapi/android_common/myjavalib-stubs-srcs-publicapi_api.txt -> sdk_library/public/myjavalib.txt -.intermediates/myjavalib-stubs-srcs-publicapi/android_common/myjavalib-stubs-srcs-publicapi_removed.txt -> sdk_library/public/myjavalib-removed.txt +.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar +.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt +.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt `), checkMergeZips( ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip", |