| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| import sys |
| |
| if __name__ == '__main__': |
| # Use optparse instead of argparse because this needs to work on old Python versions. |
| import optparse |
| |
| parser = optparse.OptionParser(description='Traffic Server Sphinx docs configuration') |
| parser.add_option('--check-version', action='store_true', dest='checkvers') |
| |
| (options, args) = parser.parse_args() |
| |
| # Check whether we have the required version of sphinx. |
| if options.checkvers: |
| min_sphinx_version_info = (1,7,5) |
| min_sphinx_version = '.'.join(str(x) for x in min_sphinx_version_info) |
| |
| print('checking for sphinx version >= {0}... '.format(min_sphinx_version), end="") |
| # Need at least 1.5.1 to use svg |
| # version >= 1.2 guarantees sphinx.version_info is available. |
| try: |
| import sphinx |
| |
| if 'version_info' in dir(sphinx): |
| print('Found Sphinx version {0}'.format(sphinx.version_info)) |
| else: |
| version = sphinx.__version__ |
| print('Found Sphinx version (old) {0}'.format(sphinx.__version__)) |
| sphinx.version_info = version.split('.') |
| |
| if sphinx.version_info < min_sphinx_version_info: |
| print('sphinx version is older than {0}'.format(min_sphinx_version)) |
| sys.exit(1) |
| |
| except Exception as e: |
| print(e) |
| sys.exit(1) |
| |
| print('checking for sphinx.writers.manpage... ', end="") |
| try: |
| from sphinx.writers import manpage |
| print('yes') |
| except Exception as e: |
| print(e) |
| sys.exit(1) |
| |
| print('checking for sphinxcontrib.plantuml...', end="") |
| try: |
| import sphinxcontrib.plantuml |
| print('yes') |
| except Exception as e: |
| print(e); |
| sys.exit(1) |