From a16bd6b7141abfd639f62f9d0b971512adbc350e Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 21 Nov 2023 15:27:17 -0800 Subject: [PATCH] Don't write license data to Android-${TARGET_PRODUCT}.mk All the necessary license data is already propagated through the license metadata file, and the entries in Android-${TARGET_PRODUCT}.mk are not used. Remove them, which should both reduce the size and parsing cost of the Android-${TARGET_PRODUCT}.mk file and also removes a variable that changes when dependencies are added or removed, which will eventually allow running kati less often. Bug: 309006256 Test: No change to out/Android-aosp_cf_x86_64_phone.ninja Change-Id: Idfeb6fd10d77497ca274f8e74fe8e994ce1cafe6 --- android/androidmk.go | 20 -------------------- apex/androidmk.go | 1 - bpf/bpf.go | 2 -- phony/phony.go | 1 - sysprop/sysprop_library.go | 1 - 5 files changed, 25 deletions(-) diff --git a/android/androidmk.go b/android/androidmk.go index 62f82f247..f6e8799f3 100644 --- a/android/androidmk.go +++ b/android/androidmk.go @@ -486,17 +486,6 @@ func (a *AndroidMkEntries) GetDistForGoals(mod blueprint.Module) []string { return generateDistContributionsForMake(distContributions) } -// Write the license variables to Make for AndroidMkData.Custom(..) methods that do not call WriteAndroidMkData(..) -// It's required to propagate the license metadata even for module types that have non-standard interfaces to Make. -func (a *AndroidMkEntries) WriteLicenseVariables(w io.Writer) { - AndroidMkEmitAssignList(w, "LOCAL_LICENSE_KINDS", a.EntryMap["LOCAL_LICENSE_KINDS"]) - AndroidMkEmitAssignList(w, "LOCAL_LICENSE_CONDITIONS", a.EntryMap["LOCAL_LICENSE_CONDITIONS"]) - AndroidMkEmitAssignList(w, "LOCAL_NOTICE_FILE", a.EntryMap["LOCAL_NOTICE_FILE"]) - if pn, ok := a.EntryMap["LOCAL_LICENSE_PACKAGE_NAME"]; ok { - AndroidMkEmitAssignList(w, "LOCAL_LICENSE_PACKAGE_NAME", pn) - } -} - // fillInEntries goes through the common variable processing and calls the extra data funcs to // generate and fill in AndroidMkEntries's in-struct data, ready to be flushed to a file. type fillInEntriesContext interface { @@ -534,15 +523,6 @@ func (a *AndroidMkEntries) fillInEntries(ctx fillInEntriesContext, mod blueprint // Collect make variable assignment entries. a.SetString("LOCAL_PATH", ctx.ModuleDir(mod)) a.SetString("LOCAL_MODULE", name+a.SubName) - a.AddStrings("LOCAL_LICENSE_KINDS", base.commonProperties.Effective_license_kinds...) - a.AddStrings("LOCAL_LICENSE_CONDITIONS", base.commonProperties.Effective_license_conditions...) - a.AddStrings("LOCAL_NOTICE_FILE", base.commonProperties.Effective_license_text.Strings()...) - // TODO(b/151177513): Does this code need to set LOCAL_MODULE_IS_CONTAINER ? - if base.commonProperties.Effective_package_name != nil { - a.SetString("LOCAL_LICENSE_PACKAGE_NAME", *base.commonProperties.Effective_package_name) - } else if len(base.commonProperties.Effective_licenses) > 0 { - a.SetString("LOCAL_LICENSE_PACKAGE_NAME", strings.Join(base.commonProperties.Effective_licenses, " ")) - } a.SetString("LOCAL_MODULE_CLASS", a.Class) a.SetString("LOCAL_PREBUILT_MODULE_FILE", a.OutputFile.String()) a.AddStrings("LOCAL_REQUIRED_MODULES", a.Required...) diff --git a/apex/androidmk.go b/apex/androidmk.go index 6136cbd7a..4e968eaad 100644 --- a/apex/androidmk.go +++ b/apex/androidmk.go @@ -245,7 +245,6 @@ func (a *apexBundle) androidMkForType() android.AndroidMkData { fmt.Fprintln(w, "\ninclude $(CLEAR_VARS) # apex.apexBundle") fmt.Fprintln(w, "LOCAL_PATH :=", moduleDir) fmt.Fprintln(w, "LOCAL_MODULE :=", name) - data.Entries.WriteLicenseVariables(w) fmt.Fprintln(w, "LOCAL_MODULE_CLASS := ETC") // do we need a new class? fmt.Fprintln(w, "LOCAL_PREBUILT_MODULE_FILE :=", a.outputFile.String()) fmt.Fprintln(w, "LOCAL_MODULE_PATH :=", a.installDir.String()) diff --git a/bpf/bpf.go b/bpf/bpf.go index ba825cf28..58213aa24 100644 --- a/bpf/bpf.go +++ b/bpf/bpf.go @@ -229,7 +229,6 @@ func (bpf *bpf) AndroidMk() android.AndroidMkData { names = append(names, objName) fmt.Fprintln(w, "include $(CLEAR_VARS)", " # bpf.bpf.obj") fmt.Fprintln(w, "LOCAL_MODULE := ", objName) - data.Entries.WriteLicenseVariables(w) fmt.Fprintln(w, "LOCAL_PREBUILT_MODULE_FILE :=", obj.String()) fmt.Fprintln(w, "LOCAL_MODULE_STEM :=", obj.Base()) fmt.Fprintln(w, "LOCAL_MODULE_CLASS := ETC") @@ -239,7 +238,6 @@ func (bpf *bpf) AndroidMk() android.AndroidMkData { } fmt.Fprintln(w, "include $(CLEAR_VARS)", " # bpf.bpf") fmt.Fprintln(w, "LOCAL_MODULE := ", name) - data.Entries.WriteLicenseVariables(w) android.AndroidMkEmitAssignList(w, "LOCAL_REQUIRED_MODULES", names) fmt.Fprintln(w, "include $(BUILD_PHONY_PACKAGE)") }, diff --git a/phony/phony.go b/phony/phony.go index 760b79b8a..a8b651aa8 100644 --- a/phony/phony.go +++ b/phony/phony.go @@ -52,7 +52,6 @@ func (p *phony) AndroidMk() android.AndroidMkData { fmt.Fprintln(w, "\ninclude $(CLEAR_VARS)", " # phony.phony") fmt.Fprintln(w, "LOCAL_PATH :=", moduleDir) fmt.Fprintln(w, "LOCAL_MODULE :=", name) - data.Entries.WriteLicenseVariables(w) if p.Host() { fmt.Fprintln(w, "LOCAL_IS_HOST_MODULE := true") } diff --git a/sysprop/sysprop_library.go b/sysprop/sysprop_library.go index fe2cc9ca4..8bf5f14ca 100644 --- a/sysprop/sysprop_library.go +++ b/sysprop/sysprop_library.go @@ -351,7 +351,6 @@ func (m *syspropLibrary) AndroidMk() android.AndroidMkData { // Actual implementation libraries are created on LoadHookMutator fmt.Fprintln(w, "\ninclude $(CLEAR_VARS)", " # sysprop.syspropLibrary") fmt.Fprintln(w, "LOCAL_MODULE :=", m.Name()) - data.Entries.WriteLicenseVariables(w) fmt.Fprintf(w, "LOCAL_MODULE_CLASS := FAKE\n") fmt.Fprintf(w, "LOCAL_MODULE_TAGS := optional\n") fmt.Fprintf(w, "include $(BUILD_SYSTEM)/base_rules.mk\n\n")