You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2010/02/15 15:50:07 UTC
svn commit: r910226 - /qpid/trunk/qpid/python/setup.py
Author: rhs
Date: Mon Feb 15 14:50:07 2010
New Revision: 910226
URL: http://svn.apache.org/viewvc?rev=910226&view=rev
Log:
added build_doc to setup.py
Modified:
qpid/trunk/qpid/python/setup.py
Modified: qpid/trunk/qpid/python/setup.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/setup.py?rev=910226&r1=910225&r2=910226&view=diff
==============================================================================
--- qpid/trunk/qpid/python/setup.py (original)
+++ qpid/trunk/qpid/python/setup.py Mon Feb 15 14:50:07 2010
@@ -19,9 +19,12 @@
#
import os, re, sys
from distutils.core import setup, Command
+from distutils.command.build import build as _build
from distutils.command.build_py import build_py as _build_py
+from distutils.command.clean import clean as _clean
from distutils.command.install_lib import install_lib as _install_lib
from distutils.dep_util import newer
+from distutils.dir_util import remove_tree
from distutils.errors import DistutilsFileError
from distutils import log
from stat import ST_ATIME, ST_MTIME, ST_MODE, S_IMODE
@@ -91,6 +94,64 @@
return Command.copy_file(self, src, dst, preserve_mode, preserve_times,
link, level)
+doc_option = [('build-doc', None, 'build directory for documentation')]
+
+class build(_build):
+
+ user_options = _build.user_options + doc_option
+
+ def initialize_options(self):
+ _build.initialize_options(self)
+ self.build_doc = None
+
+ def finalize_options(self):
+ _build.finalize_options(self)
+ if self.build_doc is None:
+ self.build_doc = "%s/doc" % self.build_base
+
+ def get_sub_commands(self):
+ return _build.get_sub_commands(self) + ["build_doc"]
+
+class build_doc(Command):
+
+ user_options = doc_option
+
+ def initialize_options(self):
+ self.build_doc = None
+
+ def finalize_options(self):
+ self.set_undefined_options('build', ('build_doc', 'build_doc'))
+
+ def run(self):
+ from epydoc.docbuilder import build_doc_index
+ from epydoc.docwriter.html import HTMLWriter
+
+ names = ["qpid.messaging"]
+ doc_index = build_doc_index(names, True, True)
+ html_writer = HTMLWriter(doc_index)
+ self.mkpath(self.build_doc)
+ log.info('epydoc %s to %s' % (", ".join(names), self.build_doc))
+ html_writer.write(self.build_doc)
+
+class clean(_clean):
+
+ user_options = _clean.user_options + doc_option
+
+ def initialize_options(self):
+ _clean.initialize_options(self)
+ self.build_doc = None
+
+ def finalize_options(self):
+ _clean.finalize_options(self)
+ self.set_undefined_options('build', ('build_doc', 'build_doc'))
+
+ def run(self):
+ if self.all:
+ if os.path.exists(self.build_doc):
+ remove_tree(self.build_doc, dry_run=self.dry_run)
+ else:
+ log.debug("%s doesn't exist -- can't clean it", self.build_doc)
+ _clean.run(self)
ann = re.compile(r"([ \t]*)@([_a-zA-Z][_a-zA-Z0-9]*)([ \t\n\r]+def[ \t]+)([_a-zA-Z][_a-zA-Z0-9]*)")
line = re.compile(r"\n([ \t]*)[^ \t\n#]+")
@@ -169,5 +230,8 @@
url="http://qpid.apache.org/",
license="Apache Software License",
description="Python client implementation for Apache Qpid",
- cmdclass={"build_py": build_py,
+ cmdclass={"build": build,
+ "build_py": build_py,
+ "build_doc": build_doc,
+ "clean": clean,
"install_lib": install_lib})
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org