diff options
| author | 2023-03-31 17:06:37 +0000 | |
|---|---|---|
| committer | 2023-03-31 17:06:37 +0000 | |
| commit | aeabcb786926190bade027d80b486d1cc7843dc9 (patch) | |
| tree | ed2a7a596c1931b03c5cf3a90751e308ce351857 | |
| parent | ac69244b7baf8120767ccc6bdfcf5468765d149f (diff) | |
| parent | e0033ac0126eae59557c0ab66af22d80150811cc (diff) | |
Merge "improve error handling for SourceRootDirs" am: b72610665c am: dad03f387c am: e0033ac012
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2516015
Change-Id: Icfaf13bc59e3ac50a57f7c5e68fe6d4fe565b29d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | android/namespace.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/android/namespace.go b/android/namespace.go index f357ca7b7..c47a1c593 100644 --- a/android/namespace.go +++ b/android/namespace.go @@ -245,6 +245,10 @@ func (r *NameResolver) AllModules() []blueprint.ModuleGroup { return allModules } +func (r *NameResolver) SkippedModuleFromName(moduleName string, namespace blueprint.Namespace) (skipInfos []blueprint.SkippedModuleInfo, skipped bool) { + return r.rootNamespace.moduleContainer.SkippedModuleFromName(moduleName, namespace) +} + // parses a fully-qualified path (like "//namespace_path:module_name") into a namespace name and a // module name func (r *NameResolver) parseFullyQualifiedName(name string) (namespaceName string, moduleName string, ok bool) { @@ -333,11 +337,16 @@ func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace // determine which namespaces the module can be found in foundInNamespaces := []string{} + skippedDepErrors := []error{} for _, namespace := range r.sortedNamespaces.sortedItems() { _, found := namespace.moduleContainer.ModuleFromName(depName, nil) if found { foundInNamespaces = append(foundInNamespaces, namespace.Path) } + _, skipped := namespace.moduleContainer.SkippedModuleFromName(depName, nil) + if skipped { + skippedDepErrors = append(skippedDepErrors, namespace.moduleContainer.MissingDependencyError(depender, dependerNamespace, depName)) + } } if len(foundInNamespaces) > 0 { // determine which namespaces are visible to dependerNamespace @@ -350,6 +359,9 @@ func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace text += fmt.Sprintf("\nModule %q is defined in namespace %q which can read these %v namespaces: %q", depender, dependerNs.Path, len(importedNames), importedNames) text += fmt.Sprintf("\nModule %q can be found in these namespaces: %q", depName, foundInNamespaces) } + for _, err := range skippedDepErrors { + text += fmt.Sprintf("\n%s", err.Error()) + } return fmt.Errorf(text) } |