Commits

Anonymous committed 1ef8c81

Better error message when a source file is missing.

  • Participants
  • Parent commits 725e538

Comments (0)

Files changed (5)

     having the same string re-appended to the end, yielding an incorrect
     path name.
 
+  - Supply a more descriptive error message when the source for a target
+    can't be found.
+
   From Vincent Risi:
 
   - Add support for the bcc32, ilink32 and tlib Borland tools.

src/engine/SCons/Node/__init__.py

                    not node.rexists()
         missing_sources = filter(missing, self.children())
         if missing_sources:
-            desc = "No Builder for target `%s', needed by `%s'." % (missing_sources[0], self)
+            desc = "Source `%s' not found, needed by target `%s'." % (missing_sources[0], self)
             raise SCons.Errors.StopError, desc
 
     def remove(self):
 """)
 
 test.run(arguments='A',
-         stderr="scons: \\*\\*\\* No Builder for target `D', needed by `C'.  Stop.\n",
+         stderr="scons: \\*\\*\\* Source `D' not found, needed by target `C'.  Stop.\n",
          status=2)
 
 test.pass_test()

test/bad-drive.py

          status = 2)
 
 test.run(arguments = bad_drive + 'no_target_2',
-         stderr = "scons: *** No Builder for target `ccc.does_not_exist', needed by `%sno_target_2'.  Stop.\n" % bad_drive,
+         stderr = "scons: *** Source `ccc.does_not_exist' not found, needed by target `%sno_target_2'.  Stop.\n" % bad_drive,
          status = 2)
 
 test.run(arguments = 'ddd.out',
-         stderr = "scons: *** No Builder for target `%sno_source', needed by `ddd.out'.  Stop.\n" % bad_drive,
+         stderr = "scons: *** Source `%sno_source' not found, needed by target `ddd.out'.  Stop.\n" % bad_drive,
          status = 2)
 
 test.pass_test()

test/nonexistent.py

          status = 2)
 
 test.run(arguments = "aaa.out",
-         stderr = "scons: *** No Builder for target `aaa.in', needed by `aaa.out'.  Stop.\n",
+         stderr = "scons: *** Source `aaa.in' not found, needed by target `aaa.out'.  Stop.\n",
          status = 2)
 
 test.run(arguments = "-k bbb.out aaa.out",
-         stderr = """scons: *** No Builder for target `bbb.in', needed by `bbb.out'.
-scons: *** No Builder for target `aaa.in', needed by `aaa.out'.
+         stderr = """scons: *** Source `bbb.in' not found, needed by target `bbb.out'.
+scons: *** Source `aaa.in' not found, needed by target `aaa.out'.
 """,
          status = 2)