Loading apex/androidmk.go +10 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,11 @@ func (a *apexBundle) androidMkForFiles(w io.Writer, apexName, moduleDir string) } } else { fmt.Fprintln(w, "LOCAL_MODULE_PATH :=", pathWhenActivated) // For non-flattend APEXes, the merged notice file is attached to the APEX itself. // We don't need to have notice file for the individual modules in it. Otherwise, // we will have duplicated notice entries. fmt.Fprintln(w, "LOCAL_NO_NOTICE_FILE := true") } fmt.Fprintln(w, "LOCAL_PREBUILT_MODULE_FILE :=", fi.builtFile.String()) fmt.Fprintln(w, "LOCAL_MODULE_CLASS :=", fi.class.NameInMake()) Loading Loading @@ -271,6 +276,11 @@ func (a *apexBundle) androidMkForType() android.AndroidMkData { if len(postInstallCommands) > 0 { fmt.Fprintln(w, "LOCAL_POST_INSTALL_CMD :=", strings.Join(postInstallCommands, " && ")) } if a.mergedNotices.Merged.Valid() { fmt.Fprintln(w, "LOCAL_NOTICE_FILE :=", a.mergedNotices.Merged.Path().String()) } fmt.Fprintln(w, "include $(BUILD_PREBUILT)") if apexType == imageApex { Loading apex/apex.go +3 −0 Original line number Diff line number Diff line Loading @@ -818,6 +818,9 @@ type apexBundle struct { // Whether to create symlink to the system file instead of having a file // inside the apex or not linkToSystemLib bool // Struct holding the merged notice file paths in different formats mergedNotices android.NoticeOutputs } func addDependenciesForNativeModules(ctx android.BottomUpMutatorContext, Loading apex/builder.go +7 −7 Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ func (a *apexBundle) buildManifest(ctx android.ModuleContext, provideNativeLibs, }) } func (a *apexBundle) buildNoticeFile(ctx android.ModuleContext, apexFileName string) android.OptionalPath { func (a *apexBundle) buildNoticeFiles(ctx android.ModuleContext, apexFileName string) android.NoticeOutputs { noticeFiles := []android.Path{} for _, f := range a.filesInfo { if f.module != nil { Loading @@ -227,10 +227,10 @@ func (a *apexBundle) buildNoticeFile(ctx android.ModuleContext, apexFileName str } if len(noticeFiles) == 0 { return android.OptionalPath{} return android.NoticeOutputs{} } return android.BuildNoticeOutput(ctx, a.installDir, apexFileName, android.FirstUniquePaths(noticeFiles)).HtmlGzOutput return android.BuildNoticeOutput(ctx, a.installDir, apexFileName, android.FirstUniquePaths(noticeFiles)) } func (a *apexBundle) buildInstalledFilesFile(ctx android.ModuleContext, builtApex android.Path, imageDir android.Path) android.OutputPath { Loading Loading @@ -394,11 +394,11 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) { optFlags = append(optFlags, "--target_sdk_version "+targetSdkVersion) optFlags = append(optFlags, "--min_sdk_version "+minSdkVersion) noticeFile := a.buildNoticeFile(ctx, a.Name()+suffix) if noticeFile.Valid() { a.mergedNotices = a.buildNoticeFiles(ctx, a.Name()+suffix) if a.mergedNotices.HtmlGzOutput.Valid() { // If there's a NOTICE file, embed it as an asset file in the APEX. implicitInputs = append(implicitInputs, noticeFile.Path()) optFlags = append(optFlags, "--assets_dir "+filepath.Dir(noticeFile.String())) implicitInputs = append(implicitInputs, a.mergedNotices.HtmlGzOutput.Path()) optFlags = append(optFlags, "--assets_dir "+filepath.Dir(a.mergedNotices.HtmlGzOutput.String())) } if ctx.ModuleDir() != "system/apex/apexd/apexd_testdata" && ctx.ModuleDir() != "system/apex/shim/build" && a.testOnlyShouldSkipHashtreeGeneration() { Loading Loading
apex/androidmk.go +10 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,11 @@ func (a *apexBundle) androidMkForFiles(w io.Writer, apexName, moduleDir string) } } else { fmt.Fprintln(w, "LOCAL_MODULE_PATH :=", pathWhenActivated) // For non-flattend APEXes, the merged notice file is attached to the APEX itself. // We don't need to have notice file for the individual modules in it. Otherwise, // we will have duplicated notice entries. fmt.Fprintln(w, "LOCAL_NO_NOTICE_FILE := true") } fmt.Fprintln(w, "LOCAL_PREBUILT_MODULE_FILE :=", fi.builtFile.String()) fmt.Fprintln(w, "LOCAL_MODULE_CLASS :=", fi.class.NameInMake()) Loading Loading @@ -271,6 +276,11 @@ func (a *apexBundle) androidMkForType() android.AndroidMkData { if len(postInstallCommands) > 0 { fmt.Fprintln(w, "LOCAL_POST_INSTALL_CMD :=", strings.Join(postInstallCommands, " && ")) } if a.mergedNotices.Merged.Valid() { fmt.Fprintln(w, "LOCAL_NOTICE_FILE :=", a.mergedNotices.Merged.Path().String()) } fmt.Fprintln(w, "include $(BUILD_PREBUILT)") if apexType == imageApex { Loading
apex/apex.go +3 −0 Original line number Diff line number Diff line Loading @@ -818,6 +818,9 @@ type apexBundle struct { // Whether to create symlink to the system file instead of having a file // inside the apex or not linkToSystemLib bool // Struct holding the merged notice file paths in different formats mergedNotices android.NoticeOutputs } func addDependenciesForNativeModules(ctx android.BottomUpMutatorContext, Loading
apex/builder.go +7 −7 Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ func (a *apexBundle) buildManifest(ctx android.ModuleContext, provideNativeLibs, }) } func (a *apexBundle) buildNoticeFile(ctx android.ModuleContext, apexFileName string) android.OptionalPath { func (a *apexBundle) buildNoticeFiles(ctx android.ModuleContext, apexFileName string) android.NoticeOutputs { noticeFiles := []android.Path{} for _, f := range a.filesInfo { if f.module != nil { Loading @@ -227,10 +227,10 @@ func (a *apexBundle) buildNoticeFile(ctx android.ModuleContext, apexFileName str } if len(noticeFiles) == 0 { return android.OptionalPath{} return android.NoticeOutputs{} } return android.BuildNoticeOutput(ctx, a.installDir, apexFileName, android.FirstUniquePaths(noticeFiles)).HtmlGzOutput return android.BuildNoticeOutput(ctx, a.installDir, apexFileName, android.FirstUniquePaths(noticeFiles)) } func (a *apexBundle) buildInstalledFilesFile(ctx android.ModuleContext, builtApex android.Path, imageDir android.Path) android.OutputPath { Loading Loading @@ -394,11 +394,11 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) { optFlags = append(optFlags, "--target_sdk_version "+targetSdkVersion) optFlags = append(optFlags, "--min_sdk_version "+minSdkVersion) noticeFile := a.buildNoticeFile(ctx, a.Name()+suffix) if noticeFile.Valid() { a.mergedNotices = a.buildNoticeFiles(ctx, a.Name()+suffix) if a.mergedNotices.HtmlGzOutput.Valid() { // If there's a NOTICE file, embed it as an asset file in the APEX. implicitInputs = append(implicitInputs, noticeFile.Path()) optFlags = append(optFlags, "--assets_dir "+filepath.Dir(noticeFile.String())) implicitInputs = append(implicitInputs, a.mergedNotices.HtmlGzOutput.Path()) optFlags = append(optFlags, "--assets_dir "+filepath.Dir(a.mergedNotices.HtmlGzOutput.String())) } if ctx.ModuleDir() != "system/apex/apexd/apexd_testdata" && ctx.ModuleDir() != "system/apex/shim/build" && a.testOnlyShouldSkipHashtreeGeneration() { Loading