Loading android/namespace.go +8 −3 Original line number Diff line number Diff line Loading @@ -325,8 +325,8 @@ func (r *NameResolver) chooseId(namespace *Namespace) { namespace.id = strconv.Itoa(id) } func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace blueprint.Namespace, depName string) (err error) { text := fmt.Sprintf("%q depends on undefined module %q", depender, depName) func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace blueprint.Namespace, depName string, guess []string) (err error) { text := fmt.Sprintf("%q depends on undefined module %q.", depender, depName) _, _, isAbs := r.parseFullyQualifiedName(depName) if isAbs { Loading @@ -345,9 +345,10 @@ func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace } _, skipped := namespace.moduleContainer.SkippedModuleFromName(depName, nil) if skipped { skippedDepErrors = append(skippedDepErrors, namespace.moduleContainer.MissingDependencyError(depender, dependerNamespace, depName)) skippedDepErrors = append(skippedDepErrors, namespace.moduleContainer.MissingDependencyError(depender, dependerNamespace, depName, nil)) } } if len(foundInNamespaces) > 0 { // determine which namespaces are visible to dependerNamespace dependerNs := dependerNamespace.(*Namespace) Loading @@ -363,6 +364,10 @@ func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace text += fmt.Sprintf("\n%s", err.Error()) } if len(guess) > 0 { text += fmt.Sprintf("\nOr did you mean %q?", guess) } return fmt.Errorf(text) } Loading android/namespace_test.go +9 −6 Original line number Diff line number Diff line Loading @@ -174,9 +174,10 @@ func TestDependingOnModuleInNonImportedNamespace(t *testing.T) { `, }), ). ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:4:5: "b" depends on undefined module "a" ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:4:5: "b" depends on undefined module "a". Module "b" is defined in namespace "dir3" which can read these 2 namespaces: ["dir3" "."] Module "a" can be found in these namespaces: ["dir1" "dir2"]\E`)). Module "a" can be found in these namespaces: ["dir1" "dir2"]\E Or did you mean ["soong_namespace"]?`)). RunTest(t) } Loading Loading @@ -421,9 +422,10 @@ func TestNamespacesDontInheritParentNamespaces(t *testing.T) { `, }), ). ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir1/subdir1/Android.bp:4:5: "b" depends on undefined module "a" ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir1/subdir1/Android.bp:4:5: "b" depends on undefined module "a". Module "b" is defined in namespace "dir1/subdir1" which can read these 2 namespaces: ["dir1/subdir1" "."] Module "a" can be found in these namespaces: ["dir1"]\E`)). Module "a" can be found in these namespaces: ["dir1"]\E Or did you mean ["soong_namespace"]?`)). RunTest(t) } Loading Loading @@ -481,9 +483,10 @@ func TestNamespaceImportsNotTransitive(t *testing.T) { `, }), ). ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:5:5: "c" depends on undefined module "a" ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:5:5: "c" depends on undefined module "a". Module "c" is defined in namespace "dir3" which can read these 3 namespaces: ["dir3" "dir2" "."] Module "a" can be found in these namespaces: ["dir1"]\E`)). Module "a" can be found in these namespaces: ["dir1"]\E Or did you mean ["b"]?`)). RunTest(t) } Loading Loading
android/namespace.go +8 −3 Original line number Diff line number Diff line Loading @@ -325,8 +325,8 @@ func (r *NameResolver) chooseId(namespace *Namespace) { namespace.id = strconv.Itoa(id) } func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace blueprint.Namespace, depName string) (err error) { text := fmt.Sprintf("%q depends on undefined module %q", depender, depName) func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace blueprint.Namespace, depName string, guess []string) (err error) { text := fmt.Sprintf("%q depends on undefined module %q.", depender, depName) _, _, isAbs := r.parseFullyQualifiedName(depName) if isAbs { Loading @@ -345,9 +345,10 @@ func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace } _, skipped := namespace.moduleContainer.SkippedModuleFromName(depName, nil) if skipped { skippedDepErrors = append(skippedDepErrors, namespace.moduleContainer.MissingDependencyError(depender, dependerNamespace, depName)) skippedDepErrors = append(skippedDepErrors, namespace.moduleContainer.MissingDependencyError(depender, dependerNamespace, depName, nil)) } } if len(foundInNamespaces) > 0 { // determine which namespaces are visible to dependerNamespace dependerNs := dependerNamespace.(*Namespace) Loading @@ -363,6 +364,10 @@ func (r *NameResolver) MissingDependencyError(depender string, dependerNamespace text += fmt.Sprintf("\n%s", err.Error()) } if len(guess) > 0 { text += fmt.Sprintf("\nOr did you mean %q?", guess) } return fmt.Errorf(text) } Loading
android/namespace_test.go +9 −6 Original line number Diff line number Diff line Loading @@ -174,9 +174,10 @@ func TestDependingOnModuleInNonImportedNamespace(t *testing.T) { `, }), ). ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:4:5: "b" depends on undefined module "a" ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:4:5: "b" depends on undefined module "a". Module "b" is defined in namespace "dir3" which can read these 2 namespaces: ["dir3" "."] Module "a" can be found in these namespaces: ["dir1" "dir2"]\E`)). Module "a" can be found in these namespaces: ["dir1" "dir2"]\E Or did you mean ["soong_namespace"]?`)). RunTest(t) } Loading Loading @@ -421,9 +422,10 @@ func TestNamespacesDontInheritParentNamespaces(t *testing.T) { `, }), ). ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir1/subdir1/Android.bp:4:5: "b" depends on undefined module "a" ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir1/subdir1/Android.bp:4:5: "b" depends on undefined module "a". Module "b" is defined in namespace "dir1/subdir1" which can read these 2 namespaces: ["dir1/subdir1" "."] Module "a" can be found in these namespaces: ["dir1"]\E`)). Module "a" can be found in these namespaces: ["dir1"]\E Or did you mean ["soong_namespace"]?`)). RunTest(t) } Loading Loading @@ -481,9 +483,10 @@ func TestNamespaceImportsNotTransitive(t *testing.T) { `, }), ). ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:5:5: "c" depends on undefined module "a" ExtendWithErrorHandler(FixtureExpectsOneErrorPattern(`\Qdir3/Android.bp:5:5: "c" depends on undefined module "a". Module "c" is defined in namespace "dir3" which can read these 3 namespaces: ["dir3" "dir2" "."] Module "a" can be found in these namespaces: ["dir1"]\E`)). Module "a" can be found in these namespaces: ["dir1"]\E Or did you mean ["b"]?`)). RunTest(t) } Loading