Added the DEBUG global (set from the DISTUTILS_DEBUG environment variable).
authorGreg Ward <gward@python.net>
Fri, 26 May 2000 00:54:52 +0000 (00:54 +0000)
committerGreg Ward <gward@python.net>
Fri, 26 May 2000 00:54:52 +0000 (00:54 +0000)
Changed the exception-handling code in 'setup()' to re-raise exceptions
  if DEBUG is true.

Lib/distutils/core.py

index e22db939c9f8f14658eaf72c3f5bed2495b355d3..cd0f8e9694aea3cb12948df85a07e18f928b3c28 100644 (file)
@@ -27,6 +27,11 @@ usage: %s [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
 """ % ((os.path.basename(sys.argv[0]),) * 4)
 
 
+# If DISTUTILS_DEBUG is anything other than the empty string, we run in
+# debug mode.
+DEBUG = os.environ.get('DISTUTILS_DEBUG')
+
+
 def setup (**attrs):
     """The gateway to the Distutils: do everything your setup script
        needs to do, in a highly flexible and user-driven way.  Briefly:
@@ -101,18 +106,26 @@ def setup (**attrs):
             # check for Python 1.5.2-style {IO,OS}Error exception objects
             if hasattr (exc, 'filename') and hasattr (exc, 'strerror'):
                 if exc.filename:
-                    raise SystemExit, \
-                          "error: %s: %s" % (exc.filename, exc.strerror)
+                    error = "error: %s: %s" % (exc.filename, exc.strerror)
                 else:
                     # two-argument functions in posix module don't
                     # include the filename in the exception object!
-                    raise SystemExit, \
-                          "error: %s" % exc.strerror
+                    error = "error: %s" % exc.strerror
             else:
-                raise SystemExit, "error: " + str(exc[-1])
+                error = "error: " + str(exc[-1])
+
+            if DEBUG:
+                sys.stderr.write(error + "\n")
+                raise
+            else:
+                raise SystemExit, error
+            
         except (DistutilsExecError,
                 DistutilsFileError,
                 DistutilsOptionError), msg:
-            raise SystemExit, "error: " + str(msg)
+            if DEBUG:
+                raise
+            else:
+                raise SystemExit, "error: " + str(msg)
 
 # setup ()