summaryrefslogtreecommitdiffstats
path: root/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg
diff options
context:
space:
mode:
Diffstat (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg')
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/PKG-INFO58
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/SOURCES.txt88
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/dependency_links.txt1
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/entry_points.txt12
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/not-zip-safe1
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/top_level.txt1
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/__init__.py0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/builddoc.py230
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/__init__.py0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/main.py110
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/core.py154
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/extra_files.py35
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/find_package.py29
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/git.py294
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/__init__.py28
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/backwards.py33
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/base.py34
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/commands.py66
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/files.py103
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/metadata.py32
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/options.py53
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/packaging.py677
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/pbr_json.py34
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/testr_command.py156
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/__init__.py0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/base.py218
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_commands.py66
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_core.py147
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_files.py78
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_hooks.py100
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_integration.py122
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_packaging.py520
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_setup.py430
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_util.py80
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_version.py298
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_wsgi.py171
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/CHANGES.txt86
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/LICENSE.txt29
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/MANIFEST.in2
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/README.txt148
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/a.txt0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/b.txt0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/c.rst0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/extra-file.txt0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/git-extra-file.txt0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/__init__.py3
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/_setup_hooks.py65
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/cmd.py26
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/extra.py0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/1.txt0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/2.txt0
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/wsgi.py31
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.cfg57
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.py22
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/src/testext.c28
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/test-requirements.txt1
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/util.py74
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/util.py682
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/version.py473
59 files changed, 0 insertions, 6186 deletions
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/PKG-INFO b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/PKG-INFO
deleted file mode 100644
index 3b0c63b..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/PKG-INFO
+++ /dev/null
@@ -1,58 +0,0 @@
-Metadata-Version: 1.1
-Name: pbr
-Version: 1.8.0
-Summary: Python Build Reasonableness
-Home-page: https://launchpad.net/pbr
-Author: OpenStack
-Author-email: openstack-dev@lists.openstack.org
-License: UNKNOWN
-Description: Introduction
- ============
-
- PBR is a library that injects some useful and sensible default behaviors
- into your setuptools run. It started off life as the chunks of code that
- were copied between all of the `OpenStack`_ projects. Around the time that
- OpenStack hit 18 different projects each with at least 3 active branches,
- it seemed like a good time to make that code into a proper reusable library.
-
- PBR is only mildly configurable. The basic idea is that there's a decent
- way to run things and if you do, you should reap the rewards, because then
- it's simple and repeatable. If you want to do things differently, cool! But
- you've already got the power of Python at your fingertips, so you don't
- really need PBR.
-
- PBR builds on top of the work that `d2to1`_ started to provide for declarative
- configuration. `d2to1`_ is itself an implementation of the ideas behind
- `distutils2`_. Although `distutils2`_ is now abandoned in favor of work towards
- `PEP 426`_ and Metadata 2.0, declarative config is still a great idea and
- specifically important in trying to distribute setup code as a library
- when that library itself will alter how the setup is processed. As Metadata
- 2.0 and other modern Python packaging PEPs come out, PBR aims to support
- them as quickly as possible.
-
- * License: Apache License, Version 2.0
- * Documentation: http://docs.openstack.org/developer/pbr
- * Source: http://git.openstack.org/cgit/openstack-dev/pbr
- * Bugs: http://bugs.launchpad.net/pbr
-
- .. _d2to1: https://pypi.python.org/pypi/d2to1
- .. _distutils2: https://pypi.python.org/pypi/Distutils2
- .. _PEP 426: http://legacy.python.org/dev/peps/pep-0426/
- .. _OpenStack: https://www.openstack.org/
-
-
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Console
-Classifier: Environment :: OpenStack
-Classifier: Intended Audience :: Developers
-Classifier: Intended Audience :: Information Technology
-Classifier: License :: OSI Approved :: Apache Software License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/SOURCES.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/SOURCES.txt
deleted file mode 100644
index 42a79ee..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/SOURCES.txt
+++ /dev/null
@@ -1,88 +0,0 @@
-.mailmap
-.testr.conf
-AUTHORS
-CONTRIBUTING.rst
-ChangeLog
-LICENSE
-MANIFEST.in
-README.rst
-setup.cfg
-setup.py
-test-requirements.txt
-tox.ini
-doc/source/conf.py
-doc/source/index.rst
-doc/source/packagers.rst
-doc/source/semver.rst
-doc/source/testing.rst
-doc/source/_templates/.placeholder
-doc/source/_theme/layout.html
-doc/source/_theme/theme.conf
-doc/source/static/basic.css
-doc/source/static/default.css
-doc/source/static/header-line.gif
-doc/source/static/header_bg.jpg
-doc/source/static/jquery.tweet.js
-doc/source/static/nature.css
-doc/source/static/openstack_logo.png
-doc/source/static/tweaks.css
-pbr/__init__.py
-pbr/builddoc.py
-pbr/core.py
-pbr/extra_files.py
-pbr/find_package.py
-pbr/git.py
-pbr/options.py
-pbr/packaging.py
-pbr/pbr_json.py
-pbr/testr_command.py
-pbr/util.py
-pbr/version.py
-pbr.egg-info/PKG-INFO
-pbr.egg-info/SOURCES.txt
-pbr.egg-info/dependency_links.txt
-pbr.egg-info/entry_points.txt
-pbr.egg-info/not-zip-safe
-pbr.egg-info/top_level.txt
-pbr/cmd/__init__.py
-pbr/cmd/main.py
-pbr/hooks/__init__.py
-pbr/hooks/backwards.py
-pbr/hooks/base.py
-pbr/hooks/commands.py
-pbr/hooks/files.py
-pbr/hooks/metadata.py
-pbr/tests/__init__.py
-pbr/tests/base.py
-pbr/tests/test_commands.py
-pbr/tests/test_core.py
-pbr/tests/test_files.py
-pbr/tests/test_hooks.py
-pbr/tests/test_integration.py
-pbr/tests/test_packaging.py
-pbr/tests/test_setup.py
-pbr/tests/test_util.py
-pbr/tests/test_version.py
-pbr/tests/test_wsgi.py
-pbr/tests/util.py
-pbr/tests/testpackage/CHANGES.txt
-pbr/tests/testpackage/LICENSE.txt
-pbr/tests/testpackage/MANIFEST.in
-pbr/tests/testpackage/README.txt
-pbr/tests/testpackage/extra-file.txt
-pbr/tests/testpackage/git-extra-file.txt
-pbr/tests/testpackage/setup.cfg
-pbr/tests/testpackage/setup.py
-pbr/tests/testpackage/test-requirements.txt
-pbr/tests/testpackage/data_files/a.txt
-pbr/tests/testpackage/data_files/b.txt
-pbr/tests/testpackage/data_files/c.rst
-pbr/tests/testpackage/pbr_testpackage/__init__.py
-pbr/tests/testpackage/pbr_testpackage/_setup_hooks.py
-pbr/tests/testpackage/pbr_testpackage/cmd.py
-pbr/tests/testpackage/pbr_testpackage/extra.py
-pbr/tests/testpackage/pbr_testpackage/wsgi.py
-pbr/tests/testpackage/pbr_testpackage/package_data/1.txt
-pbr/tests/testpackage/pbr_testpackage/package_data/2.txt
-pbr/tests/testpackage/src/testext.c
-tools/integration.sh \ No newline at end of file
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/dependency_links.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/dependency_links.txt
deleted file mode 100644
index 8b13789..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/entry_points.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/entry_points.txt
deleted file mode 100644
index 71832ff..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/entry_points.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-[console_scripts]
-pbr = pbr.cmd.main:main
-
-[distutils.commands]
-testr = pbr.testr_command:Testr
-
-[distutils.setup_keywords]
-pbr = pbr.core:pbr
-
-[egg_info.writers]
-pbr.json = pbr.pbr_json:write_pbr_json
-
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/not-zip-safe b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/not-zip-safe
deleted file mode 100644
index 8b13789..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/not-zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/top_level.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/top_level.txt
deleted file mode 100644
index 1d45dc6..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/EGG-INFO/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-pbr
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/__init__.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/__init__.py
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/builddoc.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/builddoc.py
deleted file mode 100644
index a91dda9..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/builddoc.py
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 2011 OpenStack LLC.
-# Copyright 2012-2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-from distutils import log
-import fnmatch
-import os
-import pkg_resources
-import sys
-import warnings
-
-try:
- import cStringIO
-except ImportError:
- import io as cStringIO
-
-try:
- from sphinx import apidoc
- from sphinx import application
- from sphinx import config
- from sphinx import setup_command
-except Exception as e:
- # NOTE(dhellmann): During the installation of docutils, setuptools
- # tries to import pbr code to find the egg_info.writer hooks. That
- # imports this module, which imports sphinx, which imports
- # docutils, which is being installed. Because docutils uses 2to3
- # to convert its code during installation under python 3, the
- # import fails, but it fails with an error other than ImportError
- # (today it's a NameError on StandardError, an exception base
- # class). Convert the exception type here so it can be caught in
- # packaging.py where we try to determine if we can import and use
- # sphinx by importing this module. See bug #1403510 for details.
- raise ImportError(str(e))
-from pbr import git
-from pbr import options
-
-
-_rst_template = """%(heading)s
-%(underline)s
-
-.. automodule:: %(module)s
- :members:
- :undoc-members:
- :show-inheritance:
-"""
-
-
-def _find_modules(arg, dirname, files):
- for filename in files:
- if filename.endswith('.py') and filename != '__init__.py':
- arg["%s.%s" % (dirname.replace('/', '.'),
- filename[:-3])] = True
-
-
-class LocalBuildDoc(setup_command.BuildDoc):
-
- command_name = 'build_sphinx'
- builders = ['html', 'man']
-
- def _get_source_dir(self):
- option_dict = self.distribution.get_option_dict('build_sphinx')
- if 'source_dir' in option_dict:
- source_dir = os.path.join(option_dict['source_dir'][1], 'api')
- else:
- source_dir = 'doc/source/api'
- if not os.path.exists(source_dir):
- os.makedirs(source_dir)
- return source_dir
-
- def generate_autoindex(self, excluded_modules=None):
- log.info("[pbr] Autodocumenting from %s"
- % os.path.abspath(os.curdir))
- modules = {}
- source_dir = self._get_source_dir()
- for pkg in self.distribution.packages:
- if '.' not in pkg:
- for dirpath, dirnames, files in os.walk(pkg):
- _find_modules(modules, dirpath, files)
-
- def include(module):
- return not any(fnmatch.fnmatch(module, pat)
- for pat in excluded_modules)
-
- module_list = sorted(mod for mod in modules.keys() if include(mod))
- autoindex_filename = os.path.join(source_dir, 'autoindex.rst')
- with open(autoindex_filename, 'w') as autoindex:
- autoindex.write(""".. toctree::
- :maxdepth: 1
-
-""")
- for module in module_list:
- output_filename = os.path.join(source_dir,
- "%s.rst" % module)
- heading = "The :mod:`%s` Module" % module
- underline = "=" * len(heading)
- values = dict(module=module, heading=heading,
- underline=underline)
-
- log.info("[pbr] Generating %s"
- % output_filename)
- with open(output_filename, 'w') as output_file:
- output_file.write(_rst_template % values)
- autoindex.write(" %s.rst\n" % module)
-
- def _sphinx_tree(self):
- source_dir = self._get_source_dir()
- cmd = ['apidoc', '.', '-H', 'Modules', '-o', source_dir]
- apidoc.main(cmd + self.autodoc_tree_excludes)
-
- def _sphinx_run(self):
- if not self.verbose:
- status_stream = cStringIO.StringIO()
- else:
- status_stream = sys.stdout
- confoverrides = {}
- if self.version:
- confoverrides['version'] = self.version
- if self.release:
- confoverrides['release'] = self.release
- if self.today:
- confoverrides['today'] = self.today
- sphinx_config = config.Config(self.config_dir, 'conf.py', {}, [])
- sphinx_ver = pkg_resources.get_distribution("sphinx").version
- if pkg_resources.parse_version(sphinx_ver) >= \
- pkg_resources.parse_version('1.3.1'):
- sphinx_config.init_values(warnings.warn)
- else:
- sphinx_config.init_values()
- if self.builder == 'man' and len(sphinx_config.man_pages) == 0:
- return
- app = application.Sphinx(
- self.source_dir, self.config_dir,
- self.builder_target_dir, self.doctree_dir,
- self.builder, confoverrides, status_stream,
- freshenv=self.fresh_env, warningiserror=False)
-
- try:
- app.build(force_all=self.all_files)
- except Exception as err:
- from docutils import utils
- if isinstance(err, utils.SystemMessage):
- sys.stder.write('reST markup error:\n')
- sys.stderr.write(err.args[0].encode('ascii',
- 'backslashreplace'))
- sys.stderr.write('\n')
- else:
- raise
-
- if self.link_index:
- src = app.config.master_doc + app.builder.out_suffix
- dst = app.builder.get_outfilename('index')
- os.symlink(src, dst)
-
- def run(self):
- option_dict = self.distribution.get_option_dict('pbr')
- if git._git_is_installed():
- git.write_git_changelog(option_dict=option_dict)
- git.generate_authors(option_dict=option_dict)
- tree_index = options.get_boolean_option(option_dict,
- 'autodoc_tree_index_modules',
- 'AUTODOC_TREE_INDEX_MODULES')
- auto_index = options.get_boolean_option(option_dict,
- 'autodoc_index_modules',
- 'AUTODOC_INDEX_MODULES')
- if not os.getenv('SPHINX_DEBUG'):
- # NOTE(afazekas): These options can be used together,
- # but they do a very similar thing in a different way
- if tree_index:
- self._sphinx_tree()
- if auto_index:
- self.generate_autoindex(
- set(option_dict.get(
- "autodoc_exclude_modules",
- [None, ""])[1].split()))
-
- for builder in self.builders:
- self.builder = builder
- self.finalize_options()
- self.project = self.distribution.get_name()
- self.version = self.distribution.get_version()
- self.release = self.distribution.get_version()
- if options.get_boolean_option(option_dict,
- 'warnerrors', 'WARNERRORS'):
- self._sphinx_run()
- else:
- setup_command.BuildDoc.run(self)
-
- def initialize_options(self):
- # Not a new style class, super keyword does not work.
- setup_command.BuildDoc.initialize_options(self)
-
- # NOTE(dstanek): exclude setup.py from the autodoc tree index
- # builds because all projects will have an issue with it
- self.autodoc_tree_excludes = ['setup.py']
-
- def finalize_options(self):
- # Not a new style class, super keyword does not work.
- setup_command.BuildDoc.finalize_options(self)
- # Handle builder option from command line - override cfg
- option_dict = self.distribution.get_option_dict('build_sphinx')
- if 'command line' in option_dict.get('builder', [[]])[0]:
- self.builders = option_dict['builder'][1]
- # Allow builders to be configurable - as a comma separated list.
- if not isinstance(self.builders, list) and self.builders:
- self.builders = self.builders.split(',')
-
- # NOTE(dstanek): check for autodoc tree exclusion overrides
- # in the setup.cfg
- opt = 'autodoc_tree_excludes'
- option_dict = self.distribution.get_option_dict('pbr')
- if opt in option_dict:
- self.autodoc_tree_excludes = option_dict[opt][1]
- self.ensure_string_list(opt)
-
-
-class LocalBuildLatex(LocalBuildDoc):
- builders = ['latex']
- command_name = 'build_sphinx_latex'
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/__init__.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/__init__.py
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/main.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/main.py
deleted file mode 100644
index de189c4..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/cmd/main.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2014 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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 argparse
-import json
-import sys
-
-import pkg_resources
-
-import pbr.version
-
-
-def _get_metadata(package_name):
- try:
- return json.loads(
- pkg_resources.get_distribution(
- package_name).get_metadata('pbr.json'))
- except pkg_resources.DistributionNotFound:
- raise Exception('Package {0} not installed'.format(package_name))
- except Exception:
- return None
-
-
-def get_sha(args):
- sha = _get_info(args.name)['sha']
- if sha:
- print(sha)
-
-
-def get_info(args):
- print("{name}\t{version}\t{released}\t{sha}".format(
- **_get_info(args.name)))
-
-
-def _get_info(name):
- metadata = _get_metadata(name)
- version = pkg_resources.get_distribution(name).version
- if metadata:
- if metadata['is_release']:
- released = 'released'
- else:
- released = 'pre-release'
- sha = metadata['git_version']
- else:
- version_parts = version.split('.')
- if version_parts[-1].startswith('g'):
- sha = version_parts[-1][1:]
- released = 'pre-release'
- else:
- sha = ""
- released = "released"
- for part in version_parts:
- if not part.isdigit():
- released = "pre-release"
- return dict(name=name, version=version, sha=sha, released=released)
-
-
-def freeze(args):
- for dist in pkg_resources.working_set:
- info = _get_info(dist.project_name)
- output = "{name}=={version}".format(**info)
- if info['sha']:
- output += " # git sha {sha}".format(**info)
- print(output)
-
-
-def main():
- parser = argparse.ArgumentParser(
- description='pbr: Python Build Reasonableness')
- parser.add_argument(
- '-v', '--version', action='version',
- version=str(pbr.version.VersionInfo('pbr')))
-
- subparsers = parser.add_subparsers(
- title='commands', description='valid commands', help='additional help')
-
- cmd_sha = subparsers.add_parser('sha', help='print sha of package')
- cmd_sha.set_defaults(func=get_sha)
- cmd_sha.add_argument('name', help='package to print sha of')
-
- cmd_sha = subparsers.add_parser(
- 'info', help='print version info for package')
- cmd_sha.set_defaults(func=get_info)
- cmd_sha.add_argument('name', help='package to print info of')
-
- cmd_sha = subparsers.add_parser(
- 'freeze', help='print version info for all installed packages')
- cmd_sha.set_defaults(func=freeze)
-
- args = parser.parse_args()
- try:
- args.func(args)
- except Exception as e:
- print(e)
-
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/core.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/core.py
deleted file mode 100644
index ef6a546..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/core.py
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-
-from distutils import core
-from distutils import errors
-import logging
-import os
-import sys
-import warnings
-
-from setuptools import dist
-
-from pbr import util
-
-
-_saved_core_distribution = core.Distribution
-
-
-def _monkeypatch_distribution():
- core.Distribution = dist._get_unpatched(core.Distribution)
-
-
-def _restore_distribution_monkeypatch():
- core.Distribution = _saved_core_distribution
-
-
-if sys.version_info[0] == 3:
- string_type = str
- integer_types = (int,)
-else:
- string_type = basestring
- integer_types = (int, long)
-
-
-def pbr(dist, attr, value):
- """Implements the actual pbr setup() keyword. When used, this should be
- the only keyword in your setup() aside from `setup_requires`.
-
- If given as a string, the value of pbr is assumed to be the relative path
- to the setup.cfg file to use. Otherwise, if it evaluates to true, it
- simply assumes that pbr should be used, and the default 'setup.cfg' is
- used.
-
- This works by reading the setup.cfg file, parsing out the supported
- metadata and command options, and using them to rebuild the
- `DistributionMetadata` object and set the newly added command options.
-
- The reason for doing things this way is that a custom `Distribution` class
- will not play nicely with setup_requires; however, this implementation may
- not work well with distributions that do use a `Distribution` subclass.
- """
-
- try:
- _monkeypatch_distribution()
- if not value:
- return
- if isinstance(value, string_type):
- path = os.path.abspath(value)
- else:
- path = os.path.abspath('setup.cfg')
- if not os.path.exists(path):
- raise errors.DistutilsFileError(
- 'The setup.cfg file %s does not exist.' % path)
-
- # Converts the setup.cfg file to setup() arguments
- try:
- attrs = util.cfg_to_args(path)
- except Exception:
- e = sys.exc_info()[1]
- # NB: This will output to the console if no explicit logging has
- # been setup - but thats fine, this is a fatal distutils error, so
- # being pretty isn't the #1 goal.. being diagnosable is.
- logging.exception('Error parsing')
- raise errors.DistutilsSetupError(
- 'Error parsing %s: %s: %s' % (path, e.__class__.__name__, e))
-
- # Repeat some of the Distribution initialization code with the newly
- # provided attrs
- if attrs:
- # Skips 'options' and 'licence' support which are rarely used; may
- # add back in later if demanded
- for key, val in attrs.items():
- if hasattr(dist.metadata, 'set_' + key):
- getattr(dist.metadata, 'set_' + key)(val)
- elif hasattr(dist.metadata, key):
- setattr(dist.metadata, key, val)
- elif hasattr(dist, key):
- setattr(dist, key, val)
- else:
- msg = 'Unknown distribution option: %s' % repr(key)
- warnings.warn(msg)
-
- # Re-finalize the underlying Distribution
- core.Distribution.finalize_options(dist)
-
- # This bit comes out of distribute/setuptools
- if isinstance(dist.metadata.version, integer_types + (float,)):
- # Some people apparently take "version number" too literally :)
- dist.metadata.version = str(dist.metadata.version)
-
- # This bit of hackery is necessary so that the Distribution will ignore
- # normally unsupport command options (namely pre-hooks and post-hooks).
- # dist.command_options is normally a dict mapping command names to
- # dicts of their options. Now it will be a defaultdict that returns
- # IgnoreDicts for the each command's options so we can pass through the
- # unsupported options
- ignore = ['pre_hook.*', 'post_hook.*']
- dist.command_options = util.DefaultGetDict(
- lambda: util.IgnoreDict(ignore)
- )
- finally:
- _restore_distribution_monkeypatch()
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/extra_files.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/extra_files.py
deleted file mode 100644
index a72db0c..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/extra_files.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-
-from distutils import errors
-import os
-
-_extra_files = []
-
-
-def get_extra_files():
- global _extra_files
- return _extra_files
-
-
-def set_extra_files(extra_files):
- # Let's do a sanity check
- for filename in extra_files:
- if not os.path.exists(filename):
- raise errors.DistutilsFileError(
- '%s from the extra_files option in setup.cfg does not '
- 'exist' % filename)
- global _extra_files
- _extra_files[:] = extra_files[:]
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/find_package.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/find_package.py
deleted file mode 100644
index 717e93d..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/find_package.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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 os
-
-import setuptools
-
-
-def smart_find_packages(package_list):
- """Run find_packages the way we intend."""
- packages = []
- for pkg in package_list.strip().split("\n"):
- pkg_path = pkg.replace('.', os.path.sep)
- packages.append(pkg)
- packages.extend(['%s.%s' % (pkg, f)
- for f in setuptools.find_packages(pkg_path)])
- return "\n".join(set(packages))
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/git.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/git.py
deleted file mode 100644
index 34cb1c1..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/git.py
+++ /dev/null
@@ -1,294 +0,0 @@
-# Copyright 2011 OpenStack LLC.
-# Copyright 2012-2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-from __future__ import unicode_literals
-
-import distutils.errors
-from distutils import log
-import errno
-import io
-import os
-import re
-import subprocess
-import time
-
-import pkg_resources
-
-from pbr import options
-
-
-def _run_shell_command(cmd, throw_on_error=False, buffer=True, env=None):
- if buffer:
- out_location = subprocess.PIPE
- err_location = subprocess.PIPE
- else:
- out_location = None
- err_location = None
-
- newenv = os.environ.copy()
- if env:
- newenv.update(env)
-
- output = subprocess.Popen(cmd,
- stdout=out_location,
- stderr=err_location,
- env=newenv)
- out = output.communicate()
- if output.returncode and throw_on_error:
- raise distutils.errors.DistutilsError(
- "%s returned %d" % (cmd, output.returncode))
- if len(out) == 0 or not out[0] or not out[0].strip():
- return ''
- # Since we don't control the history, and forcing users to rebase arbitrary
- # history to fix utf8 issues is harsh, decode with replace.
- return out[0].strip().decode('utf-8', 'replace')
-
-
-def _run_git_command(cmd, git_dir, **kwargs):
- if not isinstance(cmd, (list, tuple)):
- cmd = [cmd]
- return _run_shell_command(
- ['git', '--git-dir=%s' % git_dir] + cmd, **kwargs)
-
-
-def _get_git_directory():
- try:
- return _run_shell_command(['git', 'rev-parse', '--git-dir'])
- except OSError as e:
- if e.errno == errno.ENOENT:
- # git not installed.
- return ''
- raise
-
-
-def _git_is_installed():
- try:
- # We cannot use 'which git' as it may not be available
- # in some distributions, So just try 'git --version'
- # to see if we run into trouble
- _run_shell_command(['git', '--version'])
- except OSError:
- return False
- return True
-
-
-def _get_highest_tag(tags):
- """Find the highest tag from a list.
-
- Pass in a list of tag strings and this will return the highest
- (latest) as sorted by the pkg_resources version parser.
- """
- return max(tags, key=pkg_resources.parse_version)
-
-
-def _find_git_files(dirname='', git_dir=None):
- """Behave like a file finder entrypoint plugin.
-
- We don't actually use the entrypoints system for this because it runs
- at absurd times. We only want to do this when we are building an sdist.
- """
- file_list = []
- if git_dir is None:
- git_dir = _run_git_functions()
- if git_dir:
- log.info("[pbr] In git context, generating filelist from git")
- file_list = _run_git_command(['ls-files', '-z'], git_dir)
- # Users can fix utf8 issues locally with a single commit, so we are
- # strict here.
- file_list = file_list.split(b'\x00'.decode('utf-8'))
- return [f for f in file_list if f]
-
-
-def _get_raw_tag_info(git_dir):
- describe = _run_git_command(['describe', '--always'], git_dir)
- if "-" in describe:
- return describe.rsplit("-", 2)[-2]
- if "." in describe:
- return 0
- return None
-
-
-def get_is_release(git_dir):
- return _get_raw_tag_info(git_dir) == 0
-
-
-def _run_git_functions():
- git_dir = None
- if _git_is_installed():
- git_dir = _get_git_directory()
- return git_dir or None
-
-
-def get_git_short_sha(git_dir=None):
- """Return the short sha for this repo, if it exists."""
- if not git_dir:
- git_dir = _run_git_functions()
- if git_dir:
- return _run_git_command(
- ['log', '-n1', '--pretty=format:%h'], git_dir)
- return None
-
-
-def _iter_changelog(changelog):
- """Convert a oneline log iterator to formatted strings.
-
- :param changelog: An iterator of one line log entries like
- that given by _iter_log_oneline.
- :return: An iterator over (release, formatted changelog) tuples.
- """
- first_line = True
- current_release = None
- yield current_release, "CHANGES\n=======\n\n"
- for hash, tags, msg in changelog:
- if tags:
- current_release = _get_highest_tag(tags)
- underline = len(current_release) * '-'
- if not first_line:
- yield current_release, '\n'
- yield current_release, (
- "%(tag)s\n%(underline)s\n\n" %
- dict(tag=current_release, underline=underline))
-
- if not msg.startswith("Merge "):
- if msg.endswith("."):
- msg = msg[:-1]
- yield current_release, "* %(msg)s\n" % dict(msg=msg)
- first_line = False
-
-
-def _iter_log_oneline(git_dir=None):
- """Iterate over --oneline log entries if possible.
-
- This parses the output into a structured form but does not apply
- presentation logic to the output - making it suitable for different
- uses.
-
- :return: An iterator of (hash, tags_set, 1st_line) tuples, or None if
- changelog generation is disabled / not available.
- """
- if git_dir is None:
- git_dir = _get_git_directory()
- if not git_dir:
- return []
- return _iter_log_inner(git_dir)
-
-
-def _iter_log_inner(git_dir):
- """Iterate over --oneline log entries.
-
- This parses the output intro a structured form but does not apply
- presentation logic to the output - making it suitable for different
- uses.
-
- :return: An iterator of (hash, tags_set, 1st_line) tuples.
- """
- log.info('[pbr] Generating ChangeLog')
- log_cmd = ['log', '--oneline', '--decorate']
- changelog = _run_git_command(log_cmd, git_dir)
- for line in changelog.split('\n'):
- line_parts = line.split()
- if len(line_parts) < 2:
- continue
- # Tags are in a list contained in ()'s. If a commit
- # subject that is tagged happens to have ()'s in it
- # this will fail
- if line_parts[1].startswith('(') and ')' in line:
- msg = line.split(')')[1].strip()
- else:
- msg = " ".join(line_parts[1:])
-
- if "tag:" in line:
- tags = set([
- tag.split(",")[0]
- for tag in line.split(")")[0].split("tag: ")[1:]])
- else:
- tags = set()
-
- yield line_parts[0], tags, msg
-
-
-def write_git_changelog(git_dir=None, dest_dir=os.path.curdir,
- option_dict=None, changelog=None):
- """Write a changelog based on the git changelog."""
- start = time.time()
- if not option_dict:
- option_dict = {}
- should_skip = options.get_boolean_option(option_dict, 'skip_changelog',
- 'SKIP_WRITE_GIT_CHANGELOG')
- if should_skip:
- return
- if not changelog:
- changelog = _iter_log_oneline(git_dir=git_dir)
- if changelog:
- changelog = _iter_changelog(changelog)
- if not changelog:
- return
- log.info('[pbr] Writing ChangeLog')
- new_changelog = os.path.join(dest_dir, 'ChangeLog')
- # If there's already a ChangeLog and it's not writable, just use it
- if (os.path.exists(new_changelog)
- and not os.access(new_changelog, os.W_OK)):
- return
- with io.open(new_changelog, "w", encoding="utf-8") as changelog_file:
- for release, content in changelog:
- changelog_file.write(content)
- stop = time.time()
- log.info('[pbr] ChangeLog complete (%0.1fs)' % (stop - start))
-
-
-def generate_authors(git_dir=None, dest_dir='.', option_dict=dict()):
- """Create AUTHORS file using git commits."""
- should_skip = options.get_boolean_option(option_dict, 'skip_authors',
- 'SKIP_GENERATE_AUTHORS')
- if should_skip:
- return
- start = time.time()
- old_authors = os.path.join(dest_dir, 'AUTHORS.in')
- new_authors = os.path.join(dest_dir, 'AUTHORS')
- # If there's already an AUTHORS file and it's not writable, just use it
- if (os.path.exists(new_authors)
- and not os.access(new_authors, os.W_OK)):
- return
- log.info('[pbr] Generating AUTHORS')
- ignore_emails = '(jenkins@review|infra@lists|jenkins@openstack)'
- if git_dir is None:
- git_dir = _get_git_directory()
- if git_dir:
- authors = []
-
- # don't include jenkins email address in AUTHORS file
- git_log_cmd = ['log', '--format=%aN <%aE>']
- authors += _run_git_command(git_log_cmd, git_dir).split('\n')
- authors = [a for a in authors if not re.search(ignore_emails, a)]
-
- # get all co-authors from commit messages
- co_authors_out = _run_git_command('log', git_dir)
- co_authors = re.findall('Co-authored-by:.+', co_authors_out,
- re.MULTILINE)
- co_authors = [signed.split(":", 1)[1].strip()
- for signed in co_authors if signed]
-
- authors += co_authors
- authors = sorted(set(authors))
-
- with open(new_authors, 'wb') as new_authors_fh:
- if os.path.exists(old_authors):
- with open(old_authors, "rb") as old_authors_fh:
- new_authors_fh.write(old_authors_fh.read())
- new_authors_fh.write(('\n'.join(authors) + '\n')
- .encode('utf-8'))
- stop = time.time()
- log.info('[pbr] AUTHORS complete (%0.1fs)' % (stop - start))
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/__init__.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/__init__.py
deleted file mode 100644
index f0056c0..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-from pbr.hooks import backwards
-from pbr.hooks import commands
-from pbr.hooks import files
-from pbr.hooks import metadata
-
-
-def setup_hook(config):
- """Filter config parsed from a setup.cfg to inject our defaults."""
- metadata_config = metadata.MetadataConfig(config)
- metadata_config.run()
- backwards.BackwardsCompatConfig(config).run()
- commands.CommandsConfig(config).run()
- files.FilesConfig(config, metadata_config.get_name()).run()
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/backwards.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/backwards.py
deleted file mode 100644
index 01f07ab..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/backwards.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-from pbr.hooks import base
-from pbr import packaging
-
-
-class BackwardsCompatConfig(base.BaseConfig):
-
- section = 'backwards_compat'
-
- def hook(self):
- self.config['include_package_data'] = 'True'
- packaging.append_text_list(
- self.config, 'dependency_links',
- packaging.parse_dependency_links())
- packaging.append_text_list(
- self.config, 'tests_require',
- packaging.parse_requirements(
- packaging.TEST_REQUIREMENTS_FILES,
- strip_markers=True))
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/base.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/base.py
deleted file mode 100644
index 6672a36..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-
-class BaseConfig(object):
-
- section = None
-
- def __init__(self, config):
- self._global_config = config
- self.config = self._global_config.get(self.section, dict())
- self.pbr_config = config.get('pbr', dict())
-
- def run(self):
- self.hook()
- self.save()
-
- def hook(self):
- pass
-
- def save(self):
- self._global_config[self.section] = self.config
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/commands.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/commands.py
deleted file mode 100644
index fd757e4..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/commands.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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 os
-
-from setuptools.command import easy_install
-
-from pbr.hooks import base
-from pbr import options
-from pbr import packaging
-
-
-class CommandsConfig(base.BaseConfig):
-
- section = 'global'
-
- def __init__(self, config):
- super(CommandsConfig, self).__init__(config)
- self.commands = self.config.get('commands', "")
-
- def save(self):
- self.config['commands'] = self.commands
- super(CommandsConfig, self).save()
-
- def add_command(self, command):
- self.commands = "%s\n%s" % (self.commands, command)
-
- def hook(self):
- self.add_command('pbr.packaging.LocalEggInfo')
- self.add_command('pbr.packaging.LocalSDist')
- self.add_command('pbr.packaging.LocalInstallScripts')
- self.add_command('pbr.packaging.LocalDevelop')
- self.add_command('pbr.packaging.LocalRPMVersion')
- if os.name != 'nt':
- easy_install.get_script_args = packaging.override_get_script_args
-
- if packaging.have_sphinx():
- self.add_command('pbr.builddoc.LocalBuildDoc')
- self.add_command('pbr.builddoc.LocalBuildLatex')
-
- if os.path.exists('.testr.conf') and packaging.have_testr():
- # There is a .testr.conf file. We want to use it.
- self.add_command('pbr.packaging.TestrTest')
- elif self.config.get('nosetests', False) and packaging.have_nose():
- # We seem to still have nose configured
- self.add_command('pbr.packaging.NoseTest')
-
- use_egg = options.get_boolean_option(
- self.pbr_config, 'use-egg', 'PBR_USE_EGG')
- # We always want non-egg install unless explicitly requested
- if 'manpages' in self.pbr_config or not use_egg:
- self.add_command('pbr.packaging.LocalInstall')
- else:
- self.add_command('pbr.packaging.InstallWithGit')
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/files.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/files.py
deleted file mode 100644
index 48bf9e3..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/files.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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 os
-import sys
-
-from pbr import find_package
-from pbr.hooks import base
-
-
-def get_manpath():
- manpath = 'share/man'
- if os.path.exists(os.path.join(sys.prefix, 'man')):
- # This works around a bug with install where it expects every node
- # in the relative data directory to be an actual directory, since at
- # least Debian derivatives (and probably other platforms as well)
- # like to symlink Unixish /usr/local/man to /usr/local/share/man.
- manpath = 'man'
- return manpath
-
-
-def get_man_section(section):
- return os.path.join(get_manpath(), 'man%s' % section)
-
-
-class FilesConfig(base.BaseConfig):
-
- section = 'files'
-
- def __init__(self, config, name):
- super(FilesConfig, self).__init__(config)
- self.name = name
- self.data_files = self.config.get('data_files', '')
-
- def save(self):
- self.config['data_files'] = self.data_files
- super(FilesConfig, self).save()
-
- def expand_globs(self):
- finished = []
- for line in self.data_files.split("\n"):
- if line.rstrip().endswith('*') and '=' in line:
- (target, source_glob) = line.split('=')
- source_prefix = source_glob.strip()[:-1]
- target = target.strip()
- if not target.endswith(os.path.sep):
- target += os.path.sep
- for (dirpath, dirnames, fnames) in os.walk(source_prefix):
- finished.append(
- "%s = " % dirpath.replace(source_prefix, target))
- finished.extend(
- [" %s" % os.path.join(dirpath, f) for f in fnames])
- else:
- finished.append(line)
-
- self.data_files = "\n".join(finished)
-
- def add_man_path(self, man_path):
- self.data_files = "%s\n%s =" % (self.data_files, man_path)
-
- def add_man_page(self, man_page):
- self.data_files = "%s\n %s" % (self.data_files, man_page)
-
- def get_man_sections(self):
- man_sections = dict()
- manpages = self.pbr_config['manpages']
- for manpage in manpages.split():
- section_number = manpage.strip()[-1]
- section = man_sections.get(section_number, list())
- section.append(manpage.strip())
- man_sections[section_number] = section
- return man_sections
-
- def hook(self):
- packages = self.config.get('packages', self.name).strip()
- expanded = []
- for pkg in packages.split("\n"):
- if os.path.isdir(pkg.strip()):
- expanded.append(find_package.smart_find_packages(pkg.strip()))
-
- self.config['packages'] = "\n".join(expanded)
-
- self.expand_globs()
-
- if 'manpages' in self.pbr_config:
- man_sections = self.get_man_sections()
- for (section, pages) in man_sections.items():
- manpath = get_man_section(section)
- self.add_man_path(manpath)
- for page in pages:
- self.add_man_page(page)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/metadata.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/metadata.py
deleted file mode 100644
index 3f65b6d..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/hooks/metadata.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-from pbr.hooks import base
-from pbr import packaging
-
-
-class MetadataConfig(base.BaseConfig):
-
- section = 'metadata'
-
- def hook(self):
- self.config['version'] = packaging.get_version(
- self.config['name'], self.config.get('version', None))
- packaging.append_text_list(
- self.config, 'requires_dist',
- packaging.parse_requirements())
-
- def get_name(self):
- return self.config['name']
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/options.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/options.py
deleted file mode 100644
index 105b200..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/options.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-
-import os
-
-
-TRUE_VALUES = ('true', '1', 'yes')
-
-
-def get_boolean_option(option_dict, option_name, env_name):
- return ((option_name in option_dict
- and option_dict[option_name][1].lower() in TRUE_VALUES) or
- str(os.getenv(env_name)).lower() in TRUE_VALUES)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/packaging.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/packaging.py
deleted file mode 100644
index f920374..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/packaging.py
+++ /dev/null
@@ -1,677 +0,0 @@
-# Copyright 2011 OpenStack LLC.
-# Copyright 2012-2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-"""
-Utilities with minimum-depends for use in setup.py
-"""
-
-from __future__ import unicode_literals
-
-from distutils.command import install as du_install
-from distutils import log
-import email
-import os
-import re
-import sys
-
-import pkg_resources
-import setuptools
-from setuptools.command import develop
-from setuptools.command import easy_install
-from setuptools.command import egg_info
-from setuptools.command import install
-from setuptools.command import install_scripts
-from setuptools.command import sdist
-
-from pbr import extra_files
-from pbr import git
-from pbr import options
-import pbr.pbr_json
-from pbr import testr_command
-from pbr import version
-
-REQUIREMENTS_FILES = ('requirements.txt', 'tools/pip-requires')
-TEST_REQUIREMENTS_FILES = ('test-requirements.txt', 'tools/test-requires')
-
-
-def get_requirements_files():
- files = os.environ.get("PBR_REQUIREMENTS_FILES")
- if files:
- return tuple(f.strip() for f in files.split(','))
- # Returns a list composed of:
- # - REQUIREMENTS_FILES with -py2 or -py3 in the name
- # (e.g. requirements-py3.txt)
- # - REQUIREMENTS_FILES
- return (list(map(('-py' + str(sys.version_info[0])).join,
- map(os.path.splitext, REQUIREMENTS_FILES)))
- + list(REQUIREMENTS_FILES))
-
-
-def append_text_list(config, key, text_list):
- """Append a \n separated list to possibly existing value."""
- new_value = []
- current_value = config.get(key, "")
- if current_value:
- new_value.append(current_value)
- new_value.extend(text_list)
- config[key] = '\n'.join(new_value)
-
-
-def _any_existing(file_list):
- return [f for f in file_list if os.path.exists(f)]
-
-
-# Get requirements from the first file that exists
-def get_reqs_from_files(requirements_files):
- for requirements_file in _any_existing(requirements_files):
- with open(requirements_file, 'r') as fil:
- return fil.read().split('\n')
- return []
-
-
-def parse_requirements(requirements_files=None, strip_markers=False):
-
- if requirements_files is None:
- requirements_files = get_requirements_files()
-
- def egg_fragment(match):
- # take a versioned egg fragment and return a
- # versioned package requirement e.g.
- # nova-1.2.3 becomes nova>=1.2.3
- return re.sub(r'([\w.]+)-([\w.-]+)',
- r'\1>=\2',
- match.group(1))
-
- requirements = []
- for line in get_reqs_from_files(requirements_files):
- # Ignore comments
- if (not line.strip()) or line.startswith('#'):
- continue
-
- # Handle nested requirements files such as:
- # -r other-requirements.txt
- if line.startswith('-r'):
- req_file = line.partition(' ')[2]
- requirements += parse_requirements(
- [req_file], strip_markers=strip_markers)
- continue
-
- try:
- project_name = pkg_resources.Requirement.parse(line).project_name
- except ValueError:
- project_name = None
-
- # For the requirements list, we need to inject only the portion
- # after egg= so that distutils knows the package it's looking for
- # such as:
- # -e git://github.com/openstack/nova/master#egg=nova
- # -e git://github.com/openstack/nova/master#egg=nova-1.2.3
- if re.match(r'\s*-e\s+', line):
- line = re.sub(r'\s*-e\s+.*#egg=(.*)$', egg_fragment, line)
- # such as:
- # http://github.com/openstack/nova/zipball/master#egg=nova
- # http://github.com/openstack/nova/zipball/master#egg=nova-1.2.3
- elif re.match(r'\s*https?:', line):
- line = re.sub(r'\s*https?:.*#egg=(.*)$', egg_fragment, line)
- # -f lines are for index locations, and don't get used here
- elif re.match(r'\s*-f\s+', line):
- line = None
- reason = 'Index Location'
-
- if line is not None:
- line = re.sub('#.*$', '', line)
- if strip_markers:
- semi_pos = line.find(';')
- if semi_pos < 0:
- semi_pos = None
- line = line[:semi_pos]
- requirements.append(line)
- else:
- log.info(
- '[pbr] Excluding %s: %s' % (project_name, reason))
-
- return requirements
-
-
-def parse_dependency_links(requirements_files=None):
- if requirements_files is None:
- requirements_files = get_requirements_files()
- dependency_links = []
- # dependency_links inject alternate locations to find packages listed
- # in requirements
- for line in get_reqs_from_files(requirements_files):
- # skip comments and blank lines
- if re.match(r'(\s*#)|(\s*$)', line):
- continue
- # lines with -e or -f need the whole line, minus the flag
- if re.match(r'\s*-[ef]\s+', line):
- dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
- # lines that are only urls can go in unmolested
- elif re.match(r'\s*https?:', line):
- dependency_links.append(line)
- return dependency_links
-
-
-class InstallWithGit(install.install):
- """Extracts ChangeLog and AUTHORS from git then installs.
-
- This is useful for e.g. readthedocs where the package is
- installed and then docs built.
- """
-
- command_name = 'install'
-
- def run(self):
- _from_git(self.distribution)
- return install.install.run(self)
-
-
-class LocalInstall(install.install):
- """Runs python setup.py install in a sensible manner.
-
- Force a non-egg installed in the manner of
- single-version-externally-managed, which allows us to install manpages
- and config files.
- """
-
- command_name = 'install'
-
- def run(self):
- _from_git(self.distribution)
- return du_install.install.run(self)
-
-
-class TestrTest(testr_command.Testr):
- """Make setup.py test do the right thing."""
-
- command_name = 'test'
-
- def run(self):
- # Can't use super - base class old-style class
- testr_command.Testr.run(self)
-
-
-class LocalRPMVersion(setuptools.Command):
- __doc__ = """Output the rpm *compatible* version string of this package"""
- description = __doc__
-
- user_options = []
- command_name = "rpm_version"
-
- def run(self):
- log.info("[pbr] Extracting rpm version")
- name = self.distribution.get_name()
- print(version.VersionInfo(name).semantic_version().rpm_string())
-
- def initialize_options(self):
- pass
-
- def finalize_options(self):
- pass
-
-
-def have_testr():
- return testr_command.have_testr
-
-
-try:
- from nose import commands
-
- class NoseTest(commands.nosetests):
- """Fallback test runner if testr is a no-go."""
-
- command_name = 'test'
-
- def run(self):
- # Can't use super - base class old-style class
- commands.nosetests.run(self)
-
- _have_nose = True
-
-except ImportError:
- _have_nose = False
-
-
-def have_nose():
- return _have_nose
-
-_wsgi_text = """#PBR Generated from %(group)r
-
-import threading
-
-from %(module_name)s import %(import_target)s
-
-if __name__ == "__main__":
- import argparse
- import socket
- import wsgiref.simple_server as wss
-
- my_ip = socket.gethostbyname(socket.gethostname())
- parser = argparse.ArgumentParser(
- description=%(import_target)s.__doc__,
- formatter_class=argparse.ArgumentDefaultsHelpFormatter)
- parser.add_argument('--port', '-p', type=int, default=8000,
- help='TCP port to listen on')
- args = parser.parse_args()
- server = wss.make_server('', args.port, %(invoke_target)s())
-
- print("*" * 80)
- print("STARTING test server %(module_name)s.%(invoke_target)s")
- url = "http://%%s:%%d/" %% (my_ip, server.server_port)
- print("Available at %%s" %% url)
- print("DANGER! For testing only, do not use in production")
- print("*" * 80)
-
- server.serve_forever()
-else:
- application = None
- app_lock = threading.Lock()
-
- with app_lock:
- if application is None:
- application = %(invoke_target)s()
-
-"""
-
-_script_text = """# PBR Generated from %(group)r
-
-import sys
-
-from %(module_name)s import %(import_target)s
-
-
-if __name__ == "__main__":
- sys.exit(%(invoke_target)s())
-"""
-
-
-# the following allows us to specify different templates per entry
-# point group when generating pbr scripts.
-ENTRY_POINTS_MAP = {
- 'console_scripts': _script_text,
- 'gui_scripts': _script_text,
- 'wsgi_scripts': _wsgi_text
-}
-
-
-def override_get_script_args(
- dist, executable=os.path.normpath(sys.executable), is_wininst=False):
- """Override entrypoints console_script."""
- header = easy_install.get_script_header("", executable, is_wininst)
- for group, template in ENTRY_POINTS_MAP.items():
- for name, ep in dist.get_entry_map(group).items():
- if not ep.attrs or len(ep.attrs) > 2:
- raise ValueError("Script targets must be of the form "
- "'func' or 'Class.class_method'.")
- script_text = template % dict(
- group=group,
- module_name=ep.module_name,
- import_target=ep.attrs[0],
- invoke_target='.'.join(ep.attrs),
- )
- yield (name, header + script_text)
-
-
-class LocalDevelop(develop.develop):
-
- command_name = 'develop'
-
- def install_wrapper_scripts(self, dist):
- if sys.platform == 'win32':
- return develop.develop.install_wrapper_scripts(self, dist)
- if not self.exclude_scripts:
- for args in override_get_script_args(dist):
- self.write_script(*args)
-
-
-class LocalInstallScripts(install_scripts.install_scripts):
- """Intercepts console scripts entry_points."""
- command_name = 'install_scripts'
-
- def run(self):
- import distutils.command.install_scripts
-
- self.run_command("egg_info")
- if self.distribution.scripts:
- # run first to set up self.outfiles
- distutils.command.install_scripts.install_scripts.run(self)
- else:
- self.outfiles = []
- if self.no_ep:
- # don't install entry point scripts into .egg file!
- return
-
- ei_cmd = self.get_finalized_command("egg_info")
- dist = pkg_resources.Distribution(
- ei_cmd.egg_base,
- pkg_resources.PathMetadata(ei_cmd.egg_base, ei_cmd.egg_info),
- ei_cmd.egg_name, ei_cmd.egg_version,
- )
- bs_cmd = self.get_finalized_command('build_scripts')
- executable = getattr(
- bs_cmd, 'executable', easy_install.sys_executable)
- is_wininst = getattr(
- self.get_finalized_command("bdist_wininst"), '_is_running', False
- )
-
- if os.name != 'nt':
- get_script_args = override_get_script_args
- else:
- get_script_args = easy_install.get_script_args
- executable = '"%s"' % executable
-
- for args in get_script_args(dist, executable, is_wininst):
- self.write_script(*args)
-
-
-class LocalManifestMaker(egg_info.manifest_maker):
- """Add any files that are in git and some standard sensible files."""
-
- def _add_pbr_defaults(self):
- for template_line in [
- 'include AUTHORS',
- 'include ChangeLog',
- 'exclude .gitignore',
- 'exclude .gitreview',
- 'global-exclude *.pyc'
- ]:
- self.filelist.process_template_line(template_line)
-
- def add_defaults(self):
- option_dict = self.distribution.get_option_dict('pbr')
-
- sdist.sdist.add_defaults(self)
- self.filelist.append(self.template)
- self.filelist.append(self.manifest)
- self.filelist.extend(extra_files.get_extra_files())
- should_skip = options.get_boolean_option(option_dict, 'skip_git_sdist',
- 'SKIP_GIT_SDIST')
- if not should_skip:
- rcfiles = git._find_git_files()
- if rcfiles:
- self.filelist.extend(rcfiles)
- elif os.path.exists(self.manifest):
- self.read_manifest()
- ei_cmd = self.get_finalized_command('egg_info')
- self._add_pbr_defaults()
- self.filelist.include_pattern("*", prefix=ei_cmd.egg_info)
-
-
-class LocalEggInfo(egg_info.egg_info):
- """Override the egg_info command to regenerate SOURCES.txt sensibly."""
-
- command_name = 'egg_info'
-
- def find_sources(self):
- """Generate SOURCES.txt only if there isn't one already.
-
- If we are in an sdist command, then we always want to update
- SOURCES.txt. If we are not in an sdist command, then it doesn't
- matter one flip, and is actually destructive.
- However, if we're in a git context, it's always the right thing to do
- to recreate SOURCES.txt
- """
- manifest_filename = os.path.join(self.egg_info, "SOURCES.txt")
- if (not os.path.exists(manifest_filename) or
- os.path.exists('.git') or
- 'sdist' in sys.argv):
- log.info("[pbr] Processing SOURCES.txt")
- mm = LocalManifestMaker(self.distribution)
- mm.manifest = manifest_filename
- mm.run()
- self.filelist = mm.filelist
- else:
- log.info("[pbr] Reusing existing SOURCES.txt")
- self.filelist = egg_info.FileList()
- for entry in open(manifest_filename, 'r').read().split('\n'):
- self.filelist.append(entry)
-
-
-def _from_git(distribution):
- option_dict = distribution.get_option_dict('pbr')
- changelog = git._iter_log_oneline()
- if changelog:
- changelog = git._iter_changelog(changelog)
- git.write_git_changelog(option_dict=option_dict, changelog=changelog)
- git.generate_authors(option_dict=option_dict)
-
-
-class LocalSDist(sdist.sdist):
- """Builds the ChangeLog and Authors files from VC first."""
-
- command_name = 'sdist'
-
- def run(self):
- _from_git(self.distribution)
- # sdist.sdist is an old style class, can't use super()
- sdist.sdist.run(self)
-
-try:
- from pbr import builddoc
- _have_sphinx = True
- # Import the symbols from their new home so the package API stays
- # compatible.
- LocalBuildDoc = builddoc.LocalBuildDoc
- LocalBuildLatex = builddoc.LocalBuildLatex
-except ImportError:
- _have_sphinx = False
- LocalBuildDoc = None
- LocalBuildLatex = None
-
-
-def have_sphinx():
- return _have_sphinx
-
-
-def _get_increment_kwargs(git_dir, tag):
- """Calculate the sort of semver increment needed from git history.
-
- Every commit from HEAD to tag is consider for Sem-Ver metadata lines.
- See the pbr docs for their syntax.
-
- :return: a dict of kwargs for passing into SemanticVersion.increment.
- """
- result = {}
- if tag:
- version_spec = tag + "..HEAD"
- else:
- version_spec = "HEAD"
- changelog = git._run_git_command(['log', version_spec], git_dir)
- header_len = len(' sem-ver:')
- commands = [line[header_len:].strip() for line in changelog.split('\n')
- if line.lower().startswith(' sem-ver:')]
- symbols = set()
- for command in commands:
- symbols.update([symbol.strip() for symbol in command.split(',')])
-
- def _handle_symbol(symbol, symbols, impact):
- if symbol in symbols:
- result[impact] = True
- symbols.discard(symbol)
- _handle_symbol('bugfix', symbols, 'patch')
- _handle_symbol('feature', symbols, 'minor')
- _handle_symbol('deprecation', symbols, 'minor')
- _handle_symbol('api-break', symbols, 'major')
- for symbol in symbols:
- log.info('[pbr] Unknown Sem-Ver symbol %r' % symbol)
- # We don't want patch in the kwargs since it is not a keyword argument -
- # its the default minimum increment.
- result.pop('patch', None)
- return result
-
-
-def _get_revno_and_last_tag(git_dir):
- """Return the commit data about the most recent tag.
-
- We use git-describe to find this out, but if there are no
- tags then we fall back to counting commits since the beginning
- of time.
- """
- changelog = git._iter_log_oneline(git_dir=git_dir)
- row_count = 0
- for row_count, (ignored, tag_set, ignored) in enumerate(changelog):
- version_tags = set()
- for tag in list(tag_set):
- try:
- version_tags.add(version.SemanticVersion.from_pip_string(tag))
- except Exception:
- pass
- if version_tags:
- return max(version_tags).release_string(), row_count
- return "", row_count
-
-
-def _get_version_from_git_target(git_dir, target_version):
- """Calculate a version from a target version in git_dir.
-
- This is used for untagged versions only. A new version is calculated as
- necessary based on git metadata - distance to tags, current hash, contents
- of commit messages.
-
- :param git_dir: The git directory we're working from.
- :param target_version: If None, the last tagged version (or 0 if there are
- no tags yet) is incremented as needed to produce an appropriate target
- version following semver rules. Otherwise target_version is used as a
- constraint - if semver rules would result in a newer version then an
- exception is raised.
- :return: A semver version object.
- """
- tag, distance = _get_revno_and_last_tag(git_dir)
- last_semver = version.SemanticVersion.from_pip_string(tag or '0')
- if distance == 0:
- new_version = last_semver
- else:
- new_version = last_semver.increment(
- **_get_increment_kwargs(git_dir, tag))
- if target_version is not None and new_version > target_version:
- raise ValueError(
- "git history requires a target version of %(new)s, but target "
- "version is %(target)s" %
- dict(new=new_version, target=target_version))
- if distance == 0:
- return last_semver
- new_dev = new_version.to_dev(distance)
- if target_version is not None:
- target_dev = target_version.to_dev(distance)
- if target_dev > new_dev:
- return target_dev
- return new_dev
-
-
-def _get_version_from_git(pre_version=None):
- """Calculate a version string from git.
-
- If the revision is tagged, return that. Otherwise calculate a semantic
- version description of the tree.
-
- The number of revisions since the last tag is included in the dev counter
- in the version for untagged versions.
-
- :param pre_version: If supplied use this as the target version rather than
- inferring one from the last tag + commit messages.
- """
- git_dir = git._run_git_functions()
- if git_dir:
- try:
- tagged = git._run_git_command(
- ['describe', '--exact-match'], git_dir,
- throw_on_error=True).replace('-', '.')
- target_version = version.SemanticVersion.from_pip_string(tagged)
- except Exception:
- if pre_version:
- # not released yet - use pre_version as the target
- target_version = version.SemanticVersion.from_pip_string(
- pre_version)
- else:
- # not released yet - just calculate from git history
- target_version = None
- result = _get_version_from_git_target(git_dir, target_version)
- return result.release_string()
- # If we don't know the version, return an empty string so at least
- # the downstream users of the value always have the same type of
- # object to work with.
- try:
- return unicode()
- except NameError:
- return ''
-
-
-def _get_version_from_pkg_metadata(package_name):
- """Get the version from package metadata if present.
-
- This looks for PKG-INFO if present (for sdists), and if not looks
- for METADATA (for wheels) and failing that will return None.
- """
- pkg_metadata_filenames = ['PKG-INFO', 'METADATA']
- pkg_metadata = {}
- for filename in pkg_metadata_filenames:
- try:
- pkg_metadata_file = open(filename, 'r')
- except (IOError, OSError):
- continue
- try:
- pkg_metadata = email.message_from_file(pkg_metadata_file)
- except email.MessageError:
- continue
-
- # Check to make sure we're in our own dir
- if pkg_metadata.get('Name', None) != package_name:
- return None
- return pkg_metadata.get('Version', None)
-
-
-def get_version(package_name, pre_version=None):
- """Get the version of the project. First, try getting it from PKG-INFO or
- METADATA, if it exists. If it does, that means we're in a distribution
- tarball or that install has happened. Otherwise, if there is no PKG-INFO
- or METADATA file, pull the version from git.
-
- We do not support setup.py version sanity in git archive tarballs, nor do
- we support packagers directly sucking our git repo into theirs. We expect
- that a source tarball be made from our git repo - or that if someone wants
- to make a source tarball from a fork of our repo with additional tags in it
- that they understand and desire the results of doing that.
-
- :param pre_version: The version field from setup.cfg - if set then this
- version will be the next release.
- """
- version = os.environ.get(
- "PBR_VERSION",
- os.environ.get("OSLO_PACKAGE_VERSION", None))
- if version:
- return version
- version = _get_version_from_pkg_metadata(package_name)
- if version:
- return version
- version = _get_version_from_git(pre_version)
- # Handle http://bugs.python.org/issue11638
- # version will either be an empty unicode string or a valid
- # unicode version string, but either way it's unicode and needs to
- # be encoded.
- if sys.version_info[0] == 2:
- version = version.encode('utf-8')
- if version:
- return version
- raise Exception("Versioning for this project requires either an sdist"
- " tarball, or access to an upstream git repository."
- " Are you sure that git is installed?")
-
-
-# This is added because pbr uses pbr to install itself. That means that
-# any changes to the egg info writer entrypoints must be forward and
-# backward compatible. This maintains the pbr.packaging.write_pbr_json
-# path.
-write_pbr_json = pbr.pbr_json.write_pbr_json
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/pbr_json.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/pbr_json.py
deleted file mode 100644
index beaa076..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/pbr_json.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2011 OpenStack LLC.
-# Copyright 2012-2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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 json
-
-from pbr import git
-
-
-def write_pbr_json(cmd, basename, filename):
- if not cmd.distribution.pbr:
- return
- git_dir = git._run_git_functions()
- if not git_dir:
- return
- values = dict()
- git_version = git.get_git_short_sha(git_dir)
- is_release = git.get_is_release(git_dir)
- if git_version is not None:
- values['git_version'] = git_version
- values['is_release'] = is_release
- cmd.write_file('pbr', filename, json.dumps(values))
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/testr_command.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/testr_command.py
deleted file mode 100644
index 141d715..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/testr_command.py
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (c) 2013 Testrepository Contributors
-#
-# Licensed under either the Apache License, Version 2.0 or the BSD 3-clause
-# license at the users choice. A copy of both licenses are available in the
-# project source as Apache-2.0 and BSD. You may not use this file except in
-# compliance with one of these two licences.
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under these licenses is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# license you chose for the specific language governing permissions and
-# limitations under that license.
-
-"""setuptools/distutils commands to run testr via setup.py
-
-Currently provides 'testr' which runs tests using testr. You can pass
---coverage which will also export PYTHON='coverage run --source <your package>'
-and automatically combine the coverage from each testr backend test runner
-after the run completes.
-
-To use, just use setuptools/distribute and depend on testr, and it should be
-picked up automatically (as the commands are exported in the testrepository
-package metadata.
-"""
-
-from distutils import cmd
-import distutils.errors
-import logging
-import os
-import sys
-
-logger = logging.getLogger(__name__)
-
-
-class TestrReal(cmd.Command):
-
- description = "Run unit tests using testr"
-
- user_options = [
- ('coverage', None, "Replace PYTHON with coverage and merge coverage "
- "from each testr worker."),
- ('testr-args=', 't', "Run 'testr' with these args"),
- ('omit=', 'o', "Files to omit from coverage calculations"),
- ('coverage-package-name=', None, "Use this name for coverage package"),
- ('slowest', None, "Show slowest test times after tests complete."),
- ('no-parallel', None, "Run testr serially"),
- ('log-level=', 'l', "Log level (default: info)"),
- ]
-
- boolean_options = ['coverage', 'slowest', 'no_parallel']
-
- def _run_testr(self, *args):
- logger.debug("_run_testr called with args = %r", args)
- return commands.run_argv([sys.argv[0]] + list(args),
- sys.stdin, sys.stdout, sys.stderr)
-
- def initialize_options(self):
- self.testr_args = None
- self.coverage = None
- self.omit = ""
- self.slowest = None
- self.coverage_package_name = None
- self.no_parallel = None
- self.log_level = 'info'
-
- def finalize_options(self):
- self.log_level = getattr(
- logging,
- self.log_level.upper(),
- logging.INFO)
- logging.basicConfig(level=self.log_level)
- logger.debug("finalize_options called")
- if self.testr_args is None:
- self.testr_args = []
- else:
- self.testr_args = self.testr_args.split()
- if self.omit:
- self.omit = "--omit=%s" % self.omit
- logger.debug("finalize_options: self.__dict__ = %r", self.__dict__)
-
- def run(self):
- """Set up testr repo, then run testr."""
- logger.debug("run called")
- if not os.path.isdir(".testrepository"):
- self._run_testr("init")
-
- if self.coverage:
- self._coverage_before()
- if not self.no_parallel:
- testr_ret = self._run_testr("run", "--parallel", *self.testr_args)
- else:
- testr_ret = self._run_testr("run", *self.testr_args)
- if testr_ret:
- raise distutils.errors.DistutilsError(
- "testr failed (%d)" % testr_ret)
- if self.slowest:
- print("Slowest Tests")
- self._run_testr("slowest")
- if self.coverage:
- self._coverage_after()
-
- def _coverage_before(self):
- logger.debug("_coverage_before called")
- package = self.distribution.get_name()
- if package.startswith('python-'):
- package = package[7:]
-
- # Use this as coverage package name
- if self.coverage_package_name:
- package = self.coverage_package_name
- options = "--source %s --parallel-mode" % package
- os.environ['PYTHON'] = ("coverage run %s" % options)
- logger.debug("os.environ['PYTHON'] = %r", os.environ['PYTHON'])
-
- def _coverage_after(self):
- logger.debug("_coverage_after called")
- os.system("coverage combine")
- os.system("coverage html -d ./cover %s" % self.omit)
-
-
-class TestrFake(cmd.Command):
- description = "Run unit tests using testr"
- user_options = []
-
- def initialize_options(self):
- pass
-
- def finalize_options(self):
- pass
-
- def run(self):
- print("Install testrepository to run 'testr' command properly.")
-
-
-try:
- from testrepository import commands
- have_testr = True
- Testr = TestrReal
-except ImportError:
- have_testr = False
- Testr = TestrFake
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/__init__.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/__init__.py
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/base.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/base.py
deleted file mode 100644
index e017b06..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/base.py
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 2010-2011 OpenStack Foundation
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-
-"""Common utilities used in testing"""
-
-import os
-import shutil
-import subprocess
-import sys
-
-import fixtures
-import testresources
-import testtools
-from testtools import content
-
-from pbr import options
-
-
-class DiveDir(fixtures.Fixture):
- """Dive into given directory and return back on cleanup.
-
- :ivar path: The target directory.
- """
-
- def __init__(self, path):
- self.path = path
-
- def setUp(self):
- super(DiveDir, self).setUp()
- self.addCleanup(os.chdir, os.getcwd())
- os.chdir(self.path)
-
-
-class BaseTestCase(testtools.TestCase, testresources.ResourcedTestCase):
-
- def setUp(self):
- super(BaseTestCase, self).setUp()
- test_timeout = os.environ.get('OS_TEST_TIMEOUT', 30)
- try:
- test_timeout = int(test_timeout)
- except ValueError:
- # If timeout value is invalid, fail hard.
- print("OS_TEST_TIMEOUT set to invalid value"
- " defaulting to no timeout")
- test_timeout = 0
- if test_timeout > 0:
- self.useFixture(fixtures.Timeout(test_timeout, gentle=True))
-
- if os.environ.get('OS_STDOUT_CAPTURE') in options.TRUE_VALUES:
- stdout = self.useFixture(fixtures.StringStream('stdout')).stream
- self.useFixture(fixtures.MonkeyPatch('sys.stdout', stdout))
- if os.environ.get('OS_STDERR_CAPTURE') in options.TRUE_VALUES:
- stderr = self.useFixture(fixtures.StringStream('stderr')).stream
- self.useFixture(fixtures.MonkeyPatch('sys.stderr', stderr))
- self.log_fixture = self.useFixture(
- fixtures.FakeLogger('pbr'))
-
- # Older git does not have config --local, so create a temporary home
- # directory to permit using git config --global without stepping on
- # developer configuration.
- self.useFixture(fixtures.TempHomeDir())
- self.useFixture(fixtures.NestedTempfile())
- self.useFixture(fixtures.FakeLogger())
- # TODO(lifeless) we should remove PBR_VERSION from the environment.
- # rather than setting it, because thats not representative - we need to
- # test non-preversioned codepaths too!
- self.useFixture(fixtures.EnvironmentVariable('PBR_VERSION', '0.0'))
-
- self.temp_dir = self.useFixture(fixtures.TempDir()).path
- self.package_dir = os.path.join(self.temp_dir, 'testpackage')
- shutil.copytree(os.path.join(os.path.dirname(__file__), 'testpackage'),
- self.package_dir)
- self.addCleanup(os.chdir, os.getcwd())
- os.chdir(self.package_dir)
- self.addCleanup(self._discard_testpackage)
- # Tests can opt into non-PBR_VERSION by setting preversioned=False as
- # an attribute.
- if not getattr(self, 'preversioned', True):
- self.useFixture(fixtures.EnvironmentVariable('PBR_VERSION'))
- setup_cfg_path = os.path.join(self.package_dir, 'setup.cfg')
- with open(setup_cfg_path, 'rt') as cfg:
- content = cfg.read()
- content = content.replace(u'version = 0.1.dev', u'')
- with open(setup_cfg_path, 'wt') as cfg:
- cfg.write(content)
-
- def _discard_testpackage(self):
- # Remove pbr.testpackage from sys.modules so that it can be freshly
- # re-imported by the next test
- for k in list(sys.modules):
- if (k == 'pbr_testpackage' or
- k.startswith('pbr_testpackage.')):
- del sys.modules[k]
-
- def run_setup(self, *args, **kwargs):
- return self._run_cmd(sys.executable, ('setup.py',) + args, **kwargs)
-
- def _run_cmd(self, cmd, args=[], allow_fail=True, cwd=None):
- """Run a command in the root of the test working copy.
-
- Runs a command, with the given argument list, in the root of the test
- working copy--returns the stdout and stderr streams and the exit code
- from the subprocess.
-
- :param cwd: If falsy run within the test package dir, otherwise run
- within the named path.
- """
- cwd = cwd or self.package_dir
- result = _run_cmd([cmd] + list(args), cwd=cwd)
- if result[2] and not allow_fail:
- raise Exception("Command failed retcode=%s" % result[2])
- return result
-
-
-class CapturedSubprocess(fixtures.Fixture):
- """Run a process and capture its output.
-
- :attr stdout: The output (a string).
- :attr stderr: The standard error (a string).
- :attr returncode: The return code of the process.
-
- Note that stdout and stderr are decoded from the bytestrings subprocess
- returns using error=replace.
- """
-
- def __init__(self, label, *args, **kwargs):
- """Create a CapturedSubprocess.
-
- :param label: A label for the subprocess in the test log. E.g. 'foo'.
- :param *args: The *args to pass to Popen.
- :param **kwargs: The **kwargs to pass to Popen.
- """
- super(CapturedSubprocess, self).__init__()
- self.label = label
- self.args = args
- self.kwargs = kwargs
- self.kwargs['stderr'] = subprocess.PIPE
- self.kwargs['stdin'] = subprocess.PIPE
- self.kwargs['stdout'] = subprocess.PIPE
-
- def setUp(self):
- super(CapturedSubprocess, self).setUp()
- proc = subprocess.Popen(*self.args, **self.kwargs)
- out, err = proc.communicate()
- self.out = out.decode('utf-8', 'replace')
- self.err = err.decode('utf-8', 'replace')
- self.addDetail(self.label + '-stdout', content.text_content(self.out))
- self.addDetail(self.label + '-stderr', content.text_content(self.err))
- self.returncode = proc.returncode
- if proc.returncode:
- raise AssertionError('Failed process %s' % proc.returncode)
- self.addCleanup(delattr, self, 'out')
- self.addCleanup(delattr, self, 'err')
- self.addCleanup(delattr, self, 'returncode')
-
-
-def _run_cmd(args, cwd):
- """Run the command args in cwd.
-
- :param args: The command to run e.g. ['git', 'status']
- :param cwd: The directory to run the comamnd in.
- :return: ((stdout, stderr), returncode)
- """
- p = subprocess.Popen(
- args, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE, cwd=cwd)
- streams = tuple(s.decode('latin1').strip() for s in p.communicate())
- for stream_content in streams:
- print(stream_content)
- return (streams) + (p.returncode,)
-
-
-def _config_git():
- _run_cmd(
- ['git', 'config', '--global', 'user.email', 'example@example.com'],
- None)
- _run_cmd(
- ['git', 'config', '--global', 'user.name', 'OpenStack Developer'],
- None)
- _run_cmd(
- ['git', 'config', '--global', 'user.signingkey',
- 'example@example.com'], None)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_commands.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_commands.py
deleted file mode 100644
index 74f50df..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_commands.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-
-from testtools import content
-
-from pbr.tests import base
-
-
-class TestCommands(base.BaseTestCase):
- def test_custom_build_py_command(self):
- """Test custom build_py command.
-
- Test that a custom subclass of the build_py command runs when listed in
- the commands [global] option, rather than the normal build command.
- """
-
- stdout, stderr, return_code = self.run_setup('build_py')
- self.addDetail('stdout', content.text_content(stdout))
- self.addDetail('stderr', content.text_content(stderr))
- self.assertIn('Running custom build_py command.', stdout)
- self.assertEqual(return_code, 0)
-
- def test_custom_rpm_version_py_command(self):
- """Test custom rpm_version command."""
- stdout, stderr, return_code = self.run_setup('rpm_version')
- self.addDetail('stdout', content.text_content(stdout))
- self.addDetail('stderr', content.text_content(stderr))
- self.assertIn('Extracting rpm version', stdout)
- self.assertEqual(return_code, 0)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_core.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_core.py
deleted file mode 100644
index 1d1272a..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_core.py
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-
-import glob
-import os
-import tarfile
-
-import fixtures
-
-from pbr.tests import base
-
-
-class TestCore(base.BaseTestCase):
-
- cmd_names = ('pbr_test_cmd', 'pbr_test_cmd_with_class')
-
- def check_script_install(self, install_stdout):
- for cmd_name in self.cmd_names:
- install_txt = 'Installing %s script to %s' % (cmd_name,
- self.temp_dir)
- self.assertIn(install_txt, install_stdout)
-
- cmd_filename = os.path.join(self.temp_dir, cmd_name)
-
- script_txt = open(cmd_filename, 'r').read()
- self.assertNotIn('pkg_resources', script_txt)
-
- stdout, _, return_code = self._run_cmd(cmd_filename)
- self.assertIn("PBR", stdout)
-
- def test_setup_py_keywords(self):
- """setup.py --keywords.
-
- Test that the `./setup.py --keywords` command returns the correct
- value without balking.
- """
-
- self.run_setup('egg_info')
- stdout, _, _ = self.run_setup('--keywords')
- assert stdout == 'packaging,distutils,setuptools'
-
- def test_sdist_extra_files(self):
- """Test that the extra files are correctly added."""
-
- stdout, _, return_code = self.run_setup('sdist', '--formats=gztar')
-
- # There can be only one
- try:
- tf_path = glob.glob(os.path.join('dist', '*.tar.gz'))[0]
- except IndexError:
- assert False, 'source dist not found'
-
- tf = tarfile.open(tf_path)
- names = ['/'.join(p.split('/')[1:]) for p in tf.getnames()]
-
- self.assertIn('extra-file.txt', names)
-
- def test_console_script_install(self):
- """Test that we install a non-pkg-resources console script."""
-
- if os.name == 'nt':
- self.skipTest('Windows support is passthrough')
-
- stdout, _, return_code = self.run_setup(
- 'install_scripts', '--install-dir=%s' % self.temp_dir)
-
- self.useFixture(
- fixtures.EnvironmentVariable('PYTHONPATH', '.'))
-
- self.check_script_install(stdout)
-
- def test_console_script_develop(self):
- """Test that we develop a non-pkg-resources console script."""
-
- if os.name == 'nt':
- self.skipTest('Windows support is passthrough')
-
- self.useFixture(
- fixtures.EnvironmentVariable(
- 'PYTHONPATH', ".:%s" % self.temp_dir))
-
- stdout, _, return_code = self.run_setup(
- 'develop', '--install-dir=%s' % self.temp_dir)
-
- self.check_script_install(stdout)
-
-
-class TestGitSDist(base.BaseTestCase):
-
- def setUp(self):
- super(TestGitSDist, self).setUp()
-
- stdout, _, return_code = self._run_cmd('git', ('init',))
- if return_code:
- self.skipTest("git not installed")
-
- stdout, _, return_code = self._run_cmd('git', ('add', '.'))
- stdout, _, return_code = self._run_cmd(
- 'git', ('commit', '-m', 'Turn this into a git repo'))
-
- stdout, _, return_code = self.run_setup('sdist', '--formats=gztar')
-
- def test_sdist_git_extra_files(self):
- """Test that extra files found in git are correctly added."""
- # There can be only one
- tf_path = glob.glob(os.path.join('dist', '*.tar.gz'))[0]
- tf = tarfile.open(tf_path)
- names = ['/'.join(p.split('/')[1:]) for p in tf.getnames()]
-
- self.assertIn('git-extra-file.txt', names)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_files.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_files.py
deleted file mode 100644
index e60b6ca..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_files.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-from __future__ import print_function
-
-import os
-
-import fixtures
-
-from pbr.hooks import files
-from pbr.tests import base
-
-
-class FilesConfigTest(base.BaseTestCase):
-
- def setUp(self):
- super(FilesConfigTest, self).setUp()
-
- pkg_fixture = fixtures.PythonPackage(
- "fake_package", [
- ("fake_module.py", b""),
- ("other_fake_module.py", b""),
- ])
- self.useFixture(pkg_fixture)
- pkg_etc = os.path.join(pkg_fixture.base, 'etc')
- pkg_sub = os.path.join(pkg_etc, 'sub')
- subpackage = os.path.join(
- pkg_fixture.base, 'fake_package', 'subpackage')
- os.makedirs(pkg_sub)
- os.makedirs(subpackage)
- with open(os.path.join(pkg_etc, "foo"), 'w') as foo_file:
- foo_file.write("Foo Data")
- with open(os.path.join(pkg_sub, "bar"), 'w') as foo_file:
- foo_file.write("Bar Data")
- with open(os.path.join(subpackage, "__init__.py"), 'w') as foo_file:
- foo_file.write("# empty")
-
- self.useFixture(base.DiveDir(pkg_fixture.base))
-
- def test_implicit_auto_package(self):
- config = dict(
- files=dict(
- )
- )
- files.FilesConfig(config, 'fake_package').run()
- self.assertIn('subpackage', config['files']['packages'])
-
- def test_auto_package(self):
- config = dict(
- files=dict(
- packages='fake_package',
- )
- )
- files.FilesConfig(config, 'fake_package').run()
- self.assertIn('subpackage', config['files']['packages'])
-
- def test_data_files_globbing(self):
- config = dict(
- files=dict(
- data_files="\n etc/pbr = etc/*"
- )
- )
- files.FilesConfig(config, 'fake_package').run()
- self.assertIn(
- '\netc/pbr/ = \n etc/foo\netc/pbr/sub = \n etc/sub/bar',
- config['files']['data_files'])
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_hooks.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_hooks.py
deleted file mode 100644
index e355408..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_hooks.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-
-import os
-import textwrap
-
-from testtools.content import text_content
-from testtools.matchers import Contains, EndsWith
-
-from pbr.tests import base
-from pbr.tests import util
-
-
-class TestHooks(base.BaseTestCase):
- def setUp(self):
- super(TestHooks, self).setUp()
- with util.open_config(
- os.path.join(self.package_dir, 'setup.cfg')) as cfg:
- cfg.set('global', 'setup-hooks',
- 'pbr_testpackage._setup_hooks.test_hook_1\n'
- 'pbr_testpackage._setup_hooks.test_hook_2')
- cfg.set('build_ext', 'pre-hook.test_pre_hook',
- 'pbr_testpackage._setup_hooks.test_pre_hook')
- cfg.set('build_ext', 'post-hook.test_post_hook',
- 'pbr_testpackage._setup_hooks.test_post_hook')
-
- def test_global_setup_hooks(self):
- """Test setup_hooks.
-
- Test that setup_hooks listed in the [global] section of setup.cfg are
- executed in order.
- """
-
- stdout, _, return_code = self.run_setup('egg_info')
- assert 'test_hook_1\ntest_hook_2' in stdout
- assert return_code == 0
-
- def test_command_hooks(self):
- """Test command hooks.
-
- Simple test that the appropriate command hooks run at the
- beginning/end of the appropriate command.
- """
-
- stdout, _, return_code = self.run_setup('egg_info')
- assert 'build_ext pre-hook' not in stdout
- assert 'build_ext post-hook' not in stdout
- assert return_code == 0
-
- stdout, stderr, return_code = self.run_setup('build_ext')
- self.addDetailUniqueName('stderr', text_content(stderr))
- assert textwrap.dedent("""
- running build_ext
- running pre_hook pbr_testpackage._setup_hooks.test_pre_hook for command build_ext
- build_ext pre-hook
- """) in stdout # flake8: noqa
- self.expectThat(stdout, EndsWith('build_ext post-hook'))
- assert return_code == 0
-
- def test_custom_commands_known(self):
- stdout, _, return_code = self.run_setup('--help-commands')
- self.assertFalse(return_code)
- self.assertThat(stdout, Contains(" testr "))
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_integration.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_integration.py
deleted file mode 100644
index e3adce3..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_integration.py
+++ /dev/null
@@ -1,122 +0,0 @@
-# Licensed 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 os.path
-import shlex
-
-import fixtures
-import testscenarios
-import testtools
-import virtualenv
-
-from pbr.tests import base
-
-PIPFLAGS = shlex.split(os.environ.get('PIPFLAGS', ''))
-PIPVERSION = os.environ.get('PIPVERSION', 'pip')
-PBRVERSION = os.environ.get('PBRVERSION', 'pbr')
-REPODIR = os.environ.get('REPODIR', '')
-WHEELHOUSE = os.environ.get('WHEELHOUSE', '')
-PIP_CMD = ['-m', 'pip'] + PIPFLAGS + ['install', '-f', WHEELHOUSE]
-PROJECTS = shlex.split(os.environ.get('PROJECTS', ''))
-
-
-def all_projects():
- if not REPODIR:
- return
- # Future: make this path parameterisable.
- excludes = set(['pypi-mirror', 'jeepyb', 'tempest', 'requirements'])
- for name in PROJECTS:
- name = name.strip()
- short_name = name.split('/')[-1]
- try:
- with open(os.path.join(
- REPODIR, short_name, 'setup.py'), 'rt') as f:
- if 'pbr' not in f.read():
- continue
- except IOError:
- continue
- if short_name in excludes:
- continue
- yield (short_name, dict(name=name, short_name=short_name))
-
-
-class TestIntegration(base.BaseTestCase):
-
- scenarios = list(all_projects())
-
- def setUp(self):
- # Integration tests need a higher default - big repos can be slow to
- # clone, particularly under guest load.
- os.environ['OS_TEST_TIMEOUT'] = os.environ.get('OS_TEST_TIMEOUT',
- '600')
- super(TestIntegration, self).setUp()
- base._config_git()
-
- def venv(self, reason):
- path = self.useFixture(fixtures.TempDir()).path
- virtualenv.create_environment(path, clear=True)
- python = os.path.join(path, 'bin', 'python')
- self.useFixture(base.CapturedSubprocess(
- 'mkvenv-' + reason, [python] + PIP_CMD + [
- '-U', PIPVERSION, 'wheel', PBRVERSION]))
- return path, python
-
- @testtools.skipUnless(
- os.environ.get('PBR_INTEGRATION', None) == '1',
- 'integration tests not enabled')
- def test_integration(self):
- # Test that we can:
- # - run sdist from the repo in a venv
- # - install the resulting tarball in a new venv
- # - pip install the repo
- # - pip install -e the repo
- # We don't break these into separate tests because we'd need separate
- # source dirs to isolate from side effects of running pip, and the
- # overheads of setup would start to beat the benefits of parallelism.
- self.useFixture(base.CapturedSubprocess(
- 'sync-req',
- ['python', 'update.py', os.path.join(REPODIR, self.short_name)],
- cwd=os.path.join(REPODIR, 'requirements')))
- self.useFixture(base.CapturedSubprocess(
- 'commit-requirements',
- 'git diff --quiet || git commit -amrequirements',
- cwd=os.path.join(REPODIR, self.short_name), shell=True))
- path = os.path.join(
- self.useFixture(fixtures.TempDir()).path, 'project')
- self.useFixture(base.CapturedSubprocess(
- 'clone',
- ['git', 'clone', os.path.join(REPODIR, self.short_name), path]))
- _, python = self.venv('sdist')
- self.useFixture(base.CapturedSubprocess(
- 'sdist', [python, 'setup.py', 'sdist'], cwd=path))
- _, python = self.venv('tarball')
- filename = os.path.join(
- path, 'dist', os.listdir(os.path.join(path, 'dist'))[0])
- self.useFixture(base.CapturedSubprocess(
- 'tarball', [python] + PIP_CMD + [filename]))
- root, python = self.venv('install-git')
- self.useFixture(base.CapturedSubprocess(
- 'install-git', [python] + PIP_CMD + ['git+file://' + path]))
- if self.short_name == 'nova':
- found = False
- for _, _, filenames in os.walk(root):
- if 'migrate.cfg' in filenames:
- found = True
- self.assertTrue(found)
- _, python = self.venv('install-e')
- self.useFixture(base.CapturedSubprocess(
- 'install-e', [python] + PIP_CMD + ['-e', path]))
-
-
-def load_tests(loader, in_tests, pattern):
- return testscenarios.load_tests_apply_scenarios(loader, in_tests, pattern)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_packaging.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_packaging.py
deleted file mode 100644
index 9e56fd8..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_packaging.py
+++ /dev/null
@@ -1,520 +0,0 @@
-# Copyright (c) 2013 New Dream Network, LLC (DreamHost)
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-
-import os
-import re
-import sys
-import tempfile
-import textwrap
-
-import fixtures
-import mock
-import pkg_resources
-import six
-import testscenarios
-from testtools import matchers
-
-from pbr import git
-from pbr import packaging
-from pbr.tests import base
-
-
-class TestRepo(fixtures.Fixture):
- """A git repo for testing with.
-
- Use of TempHomeDir with this fixture is strongly recommended as due to the
- lack of config --local in older gits, it will write to the users global
- configuration without TempHomeDir.
- """
-
- def __init__(self, basedir):
- super(TestRepo, self).__init__()
- self._basedir = basedir
-
- def setUp(self):
- super(TestRepo, self).setUp()
- base._run_cmd(['git', 'init', '.'], self._basedir)
- base._config_git()
- base._run_cmd(['git', 'add', '.'], self._basedir)
-
- def commit(self, message_content='test commit'):
- files = len(os.listdir(self._basedir))
- path = self._basedir + '/%d' % files
- open(path, 'wt').close()
- base._run_cmd(['git', 'add', path], self._basedir)
- base._run_cmd(['git', 'commit', '-m', message_content], self._basedir)
-
- def uncommit(self):
- base._run_cmd(['git', 'reset', '--hard', 'HEAD^'], self._basedir)
-
- def tag(self, version):
- base._run_cmd(
- ['git', 'tag', '-sm', 'test tag', version], self._basedir)
-
-
-class GPGKeyFixture(fixtures.Fixture):
- """Creates a GPG key for testing.
-
- It's recommended that this be used in concert with a unique home
- directory.
- """
-
- def setUp(self):
- super(GPGKeyFixture, self).setUp()
- tempdir = self.useFixture(fixtures.TempDir())
- gnupg_version_re = re.compile('^gpg\s.*\s([\d+])\.([\d+])\.([\d+])')
- gnupg_version = base._run_cmd(['gpg', '--version'], tempdir.path)
- for line in gnupg_version[0].split('\n'):
- gnupg_version = gnupg_version_re.match(line)
- if gnupg_version:
- gnupg_version = (int(gnupg_version.group(1)),
- int(gnupg_version.group(2)),
- int(gnupg_version.group(3)))
- break
- else:
- if gnupg_version is None:
- gnupg_version = (0, 0, 0)
- config_file = tempdir.path + '/key-config'
- f = open(config_file, 'wt')
- try:
- if gnupg_version[0] == 2 and gnupg_version[1] >= 1:
- f.write("""
- %no-protection
- %transient-key
- """)
- f.write("""
- %no-ask-passphrase
- Key-Type: RSA
- Name-Real: Example Key
- Name-Comment: N/A
- Name-Email: example@example.com
- Expire-Date: 2d
- Preferences: (setpref)
- %commit
- """)
- finally:
- f.close()
- # Note that --quick-random (--debug-quick-random in GnuPG 2.x)
- # does not have a corresponding preferences file setting and
- # must be passed explicitly on the command line instead
- if gnupg_version[0] == 1:
- gnupg_random = '--quick-random'
- elif gnupg_version[0] >= 2:
- gnupg_random = '--debug-quick-random'
- else:
- gnupg_random = ''
- base._run_cmd(
- ['gpg', '--gen-key', '--batch', gnupg_random, config_file],
- tempdir.path)
-
-
-class TestPackagingInGitRepoWithCommit(base.BaseTestCase):
-
- scenarios = [
- ('preversioned', dict(preversioned=True)),
- ('postversioned', dict(preversioned=False)),
- ]
-
- def setUp(self):
- super(TestPackagingInGitRepoWithCommit, self).setUp()
- repo = self.useFixture(TestRepo(self.package_dir))
- repo.commit()
-
- def test_authors(self):
- self.run_setup('sdist', allow_fail=False)
- # One commit, something should be in the authors list
- with open(os.path.join(self.package_dir, 'AUTHORS'), 'r') as f:
- body = f.read()
- self.assertNotEqual(body, '')
-
- def test_changelog(self):
- self.run_setup('sdist', allow_fail=False)
- with open(os.path.join(self.package_dir, 'ChangeLog'), 'r') as f:
- body = f.read()
- # One commit, something should be in the ChangeLog list
- self.assertNotEqual(body, '')
-
- def test_manifest_exclude_honoured(self):
- self.run_setup('sdist', allow_fail=False)
- with open(os.path.join(
- self.package_dir,
- 'pbr_testpackage.egg-info/SOURCES.txt'), 'r') as f:
- body = f.read()
- self.assertThat(
- body, matchers.Not(matchers.Contains('pbr_testpackage/extra.py')))
- self.assertThat(body, matchers.Contains('pbr_testpackage/__init__.py'))
-
- def test_install_writes_changelog(self):
- stdout, _, _ = self.run_setup(
- 'install', '--root', self.temp_dir + 'installed',
- allow_fail=False)
- self.expectThat(stdout, matchers.Contains('Generating ChangeLog'))
-
-
-class TestPackagingInGitRepoWithoutCommit(base.BaseTestCase):
-
- def setUp(self):
- super(TestPackagingInGitRepoWithoutCommit, self).setUp()
- self.useFixture(TestRepo(self.package_dir))
- self.run_setup('sdist', allow_fail=False)
-
- def test_authors(self):
- # No commits, no authors in list
- with open(os.path.join(self.package_dir, 'AUTHORS'), 'r') as f:
- body = f.read()
- self.assertEqual(body, '\n')
-
- def test_changelog(self):
- # No commits, nothing should be in the ChangeLog list
- with open(os.path.join(self.package_dir, 'ChangeLog'), 'r') as f:
- body = f.read()
- self.assertEqual(body, 'CHANGES\n=======\n\n')
-
-
-class TestPackagingInPlainDirectory(base.BaseTestCase):
-
- def setUp(self):
- super(TestPackagingInPlainDirectory, self).setUp()
-
- def test_authors(self):
- self.run_setup('sdist', allow_fail=False)
- # Not a git repo, no AUTHORS file created
- filename = os.path.join(self.package_dir, 'AUTHORS')
- self.assertFalse(os.path.exists(filename))
-
- def test_changelog(self):
- self.run_setup('sdist', allow_fail=False)
- # Not a git repo, no ChangeLog created
- filename = os.path.join(self.package_dir, 'ChangeLog')
- self.assertFalse(os.path.exists(filename))
-
- def test_install_no_ChangeLog(self):
- stdout, _, _ = self.run_setup(
- 'install', '--root', self.temp_dir + 'installed',
- allow_fail=False)
- self.expectThat(
- stdout, matchers.Not(matchers.Contains('Generating ChangeLog')))
-
-
-class TestPresenceOfGit(base.BaseTestCase):
-
- def testGitIsInstalled(self):
- with mock.patch.object(git,
- '_run_shell_command') as _command:
- _command.return_value = 'git version 1.8.4.1'
- self.assertEqual(True, git._git_is_installed())
-
- def testGitIsNotInstalled(self):
- with mock.patch.object(git,
- '_run_shell_command') as _command:
- _command.side_effect = OSError
- self.assertEqual(False, git._git_is_installed())
-
-
-class TestNestedRequirements(base.BaseTestCase):
-
- def test_nested_requirement(self):
- tempdir = tempfile.mkdtemp()
- requirements = os.path.join(tempdir, 'requirements.txt')
- nested = os.path.join(tempdir, 'nested.txt')
- with open(requirements, 'w') as f:
- f.write('-r ' + nested)
- with open(nested, 'w') as f:
- f.write('pbr')
- result = packaging.parse_requirements([requirements])
- self.assertEqual(result, ['pbr'])
-
-
-class TestVersions(base.BaseTestCase):
-
- scenarios = [
- ('preversioned', dict(preversioned=True)),
- ('postversioned', dict(preversioned=False)),
- ]
-
- def setUp(self):
- super(TestVersions, self).setUp()
- self.repo = self.useFixture(TestRepo(self.package_dir))
- self.useFixture(GPGKeyFixture())
- self.useFixture(base.DiveDir(self.package_dir))
-
- def test_capitalized_headers(self):
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit('Sem-Ver: api-break')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('2.0.0.dev1'))
-
- def test_capitalized_headers_partial(self):
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit('Sem-ver: api-break')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('2.0.0.dev1'))
-
- def test_tagged_version_has_tag_version(self):
- self.repo.commit()
- self.repo.tag('1.2.3')
- version = packaging._get_version_from_git('1.2.3')
- self.assertEqual('1.2.3', version)
-
- def test_untagged_version_has_dev_version_postversion(self):
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit()
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.2.4.dev1'))
-
- def test_untagged_pre_release_has_pre_dev_version_postversion(self):
- self.repo.commit()
- self.repo.tag('1.2.3.0a1')
- self.repo.commit()
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.2.3.0a2.dev1'))
-
- def test_untagged_version_minor_bump(self):
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit('sem-ver: deprecation')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.3.0.dev1'))
-
- def test_untagged_version_major_bump(self):
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit('sem-ver: api-break')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('2.0.0.dev1'))
-
- def test_untagged_version_has_dev_version_preversion(self):
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit()
- version = packaging._get_version_from_git('1.2.5')
- self.assertThat(version, matchers.StartsWith('1.2.5.dev1'))
-
- def test_untagged_version_after_pre_has_dev_version_preversion(self):
- self.repo.commit()
- self.repo.tag('1.2.3.0a1')
- self.repo.commit()
- version = packaging._get_version_from_git('1.2.5')
- self.assertThat(version, matchers.StartsWith('1.2.5.dev1'))
-
- def test_untagged_version_after_rc_has_dev_version_preversion(self):
- self.repo.commit()
- self.repo.tag('1.2.3.0a1')
- self.repo.commit()
- version = packaging._get_version_from_git('1.2.3')
- self.assertThat(version, matchers.StartsWith('1.2.3.0a2.dev1'))
-
- def test_preversion_too_low_simple(self):
- # That is, the target version is either already released or not high
- # enough for the semver requirements given api breaks etc.
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit()
- # Note that we can't target 1.2.3 anymore - with 1.2.3 released we
- # need to be working on 1.2.4.
- err = self.assertRaises(
- ValueError, packaging._get_version_from_git, '1.2.3')
- self.assertThat(err.args[0], matchers.StartsWith('git history'))
-
- def test_preversion_too_low_semver_headers(self):
- # That is, the target version is either already released or not high
- # enough for the semver requirements given api breaks etc.
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit('sem-ver: feature')
- # Note that we can't target 1.2.4, the feature header means we need
- # to be working on 1.3.0 or above.
- err = self.assertRaises(
- ValueError, packaging._get_version_from_git, '1.2.4')
- self.assertThat(err.args[0], matchers.StartsWith('git history'))
-
- def test_get_kwargs_corner_cases(self):
- # No tags:
- git_dir = self.repo._basedir + '/.git'
- get_kwargs = lambda tag: packaging._get_increment_kwargs(git_dir, tag)
-
- def _check_combinations(tag):
- self.repo.commit()
- self.assertEqual(dict(), get_kwargs(tag))
- self.repo.commit('sem-ver: bugfix')
- self.assertEqual(dict(), get_kwargs(tag))
- self.repo.commit('sem-ver: feature')
- self.assertEqual(dict(minor=True), get_kwargs(tag))
- self.repo.uncommit()
- self.repo.commit('sem-ver: deprecation')
- self.assertEqual(dict(minor=True), get_kwargs(tag))
- self.repo.uncommit()
- self.repo.commit('sem-ver: api-break')
- self.assertEqual(dict(major=True), get_kwargs(tag))
- self.repo.commit('sem-ver: deprecation')
- self.assertEqual(dict(major=True, minor=True), get_kwargs(tag))
- _check_combinations('')
- self.repo.tag('1.2.3')
- _check_combinations('1.2.3')
-
- def test_invalid_tag_ignored(self):
- # Fix for bug 1356784 - we treated any tag as a version, not just those
- # that are valid versions.
- self.repo.commit()
- self.repo.tag('1')
- self.repo.commit()
- # when the tree is tagged and its wrong:
- self.repo.tag('badver')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.0.1.dev1'))
- # When the tree isn't tagged, we also fall through.
- self.repo.commit()
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.0.1.dev2'))
- # We don't fall through x.y versions
- self.repo.commit()
- self.repo.tag('1.2')
- self.repo.commit()
- self.repo.tag('badver2')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.2.1.dev1'))
- # Or x.y.z versions
- self.repo.commit()
- self.repo.tag('1.2.3')
- self.repo.commit()
- self.repo.tag('badver3')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.2.4.dev1'))
- # Or alpha/beta/pre versions
- self.repo.commit()
- self.repo.tag('1.2.4.0a1')
- self.repo.commit()
- self.repo.tag('badver4')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('1.2.4.0a2.dev1'))
- # Non-release related tags are ignored.
- self.repo.commit()
- self.repo.tag('2')
- self.repo.commit()
- self.repo.tag('non-release-tag/2014.12.16-1')
- version = packaging._get_version_from_git()
- self.assertThat(version, matchers.StartsWith('2.0.1.dev1'))
-
- def test_valid_tag_honoured(self):
- # Fix for bug 1370608 - we converted any target into a 'dev version'
- # even if there was a distance of 0 - indicating that we were on the
- # tag itself.
- self.repo.commit()
- self.repo.tag('1.3.0.0a1')
- version = packaging._get_version_from_git()
- self.assertEqual('1.3.0.0a1', version)
-
- def test_skip_write_git_changelog(self):
- # Fix for bug 1467440
- self.repo.commit()
- self.repo.tag('1.2.3')
- os.environ['SKIP_WRITE_GIT_CHANGELOG'] = '1'
- version = packaging._get_version_from_git('1.2.3')
- self.assertEqual('1.2.3', version)
-
- def tearDown(self):
- super(TestVersions, self).tearDown()
- os.environ.pop('SKIP_WRITE_GIT_CHANGELOG', None)
-
-
-class TestRequirementParsing(base.BaseTestCase):
-
- def test_requirement_parsing(self):
- tempdir = self.useFixture(fixtures.TempDir()).path
- requirements = os.path.join(tempdir, 'requirements.txt')
- with open(requirements, 'wt') as f:
- f.write(textwrap.dedent(six.u("""\
- bar
- quux<1.0; python_version=='2.6'
- requests-aws>=0.1.4 # BSD License (3 clause)
- Routes>=1.12.3,!=2.0,!=2.1;python_version=='2.7'
- requests-kerberos>=0.6;python_version=='2.7' # MIT
- """)))
- setup_cfg = os.path.join(tempdir, 'setup.cfg')
- with open(setup_cfg, 'wt') as f:
- f.write(textwrap.dedent(six.u("""\
- [metadata]
- name = test_reqparse
-
- [extras]
- test =
- foo
- baz>3.2 :python_version=='2.7' # MIT
- bar>3.3 :python_version=='2.7' # MIT # Apache
- """)))
- # pkg_resources.split_sections uses None as the title of an
- # anonymous section instead of the empty string. Weird.
- expected_requirements = {
- None: ['bar', 'requests-aws>=0.1.4'],
- ":(python_version=='2.6')": ['quux<1.0'],
- ":(python_version=='2.7')": ['Routes>=1.12.3,!=2.0,!=2.1',
- 'requests-kerberos>=0.6'],
- 'test': ['foo'],
- "test:(python_version=='2.7')": ['baz>3.2', 'bar>3.3']
- }
-
- setup_py = os.path.join(tempdir, 'setup.py')
- with open(setup_py, 'wt') as f:
- f.write(textwrap.dedent(six.u("""\
- #!/usr/bin/env python
- import setuptools
- setuptools.setup(
- setup_requires=['pbr'],
- pbr=True,
- )
- """)))
-
- self._run_cmd(sys.executable, (setup_py, 'egg_info'),
- allow_fail=False, cwd=tempdir)
- egg_info = os.path.join(tempdir, 'test_reqparse.egg-info')
-
- requires_txt = os.path.join(egg_info, 'requires.txt')
- with open(requires_txt, 'rt') as requires:
- generated_requirements = dict(
- pkg_resources.split_sections(requires))
-
- self.assertEqual(expected_requirements, generated_requirements)
-
-
-def load_tests(loader, in_tests, pattern):
- return testscenarios.load_tests_apply_scenarios(loader, in_tests, pattern)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_setup.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_setup.py
deleted file mode 100644
index 3aec296..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_setup.py
+++ /dev/null
@@ -1,430 +0,0 @@
-# Copyright (c) 2011 OpenStack Foundation
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-# All Rights Reserved.
-#
-# Licensed 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.
-
-from __future__ import print_function
-
-import os
-import sys
-import tempfile
-
-try:
- import cStringIO as io
- BytesIO = io.StringIO
-except ImportError:
- import io
- BytesIO = io.BytesIO
-
-import fixtures
-import testscenarios
-
-from pbr import git
-from pbr import options
-from pbr import packaging
-from pbr.tests import base
-
-
-class SkipFileWrites(base.BaseTestCase):
-
- scenarios = [
- ('changelog_option_true',
- dict(option_key='skip_changelog', option_value='True',
- env_key='SKIP_WRITE_GIT_CHANGELOG', env_value=None,
- pkg_func=git.write_git_changelog, filename='ChangeLog')),
- ('changelog_option_false',
- dict(option_key='skip_changelog', option_value='False',
- env_key='SKIP_WRITE_GIT_CHANGELOG', env_value=None,
- pkg_func=git.write_git_changelog, filename='ChangeLog')),
- ('changelog_env_true',
- dict(option_key='skip_changelog', option_value='False',
- env_key='SKIP_WRITE_GIT_CHANGELOG', env_value='True',
- pkg_func=git.write_git_changelog, filename='ChangeLog')),
- ('changelog_both_true',
- dict(option_key='skip_changelog', option_value='True',
- env_key='SKIP_WRITE_GIT_CHANGELOG', env_value='True',
- pkg_func=git.write_git_changelog, filename='ChangeLog')),
- ('authors_option_true',
- dict(option_key='skip_authors', option_value='True',
- env_key='SKIP_GENERATE_AUTHORS', env_value=None,
- pkg_func=git.generate_authors, filename='AUTHORS')),
- ('authors_option_false',
- dict(option_key='skip_authors', option_value='False',
- env_key='SKIP_GENERATE_AUTHORS', env_value=None,
- pkg_func=git.generate_authors, filename='AUTHORS')),
- ('authors_env_true',
- dict(option_key='skip_authors', option_value='False',
- env_key='SKIP_GENERATE_AUTHORS', env_value='True',
- pkg_func=git.generate_authors, filename='AUTHORS')),
- ('authors_both_true',
- dict(option_key='skip_authors', option_value='True',
- env_key='SKIP_GENERATE_AUTHORS', env_value='True',
- pkg_func=git.generate_authors, filename='AUTHORS')),
- ]
-
- def setUp(self):
- super(SkipFileWrites, self).setUp()
- self.temp_path = self.useFixture(fixtures.TempDir()).path
- self.root_dir = os.path.abspath(os.path.curdir)
- self.git_dir = os.path.join(self.root_dir, ".git")
- if not os.path.exists(self.git_dir):
- self.skipTest("%s is missing; skipping git-related checks"
- % self.git_dir)
- return
- self.filename = os.path.join(self.temp_path, self.filename)
- self.option_dict = dict()
- if self.option_key is not None:
- self.option_dict[self.option_key] = ('setup.cfg',
- self.option_value)
- self.useFixture(
- fixtures.EnvironmentVariable(self.env_key, self.env_value))
-
- def test_skip(self):
- self.pkg_func(git_dir=self.git_dir,
- dest_dir=self.temp_path,
- option_dict=self.option_dict)
- self.assertEqual(
- not os.path.exists(self.filename),
- (self.option_value.lower() in options.TRUE_VALUES
- or self.env_value is not None))
-
-_changelog_content = """04316fe (review/monty_taylor/27519) Make python
-378261a Add an integration test script.
-3c373ac (HEAD, tag: 2013.2.rc2, tag: 2013.2, milestone-proposed) Merge "Lib
-182feb3 (tag: 0.5.17) Fix pip invocation for old versions of pip.
-fa4f46e (tag: 0.5.16) Remove explicit depend on distribute.
-d1c53dd Use pip instead of easy_install for installation.
-a793ea1 Merge "Skip git-checkout related tests when .git is missing"
-6c27ce7 Skip git-checkout related tests when .git is missing
-04984a5 Refactor hooks file.
-a65e8ee (tag: 0.5.14, tag: 0.5.13) Remove jinja pin.
-"""
-
-
-class GitLogsTest(base.BaseTestCase):
-
- def setUp(self):
- super(GitLogsTest, self).setUp()
- self.temp_path = self.useFixture(fixtures.TempDir()).path
- self.root_dir = os.path.abspath(os.path.curdir)
- self.git_dir = os.path.join(self.root_dir, ".git")
- self.useFixture(
- fixtures.EnvironmentVariable('SKIP_GENERATE_AUTHORS'))
- self.useFixture(
- fixtures.EnvironmentVariable('SKIP_WRITE_GIT_CHANGELOG'))
-
- def test_write_git_changelog(self):
- self.useFixture(fixtures.FakePopen(lambda _: {
- "stdout": BytesIO(_changelog_content.encode('utf-8'))
- }))
-
- git.write_git_changelog(git_dir=self.git_dir,
- dest_dir=self.temp_path)
-
- with open(os.path.join(self.temp_path, "ChangeLog"), "r") as ch_fh:
- changelog_contents = ch_fh.read()
- self.assertIn("2013.2", changelog_contents)
- self.assertIn("0.5.17", changelog_contents)
- self.assertIn("------", changelog_contents)
- self.assertIn("Refactor hooks file", changelog_contents)
- self.assertNotIn("Refactor hooks file.", changelog_contents)
- self.assertNotIn("182feb3", changelog_contents)
- self.assertNotIn("review/monty_taylor/27519", changelog_contents)
- self.assertNotIn("0.5.13", changelog_contents)
- self.assertNotIn('Merge "', changelog_contents)
-
- def test_generate_authors(self):
- author_old = u"Foo Foo <email@foo.com>"
- author_new = u"Bar Bar <email@bar.com>"
- co_author = u"Foo Bar <foo@bar.com>"
- co_author_by = u"Co-authored-by: " + co_author
-
- git_log_cmd = (
- "git --git-dir=%s log --format=%%aN <%%aE>"
- % self.git_dir)
- git_co_log_cmd = ("git --git-dir=%s log" % self.git_dir)
- git_top_level = "git rev-parse --show-toplevel"
- cmd_map = {
- git_log_cmd: author_new,
- git_co_log_cmd: co_author_by,
- git_top_level: self.root_dir,
- }
-
- exist_files = [self.git_dir,
- os.path.join(self.temp_path, "AUTHORS.in")]
- self.useFixture(fixtures.MonkeyPatch(
- "os.path.exists",
- lambda path: os.path.abspath(path) in exist_files))
-
- def _fake_run_shell_command(cmd, **kwargs):
- return cmd_map[" ".join(cmd)]
-
- self.useFixture(fixtures.MonkeyPatch(
- "pbr.git._run_shell_command",
- _fake_run_shell_command))
-
- with open(os.path.join(self.temp_path, "AUTHORS.in"), "w") as auth_fh:
- auth_fh.write("%s\n" % author_old)
-
- git.generate_authors(git_dir=self.git_dir,
- dest_dir=self.temp_path)
-
- with open(os.path.join(self.temp_path, "AUTHORS"), "r") as auth_fh:
- authors = auth_fh.read()
- self.assertTrue(author_old in authors)
- self.assertTrue(author_new in authors)
- self.assertTrue(co_author in authors)
-
-
-class BuildSphinxTest(base.BaseTestCase):
-
- scenarios = [
- ('true_autodoc_caps',
- dict(has_opt=True, autodoc='True', has_autodoc=True)),
- ('true_autodoc_caps_with_excludes',
- dict(has_opt=True, autodoc='True', has_autodoc=True,
- excludes="fake_package.fake_private_module\n"
- "fake_package.another_fake_*\n"
- "fake_package.unknown_module")),
- ('true_autodoc_lower',
- dict(has_opt=True, autodoc='true', has_autodoc=True)),
- ('false_autodoc',
- dict(has_opt=True, autodoc='False', has_autodoc=False)),
- ('no_autodoc',
- dict(has_opt=False, autodoc='False', has_autodoc=False)),
- ]
-
- def setUp(self):
- super(BuildSphinxTest, self).setUp()
-
- self.useFixture(fixtures.MonkeyPatch(
- "sphinx.setup_command.BuildDoc.run", lambda self: None))
- from distutils import dist
- self.distr = dist.Distribution()
- self.distr.packages = ("fake_package",)
- self.distr.command_options["build_sphinx"] = {
- "source_dir": ["a", "."]}
- pkg_fixture = fixtures.PythonPackage(
- "fake_package", [("fake_module.py", b""),
- ("another_fake_module_for_testing.py", b""),
- ("fake_private_module.py", b"")])
- self.useFixture(pkg_fixture)
- self.useFixture(base.DiveDir(pkg_fixture.base))
- self.distr.command_options["pbr"] = {}
- if hasattr(self, "excludes"):
- self.distr.command_options["pbr"]["autodoc_exclude_modules"] = (
- 'setup.cfg',
- "fake_package.fake_private_module\n"
- "fake_package.another_fake_*\n"
- "fake_package.unknown_module")
- if self.has_opt:
- options = self.distr.command_options["pbr"]
- options["autodoc_index_modules"] = ('setup.cfg', self.autodoc)
-
- def test_build_doc(self):
- build_doc = packaging.LocalBuildDoc(self.distr)
- build_doc.run()
-
- self.assertTrue(
- os.path.exists("api/autoindex.rst") == self.has_autodoc)
- self.assertTrue(
- os.path.exists(
- "api/fake_package.fake_module.rst") == self.has_autodoc)
- if not self.has_autodoc or hasattr(self, "excludes"):
- assertion = self.assertFalse
- else:
- assertion = self.assertTrue
- assertion(
- os.path.exists(
- "api/fake_package.fake_private_module.rst"))
- assertion(
- os.path.exists(
- "api/fake_package.another_fake_module_for_testing.rst"))
-
- def test_builders_config(self):
- build_doc = packaging.LocalBuildDoc(self.distr)
- build_doc.finalize_options()
-
- self.assertEqual(2, len(build_doc.builders))
- self.assertIn('html', build_doc.builders)
- self.assertIn('man', build_doc.builders)
-
- build_doc = packaging.LocalBuildDoc(self.distr)
- build_doc.builders = ''
- build_doc.finalize_options()
-
- self.assertEqual('', build_doc.builders)
-
- build_doc = packaging.LocalBuildDoc(self.distr)
- build_doc.builders = 'man'
- build_doc.finalize_options()
-
- self.assertEqual(1, len(build_doc.builders))
- self.assertIn('man', build_doc.builders)
-
- build_doc = packaging.LocalBuildDoc(self.distr)
- build_doc.builders = 'html,man,doctest'
- build_doc.finalize_options()
-
- self.assertIn('html', build_doc.builders)
- self.assertIn('man', build_doc.builders)
- self.assertIn('doctest', build_doc.builders)
-
- def test_cmd_builder_override(self):
-
- if self.has_opt:
- self.distr.command_options["pbr"] = {
- "autodoc_index_modules": ('setup.cfg', self.autodoc)
- }
-
- self.distr.command_options["build_sphinx"]["builder"] = (
- "command line", "non-existing-builder")
-
- build_doc = packaging.LocalBuildDoc(self.distr)
- self.assertNotIn('non-existing-builder', build_doc.builders)
- self.assertIn('html', build_doc.builders)
-
- # process command line options which should override config
- build_doc.finalize_options()
-
- self.assertIn('non-existing-builder', build_doc.builders)
- self.assertNotIn('html', build_doc.builders)
-
- def test_cmd_builder_override_multiple_builders(self):
-
- if self.has_opt:
- self.distr.command_options["pbr"] = {
- "autodoc_index_modules": ('setup.cfg', self.autodoc)
- }
-
- self.distr.command_options["build_sphinx"]["builder"] = (
- "command line", "builder1,builder2")
-
- build_doc = packaging.LocalBuildDoc(self.distr)
- build_doc.finalize_options()
-
- self.assertEqual(["builder1", "builder2"], build_doc.builders)
-
-
-class ParseRequirementsTest(base.BaseTestCase):
-
- def setUp(self):
- super(ParseRequirementsTest, self).setUp()
- (fd, self.tmp_file) = tempfile.mkstemp(prefix='openstack',
- suffix='.setup')
-
- def test_parse_requirements_normal(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("foo\nbar")
- self.assertEqual(['foo', 'bar'],
- packaging.parse_requirements([self.tmp_file]))
-
- def test_parse_requirements_with_git_egg_url(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("-e git://foo.com/zipball#egg=bar")
- self.assertEqual(['bar'],
- packaging.parse_requirements([self.tmp_file]))
-
- def test_parse_requirements_with_versioned_git_egg_url(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("-e git://foo.com/zipball#egg=bar-1.2.4")
- self.assertEqual(['bar>=1.2.4'],
- packaging.parse_requirements([self.tmp_file]))
-
- def test_parse_requirements_with_http_egg_url(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("https://foo.com/zipball#egg=bar")
- self.assertEqual(['bar'],
- packaging.parse_requirements([self.tmp_file]))
-
- def test_parse_requirements_with_versioned_http_egg_url(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("https://foo.com/zipball#egg=bar-4.2.1")
- self.assertEqual(['bar>=4.2.1'],
- packaging.parse_requirements([self.tmp_file]))
-
- def test_parse_requirements_removes_index_lines(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("-f foobar")
- self.assertEqual([], packaging.parse_requirements([self.tmp_file]))
-
- def test_parse_requirements_override_with_env(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("foo\nbar")
- self.useFixture(
- fixtures.EnvironmentVariable('PBR_REQUIREMENTS_FILES',
- self.tmp_file))
- self.assertEqual(['foo', 'bar'],
- packaging.parse_requirements())
-
- def test_parse_requirements_override_with_env_multiple_files(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("foo\nbar")
- self.useFixture(
- fixtures.EnvironmentVariable('PBR_REQUIREMENTS_FILES',
- "no-such-file," + self.tmp_file))
- self.assertEqual(['foo', 'bar'],
- packaging.parse_requirements())
-
- def test_get_requirement_from_file_empty(self):
- actual = packaging.get_reqs_from_files([])
- self.assertEqual([], actual)
-
- def test_parse_requirements_with_comments(self):
- with open(self.tmp_file, 'w') as fh:
- fh.write("# this is a comment\nfoobar\n# and another one\nfoobaz")
- self.assertEqual(['foobar', 'foobaz'],
- packaging.parse_requirements([self.tmp_file]))
-
- def test_parse_requirements_python_version(self):
- with open("requirements-py%d.txt" % sys.version_info[0],
- "w") as fh:
- fh.write("# this is a comment\nfoobar\n# and another one\nfoobaz")
- self.assertEqual(['foobar', 'foobaz'],
- packaging.parse_requirements())
-
- def test_parse_requirements_right_python_version(self):
- with open("requirements-py1.txt", "w") as fh:
- fh.write("thisisatrap")
- with open("requirements-py%d.txt" % sys.version_info[0],
- "w") as fh:
- fh.write("# this is a comment\nfoobar\n# and another one\nfoobaz")
- self.assertEqual(['foobar', 'foobaz'],
- packaging.parse_requirements())
-
-
-class ParseDependencyLinksTest(base.BaseTestCase):
-
- def setUp(self):
- super(ParseDependencyLinksTest, self).setUp()
- (fd, self.tmp_file) = tempfile.mkstemp(prefix="openstack",
- suffix=".setup")
-
- def test_parse_dependency_normal(self):
- with open(self.tmp_file, "w") as fh:
- fh.write("http://test.com\n")
- self.assertEqual(
- ["http://test.com"],
- packaging.parse_dependency_links([self.tmp_file]))
-
- def test_parse_dependency_with_git_egg_url(self):
- with open(self.tmp_file, "w") as fh:
- fh.write("-e git://foo.com/zipball#egg=bar")
- self.assertEqual(
- ["git://foo.com/zipball#egg=bar"],
- packaging.parse_dependency_links([self.tmp_file]))
-
-
-def load_tests(loader, in_tests, pattern):
- return testscenarios.load_tests_apply_scenarios(loader, in_tests, pattern)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_util.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_util.py
deleted file mode 100644
index 5999b17..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_util.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright (c) 2015 Hewlett-Packard Development Company, L.P. (HP)
-#
-# Licensed 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 io
-import textwrap
-
-import six
-from six.moves import configparser
-import testscenarios
-
-from pbr.tests import base
-from pbr import util
-
-
-class TestExtrasRequireParsingScenarios(base.BaseTestCase):
-
- scenarios = [
- ('simple_extras', {
- 'config_text': """
- [extras]
- first =
- foo
- bar==1.0
- second =
- baz>=3.2
- foo
- """,
- 'expected_extra_requires': {'first': ['foo', 'bar==1.0'],
- 'second': ['baz>=3.2', 'foo']}
- }),
- ('with_markers', {
- 'config_text': """
- [extras]
- test =
- foo:python_version=='2.6'
- bar
- baz<1.6 :python_version=='2.6'
- """,
- 'expected_extra_requires': {
- "test:(python_version=='2.6')": ['foo', 'baz<1.6'],
- "test": ['bar']}}),
- ('no_extras', {
- 'config_text': """
- [metadata]
- long_description = foo
- """,
- 'expected_extra_requires':
- {}
- })]
-
- def config_from_ini(self, ini):
- config = {}
- parser = configparser.SafeConfigParser()
- ini = textwrap.dedent(six.u(ini))
- parser.readfp(io.StringIO(ini))
- for section in parser.sections():
- config[section] = dict(parser.items(section))
- return config
-
- def test_extras_parsing(self):
- config = self.config_from_ini(self.config_text)
- kwargs = util.setup_cfg_to_setup_kwargs(config)
-
- self.assertEqual(self.expected_extra_requires,
- kwargs['extras_require'])
-
-
-def load_tests(loader, in_tests, pattern):
- return testscenarios.load_tests_apply_scenarios(loader, in_tests, pattern)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_version.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_version.py
deleted file mode 100644
index 14c8d17..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_version.py
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 2012 Red Hat, Inc.
-# Copyright 2012-2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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 itertools
-
-from testtools import matchers
-
-from pbr.tests import base
-from pbr import version
-
-
-from_pip_string = version.SemanticVersion.from_pip_string
-
-
-class TestSemanticVersion(base.BaseTestCase):
-
- def test_ordering(self):
- ordered_versions = [
- "1.2.3.dev6",
- "1.2.3.dev7",
- "1.2.3.a4.dev12",
- "1.2.3.a4.dev13",
- "1.2.3.a4",
- "1.2.3.a5.dev1",
- "1.2.3.a5",
- "1.2.3.b3.dev1",
- "1.2.3.b3",
- "1.2.3.rc2.dev1",
- "1.2.3.rc2",
- "1.2.3.rc3.dev1",
- "1.2.3",
- "1.2.4",
- "1.3.3",
- "2.2.3",
- ]
- for v in ordered_versions:
- sv = version.SemanticVersion.from_pip_string(v)
- self.expectThat(sv, matchers.Equals(sv))
- for left, right in itertools.combinations(ordered_versions, 2):
- l_pos = ordered_versions.index(left)
- r_pos = ordered_versions.index(right)
- if l_pos < r_pos:
- m1 = matchers.LessThan
- m2 = matchers.GreaterThan
- else:
- m1 = matchers.GreaterThan
- m2 = matchers.LessThan
- left_sv = version.SemanticVersion.from_pip_string(left)
- right_sv = version.SemanticVersion.from_pip_string(right)
- self.expectThat(left_sv, m1(right_sv))
- self.expectThat(right_sv, m2(left_sv))
-
- def test_from_pip_string_legacy_alpha(self):
- expected = version.SemanticVersion(
- 1, 2, 0, prerelease_type='rc', prerelease=1)
- parsed = from_pip_string('1.2.0rc1')
- self.assertEqual(expected, parsed)
-
- def test_from_pip_string_legacy_postN(self):
- # When pbr trunk was incompatible with PEP-440, a stable release was
- # made that used postN versions to represent developer builds. As
- # we expect only to be parsing versions of our own, we map those
- # into dev builds of the next version.
- expected = version.SemanticVersion(1, 2, 4, dev_count=5)
- parsed = from_pip_string('1.2.3.post5')
- self.expectThat(expected, matchers.Equals(parsed))
- expected = version.SemanticVersion(1, 2, 3, 'a', 5, dev_count=6)
- parsed = from_pip_string('1.2.3.0a4.post6')
- self.expectThat(expected, matchers.Equals(parsed))
- # We can't define a mapping for .postN.devM, so it should raise.
- self.expectThat(
- lambda: from_pip_string('1.2.3.post5.dev6'),
- matchers.raises(ValueError))
-
- def test_from_pip_string_legacy_nonzero_lead_in(self):
- # reported in bug 1361251
- expected = version.SemanticVersion(
- 0, 0, 1, prerelease_type='a', prerelease=2)
- parsed = from_pip_string('0.0.1a2')
- self.assertEqual(expected, parsed)
-
- def test_from_pip_string_legacy_short_nonzero_lead_in(self):
- expected = version.SemanticVersion(
- 0, 1, 0, prerelease_type='a', prerelease=2)
- parsed = from_pip_string('0.1a2')
- self.assertEqual(expected, parsed)
-
- def test_from_pip_string_legacy_no_0_prerelease(self):
- expected = version.SemanticVersion(
- 2, 1, 0, prerelease_type='rc', prerelease=1)
- parsed = from_pip_string('2.1.0.rc1')
- self.assertEqual(expected, parsed)
-
- def test_from_pip_string_legacy_no_0_prerelease_2(self):
- expected = version.SemanticVersion(
- 2, 0, 0, prerelease_type='rc', prerelease=1)
- parsed = from_pip_string('2.0.0.rc1')
- self.assertEqual(expected, parsed)
-
- def test_from_pip_string_legacy_non_440_beta(self):
- expected = version.SemanticVersion(
- 2014, 2, prerelease_type='b', prerelease=2)
- parsed = from_pip_string('2014.2.b2')
- self.assertEqual(expected, parsed)
-
- def test_from_pip_string_pure_git_hash(self):
- self.assertRaises(ValueError, from_pip_string, '6eed5ae')
-
- def test_from_pip_string_non_digit_start(self):
- self.assertRaises(ValueError, from_pip_string,
- 'non-release-tag/2014.12.16-1')
-
- def test_final_version(self):
- semver = version.SemanticVersion(1, 2, 3)
- self.assertEqual((1, 2, 3, 'final', 0), semver.version_tuple())
- self.assertEqual("1.2.3", semver.brief_string())
- self.assertEqual("1.2.3", semver.debian_string())
- self.assertEqual("1.2.3", semver.release_string())
- self.assertEqual("1.2.3", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.3"))
-
- def test_parsing_short_forms(self):
- semver = version.SemanticVersion(1, 0, 0)
- self.assertEqual(semver, from_pip_string("1"))
- self.assertEqual(semver, from_pip_string("1.0"))
- self.assertEqual(semver, from_pip_string("1.0.0"))
-
- def test_dev_version(self):
- semver = version.SemanticVersion(1, 2, 4, dev_count=5)
- self.assertEqual((1, 2, 4, 'dev', 4), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~dev5", semver.debian_string())
- self.assertEqual("1.2.4.dev5", semver.release_string())
- self.assertEqual("1.2.3.dev5", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.dev5"))
-
- def test_dev_no_git_version(self):
- semver = version.SemanticVersion(1, 2, 4, dev_count=5)
- self.assertEqual((1, 2, 4, 'dev', 4), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~dev5", semver.debian_string())
- self.assertEqual("1.2.4.dev5", semver.release_string())
- self.assertEqual("1.2.3.dev5", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.dev5"))
-
- def test_dev_zero_version(self):
- semver = version.SemanticVersion(1, 2, 0, dev_count=5)
- self.assertEqual((1, 2, 0, 'dev', 4), semver.version_tuple())
- self.assertEqual("1.2.0", semver.brief_string())
- self.assertEqual("1.2.0~dev5", semver.debian_string())
- self.assertEqual("1.2.0.dev5", semver.release_string())
- self.assertEqual("1.1.9999.dev5", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.0.dev5"))
-
- def test_alpha_dev_version(self):
- semver = version.SemanticVersion(1, 2, 4, 'a', 1, 12)
- self.assertEqual((1, 2, 4, 'alphadev', 12), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~a1.dev12", semver.debian_string())
- self.assertEqual("1.2.4.0a1.dev12", semver.release_string())
- self.assertEqual("1.2.3.a1.dev12", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.0a1.dev12"))
-
- def test_alpha_version(self):
- semver = version.SemanticVersion(1, 2, 4, 'a', 1)
- self.assertEqual((1, 2, 4, 'alpha', 1), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~a1", semver.debian_string())
- self.assertEqual("1.2.4.0a1", semver.release_string())
- self.assertEqual("1.2.3.a1", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.0a1"))
-
- def test_alpha_zero_version(self):
- semver = version.SemanticVersion(1, 2, 0, 'a', 1)
- self.assertEqual((1, 2, 0, 'alpha', 1), semver.version_tuple())
- self.assertEqual("1.2.0", semver.brief_string())
- self.assertEqual("1.2.0~a1", semver.debian_string())
- self.assertEqual("1.2.0.0a1", semver.release_string())
- self.assertEqual("1.1.9999.a1", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.0.0a1"))
-
- def test_alpha_major_zero_version(self):
- semver = version.SemanticVersion(1, 0, 0, 'a', 1)
- self.assertEqual((1, 0, 0, 'alpha', 1), semver.version_tuple())
- self.assertEqual("1.0.0", semver.brief_string())
- self.assertEqual("1.0.0~a1", semver.debian_string())
- self.assertEqual("1.0.0.0a1", semver.release_string())
- self.assertEqual("0.9999.9999.a1", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.0.0.0a1"))
-
- def test_alpha_default_version(self):
- semver = version.SemanticVersion(1, 2, 4, 'a')
- self.assertEqual((1, 2, 4, 'alpha', 0), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~a0", semver.debian_string())
- self.assertEqual("1.2.4.0a0", semver.release_string())
- self.assertEqual("1.2.3.a0", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.0a0"))
-
- def test_beta_dev_version(self):
- semver = version.SemanticVersion(1, 2, 4, 'b', 1, 12)
- self.assertEqual((1, 2, 4, 'betadev', 12), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~b1.dev12", semver.debian_string())
- self.assertEqual("1.2.4.0b1.dev12", semver.release_string())
- self.assertEqual("1.2.3.b1.dev12", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.0b1.dev12"))
-
- def test_beta_version(self):
- semver = version.SemanticVersion(1, 2, 4, 'b', 1)
- self.assertEqual((1, 2, 4, 'beta', 1), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~b1", semver.debian_string())
- self.assertEqual("1.2.4.0b1", semver.release_string())
- self.assertEqual("1.2.3.b1", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.0b1"))
-
- def test_decrement_nonrelease(self):
- # The prior version of any non-release is a release
- semver = version.SemanticVersion(1, 2, 4, 'b', 1)
- self.assertEqual(
- version.SemanticVersion(1, 2, 3), semver.decrement())
-
- def test_decrement_nonrelease_zero(self):
- # We set an arbitrary max version of 9999 when decrementing versions
- # - this is part of handling rpm support.
- semver = version.SemanticVersion(1, 0, 0)
- self.assertEqual(
- version.SemanticVersion(0, 9999, 9999), semver.decrement())
-
- def test_decrement_release(self):
- # The next patch version of a release version requires a change to the
- # patch level.
- semver = version.SemanticVersion(2, 2, 5)
- self.assertEqual(
- version.SemanticVersion(2, 2, 4), semver.decrement())
-
- def test_increment_nonrelease(self):
- # The next patch version of a non-release version is another
- # non-release version as the next release doesn't need to be
- # incremented.
- semver = version.SemanticVersion(1, 2, 4, 'b', 1)
- self.assertEqual(
- version.SemanticVersion(1, 2, 4, 'b', 2), semver.increment())
- # Major and minor increments however need to bump things.
- self.assertEqual(
- version.SemanticVersion(1, 3, 0), semver.increment(minor=True))
- self.assertEqual(
- version.SemanticVersion(2, 0, 0), semver.increment(major=True))
-
- def test_increment_release(self):
- # The next patch version of a release version requires a change to the
- # patch level.
- semver = version.SemanticVersion(1, 2, 5)
- self.assertEqual(
- version.SemanticVersion(1, 2, 6), semver.increment())
- self.assertEqual(
- version.SemanticVersion(1, 3, 0), semver.increment(minor=True))
- self.assertEqual(
- version.SemanticVersion(2, 0, 0), semver.increment(major=True))
-
- def test_rc_dev_version(self):
- semver = version.SemanticVersion(1, 2, 4, 'rc', 1, 12)
- self.assertEqual((1, 2, 4, 'candidatedev', 12), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~rc1.dev12", semver.debian_string())
- self.assertEqual("1.2.4.0rc1.dev12", semver.release_string())
- self.assertEqual("1.2.3.rc1.dev12", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.0rc1.dev12"))
-
- def test_rc_version(self):
- semver = version.SemanticVersion(1, 2, 4, 'rc', 1)
- self.assertEqual((1, 2, 4, 'candidate', 1), semver.version_tuple())
- self.assertEqual("1.2.4", semver.brief_string())
- self.assertEqual("1.2.4~rc1", semver.debian_string())
- self.assertEqual("1.2.4.0rc1", semver.release_string())
- self.assertEqual("1.2.3.rc1", semver.rpm_string())
- self.assertEqual(semver, from_pip_string("1.2.4.0rc1"))
-
- def test_to_dev(self):
- self.assertEqual(
- version.SemanticVersion(1, 2, 3, dev_count=1),
- version.SemanticVersion(1, 2, 3).to_dev(1))
- self.assertEqual(
- version.SemanticVersion(1, 2, 3, 'rc', 1, dev_count=1),
- version.SemanticVersion(1, 2, 3, 'rc', 1).to_dev(1))
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_wsgi.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_wsgi.py
deleted file mode 100644
index ea65fed..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/test_wsgi.py
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright (c) 2015 Hewlett-Packard Development Company, L.P. (HP)
-#
-# Licensed 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 os
-import re
-import subprocess
-import sys
-import tempfile
-import time
-try:
- # python 2
- from urllib2 import urlopen
-except ImportError:
- # python 3
- from urllib.request import urlopen
-
-import fixtures
-
-from pbr.tests import base
-
-
-class TestWsgiScripts(base.BaseTestCase):
-
- cmd_names = ('pbr_test_wsgi', 'pbr_test_wsgi_with_class')
-
- def test_wsgi_script_install(self):
- """Test that we install a non-pkg-resources wsgi script."""
- if os.name == 'nt':
- self.skipTest('Windows support is passthrough')
-
- stdout, _, return_code = self.run_setup(
- 'install', '--prefix=%s' % self.temp_dir)
-
- self.useFixture(
- fixtures.EnvironmentVariable(
- 'PYTHONPATH', ".:%s/lib/python%s.%s/site-packages" % (
- self.temp_dir,
- sys.version_info[0],
- sys.version_info[1])))
-
- self._check_wsgi_install_content(stdout)
-
- def test_wsgi_script_run(self):
- """Test that we install a runnable wsgi script.
-
- This test actually attempts to start and interact with the
- wsgi script in question to demonstrate that it's a working
- wsgi script using simple server. It's a bit hokey because of
- process management that has to be done.
-
- """
- self.skipTest("Test skipped until we can determine a reliable "
- "way to capture subprocess stdout without blocking")
-
- if os.name == 'nt':
- self.skipTest('Windows support is passthrough')
-
- stdout, _, return_code = self.run_setup(
- 'install', '--prefix=%s' % self.temp_dir)
-
- self.useFixture(
- fixtures.EnvironmentVariable(
- 'PYTHONPATH', ".:%s/lib/python%s.%s/site-packages" % (
- self.temp_dir,
- sys.version_info[0],
- sys.version_info[1])))
- # NOTE(sdague): making python unbuffered is critical to
- # getting output out of the subprocess.
- self.useFixture(
- fixtures.EnvironmentVariable(
- 'PYTHONUNBUFFERED', '1'))
-
- self._check_wsgi_install_content(stdout)
-
- # Live test run the scripts and see that they respond to wsgi
- # requests.
- self._test_wsgi()
-
- def _test_wsgi(self):
- for cmd_name in self.cmd_names:
- cmd = os.path.join(self.temp_dir, 'bin', cmd_name)
- stdout = tempfile.NamedTemporaryFile()
- print("Running %s > %s" % (cmd, stdout.name))
- # NOTE(sdague): ok, this looks a little janky, and it
- # is. However getting python to not hang with
- # popen.communicate is beyond me.
- #
- # We're opening with a random port (so no conflicts), and
- # redirecting all stdout and stderr to files. We can then
- # safely read these files and not deadlock later in the
- # test. This requires shell expansion.
- p = subprocess.Popen(
- "%s -p 0 > %s 2>&1" % (cmd, stdout.name),
- shell=True,
- close_fds=True,
- cwd=self.temp_dir)
-
- self.addCleanup(p.kill)
-
- # the sleep is important to force a context switch to the
- # subprocess
- time.sleep(0.1)
-
- stdoutdata = stdout.read()
- self.assertIn(
- "STARTING test server pbr_testpackage.wsgi",
- stdoutdata)
- self.assertIn(
- "DANGER! For testing only, do not use in production",
- stdoutdata)
-
- m = re.search('(http://[^:]+:\d+)/', stdoutdata)
- self.assertIsNotNone(m, "Regex failed to match on %s" % stdoutdata)
-
- f = urlopen(m.group(1))
- self.assertEqual("Hello World", f.read())
-
- # the sleep is important to force a context switch to the
- # subprocess
- time.sleep(0.1)
-
- # Kill off the child, it should force a flush of the stdout.
- p.kill()
- time.sleep(0.1)
-
- stdoutdata = stdout.read()
- # we should have logged an HTTP request, return code 200, that
- # returned 11 bytes
- self.assertIn('"GET / HTTP/1.1" 200 11', stdoutdata)
-
- def _check_wsgi_install_content(self, install_stdout):
- for cmd_name in self.cmd_names:
- install_txt = 'Installing %s script to %s' % (cmd_name,
- self.temp_dir)
- self.assertIn(install_txt, install_stdout)
-
- cmd_filename = os.path.join(self.temp_dir, 'bin', cmd_name)
-
- script_txt = open(cmd_filename, 'r').read()
- self.assertNotIn('pkg_resources', script_txt)
-
- main_block = """if __name__ == "__main__":
- import argparse
- import socket
- import wsgiref.simple_server as wss"""
-
- if cmd_name == 'pbr_test_wsgi':
- app_name = "main"
- else:
- app_name = "WSGI.app"
-
- starting_block = ("STARTING test server pbr_testpackage.wsgi."
- "%s" % app_name)
-
- else_block = """else:
- application = None"""
-
- self.assertIn(main_block, script_txt)
- self.assertIn(starting_block, script_txt)
- self.assertIn(else_block, script_txt)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/CHANGES.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/CHANGES.txt
deleted file mode 100644
index 709b9d4..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/CHANGES.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-Changelog
-===========
-
-0.3 (unreleased)
-------------------
-
-- The ``glob_data_files`` hook became a pre-command hook for the install_data
- command instead of being a setup-hook. This is to support the additional
- functionality of requiring data_files with relative destination paths to be
- install relative to the package's install path (i.e. site-packages).
-
-- Dropped support for and deprecated the easier_install custom command.
- Although it should still work, it probably won't be used anymore for
- stsci_python packages.
-
-- Added support for the ``build_optional_ext`` command, which replaces/extends
- the default ``build_ext`` command. See the README for more details.
-
-- Added the ``tag_svn_revision`` setup_hook as a replacement for the
- setuptools-specific tag_svn_revision option to the egg_info command. This
- new hook is easier to use than the old tag_svn_revision option: It's
- automatically enabled by the presence of ``.dev`` in the version string, and
- disabled otherwise.
-
-- The ``svn_info_pre_hook`` and ``svn_info_post_hook`` have been replaced with
- ``version_pre_command_hook`` and ``version_post_command_hook`` respectively.
- However, a new ``version_setup_hook``, which has the same purpose, has been
- added. It is generally easier to use and will give more consistent results
- in that it will run every time setup.py is run, regardless of which command
- is used. ``stsci.distutils`` itself uses this hook--see the `setup.cfg` file
- and `stsci/distutils/__init__.py` for example usage.
-
-- Instead of creating an `svninfo.py` module, the new ``version_`` hooks create
- a file called `version.py`. In addition to the SVN info that was included
- in `svninfo.py`, it includes a ``__version__`` variable to be used by the
- package's `__init__.py`. This allows there to be a hard-coded
- ``__version__`` variable included in the source code, rather than using
- pkg_resources to get the version.
-
-- In `version.py`, the variables previously named ``__svn_version__`` and
- ``__full_svn_info__`` are now named ``__svn_revision__`` and
- ``__svn_full_info__``.
-
-- Fixed a bug when using stsci.distutils in the installation of other packages
- in the ``stsci.*`` namespace package. If stsci.distutils was not already
- installed, and was downloaded automatically by distribute through the
- setup_requires option, then ``stsci.distutils`` would fail to import. This
- is because the way the namespace package (nspkg) mechanism currently works,
- all packages belonging to the nspkg *must* be on the import path at initial
- import time.
-
- So when installing stsci.tools, for example, if ``stsci.tools`` is imported
- from within the source code at install time, but before ``stsci.distutils``
- is downloaded and added to the path, the ``stsci`` package is already
- imported and can't be extended to include the path of ``stsci.distutils``
- after the fact. The easiest way of dealing with this, it seems, is to
- delete ``stsci`` from ``sys.modules``, which forces it to be reimported, now
- the its ``__path__`` extended to include ``stsci.distutil``'s path.
-
-
-0.2.2 (2011-11-09)
-------------------
-
-- Fixed check for the issue205 bug on actual setuptools installs; before it
- only worked on distribute. setuptools has the issue205 bug prior to version
- 0.6c10.
-
-- Improved the fix for the issue205 bug, especially on setuptools.
- setuptools, prior to 0.6c10, did not back of sys.modules either before
- sandboxing, which causes serious problems. In fact, it's so bad that it's
- not enough to add a sys.modules backup to the current sandbox: It's in fact
- necessary to monkeypatch setuptools.sandbox.run_setup so that any subsequent
- calls to it also back up sys.modules.
-
-
-0.2.1 (2011-09-02)
-------------------
-
-- Fixed the dependencies so that setuptools is requirement but 'distribute'
- specifically. Previously installation could fail if users had plain
- setuptools installed and not distribute
-
-0.2 (2011-08-23)
-------------------
-
-- Initial public release
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/LICENSE.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/LICENSE.txt
deleted file mode 100644
index 7e8019a..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/LICENSE.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Copyright (C) 2005 Association of Universities for Research in Astronomy (AURA)
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
-
- 3. The name of AURA and its representatives may not be used to
- endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
-
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/MANIFEST.in b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/MANIFEST.in
deleted file mode 100644
index 2e35f3e..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/MANIFEST.in
+++ /dev/null
@@ -1,2 +0,0 @@
-include data_files/*
-exclude pbr_testpackage/extra.py
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/README.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/README.txt
deleted file mode 100644
index b6d84a7..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/README.txt
+++ /dev/null
@@ -1,148 +0,0 @@
-Introduction
-============
-This package contains utilities used to package some of STScI's Python
-projects; specifically those projects that comprise stsci_python_ and
-Astrolib_.
-
-It currently consists mostly of some setup_hook scripts meant for use with
-`distutils2/packaging`_ and/or pbr_, and a customized easy_install command
-meant for use with distribute_.
-
-This package is not meant for general consumption, though it might be worth
-looking at for examples of how to do certain things with your own packages, but
-YMMV.
-
-Features
-========
-
-Hook Scripts
-------------
-Currently the main features of this package are a couple of setup_hook scripts.
-In distutils2, a setup_hook is a script that runs at the beginning of any
-pysetup command, and can modify the package configuration read from setup.cfg.
-There are also pre- and post-command hooks that only run before/after a
-specific setup command (eg. build_ext, install) is run.
-
-stsci.distutils.hooks.use_packages_root
-'''''''''''''''''''''''''''''''''''''''
-If using the ``packages_root`` option under the ``[files]`` section of
-setup.cfg, this hook will add that path to ``sys.path`` so that modules in your
-package can be imported and used in setup. This can be used even if
-``packages_root`` is not specified--in this case it adds ``''`` to
-``sys.path``.
-
-stsci.distutils.hooks.version_setup_hook
-''''''''''''''''''''''''''''''''''''''''
-Creates a Python module called version.py which currently contains four
-variables:
-
-* ``__version__`` (the release version)
-* ``__svn_revision__`` (the SVN revision info as returned by the ``svnversion``
- command)
-* ``__svn_full_info__`` (as returned by the ``svn info`` command)
-* ``__setup_datetime__`` (the date and time that setup.py was last run).
-
-These variables can be imported in the package's `__init__.py` for degugging
-purposes. The version.py module will *only* be created in a package that
-imports from the version module in its `__init__.py`. It should be noted that
-this is generally preferable to writing these variables directly into
-`__init__.py`, since this provides more control and is less likely to
-unexpectedly break things in `__init__.py`.
-
-stsci.distutils.hooks.version_pre_command_hook
-''''''''''''''''''''''''''''''''''''''''''''''
-Identical to version_setup_hook, but designed to be used as a pre-command
-hook.
-
-stsci.distutils.hooks.version_post_command_hook
-'''''''''''''''''''''''''''''''''''''''''''''''
-The complement to version_pre_command_hook. This will delete any version.py
-files created during a build in order to prevent them from cluttering an SVN
-working copy (note, however, that version.py is *not* deleted from the build/
-directory, so a copy of it is still preserved). It will also not be deleted
-if the current directory is not an SVN working copy. For example, if source
-code extracted from a source tarball it will be preserved.
-
-stsci.distutils.hooks.tag_svn_revision
-''''''''''''''''''''''''''''''''''''''
-A setup_hook to add the SVN revision of the current working copy path to the
-package version string, but only if the version ends in .dev.
-
-For example, ``mypackage-1.0.dev`` becomes ``mypackage-1.0.dev1234``. This is
-in accordance with the version string format standardized by PEP 386.
-
-This should be used as a replacement for the ``tag_svn_revision`` option to
-the egg_info command. This hook is more compatible with packaging/distutils2,
-which does not include any VCS support. This hook is also more flexible in
-that it turns the revision number on/off depending on the presence of ``.dev``
-in the version string, so that it's not automatically added to the version in
-final releases.
-
-This hook does require the ``svnversion`` command to be available in order to
-work. It does not examine the working copy metadata directly.
-
-stsci.distutils.hooks.numpy_extension_hook
-''''''''''''''''''''''''''''''''''''''''''
-This is a pre-command hook for the build_ext command. To use it, add a
-``[build_ext]`` section to your setup.cfg, and add to it::
-
- pre-hook.numpy-extension-hook = stsci.distutils.hooks.numpy_extension_hook
-
-This hook must be used to build extension modules that use Numpy. The primary
-side-effect of this hook is to add the correct numpy include directories to
-`include_dirs`. To use it, add 'numpy' to the 'include-dirs' option of each
-extension module that requires numpy to build. The value 'numpy' will be
-replaced with the actual path to the numpy includes.
-
-stsci.distutils.hooks.is_display_option
-'''''''''''''''''''''''''''''''''''''''
-This is not actually a hook, but is a useful utility function that can be used
-in writing other hooks. Basically, it returns ``True`` if setup.py was run
-with a "display option" such as --version or --help. This can be used to
-prevent your hook from running in such cases.
-
-stsci.distutils.hooks.glob_data_files
-'''''''''''''''''''''''''''''''''''''
-A pre-command hook for the install_data command. Allows filename wildcards as
-understood by ``glob.glob()`` to be used in the data_files option. This hook
-must be used in order to have this functionality since it does not normally
-exist in distutils.
-
-This hook also ensures that data files are installed relative to the package
-path. data_files shouldn't normally be installed this way, but the
-functionality is required for a few special cases.
-
-
-Commands
---------
-build_optional_ext
-''''''''''''''''''
-This serves as an optional replacement for the default built_ext command,
-which compiles C extension modules. Its purpose is to allow extension modules
-to be *optional*, so that if their build fails the rest of the package is
-still allowed to be built and installed. This can be used when an extension
-module is not definitely required to use the package.
-
-To use this custom command, add::
-
- commands = stsci.distutils.command.build_optional_ext.build_optional_ext
-
-under the ``[global]`` section of your package's setup.cfg. Then, to mark
-an individual extension module as optional, under the setup.cfg section for
-that extension add::
-
- optional = True
-
-Optionally, you may also add a custom failure message by adding::
-
- fail_message = The foobar extension module failed to compile.
- This could be because you lack such and such headers.
- This package will still work, but such and such features
- will be disabled.
-
-
-.. _stsci_python: http://www.stsci.edu/resources/software_hardware/pyraf/stsci_python
-.. _Astrolib: http://www.scipy.org/AstroLib/
-.. _distutils2/packaging: http://distutils2.notmyidea.org/
-.. _d2to1: http://pypi.python.org/pypi/d2to1
-.. _distribute: http://pypi.python.org/pypi/distribute
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/a.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/a.txt
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/a.txt
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/b.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/b.txt
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/b.txt
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/c.rst b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/c.rst
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/data_files/c.rst
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/extra-file.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/extra-file.txt
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/extra-file.txt
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/git-extra-file.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/git-extra-file.txt
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/git-extra-file.txt
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/__init__.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/__init__.py
deleted file mode 100644
index aa56dc6..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-import pbr.version
-
-__version__ = pbr.version.VersionInfo('pbr_testpackage').version_string()
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/_setup_hooks.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/_setup_hooks.py
deleted file mode 100644
index f8b3087..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/_setup_hooks.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-
-from distutils.command import build_py
-
-
-def test_hook_1(config):
- print('test_hook_1')
-
-
-def test_hook_2(config):
- print('test_hook_2')
-
-
-class test_command(build_py.build_py):
- command_name = 'build_py'
-
- def run(self):
- print('Running custom build_py command.')
- return build_py.build_py.run(self)
-
-
-def test_pre_hook(cmdobj):
- print('build_ext pre-hook')
-
-
-def test_post_hook(cmdobj):
- print('build_ext post-hook')
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/cmd.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/cmd.py
deleted file mode 100644
index 4cc4522..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/cmd.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-from __future__ import print_function
-
-
-def main():
- print("PBR Test Command")
-
-
-class Foo(object):
-
- @classmethod
- def bar(self):
- print("PBR Test Command - with class!")
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/extra.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/extra.py
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/extra.py
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/1.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/1.txt
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/1.txt
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/2.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/2.txt
deleted file mode 100644
index e69de29..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/package_data/2.txt
+++ /dev/null
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/wsgi.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/wsgi.py
deleted file mode 100644
index 7b96e66..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/pbr_testpackage/wsgi.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-from __future__ import print_function
-
-
-def application(env, start_response):
- start_response('200 OK', [('Content-Type', 'text/html')])
- return ["Hello World"]
-
-
-def main():
- return application
-
-
-class WSGI(object):
-
- @classmethod
- def app(self):
- return application
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.cfg b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.cfg
deleted file mode 100644
index 7ba209f..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.cfg
+++ /dev/null
@@ -1,57 +0,0 @@
-[metadata]
-name = pbr_testpackage
-# TODO(lifeless) we should inject this as needed otherwise we're not truely
-# testing postversioned codepaths.
-version = 0.1.dev
-author = OpenStack
-author-email = openstack-dev@lists.openstack.org
-home-page = http://pypi.python.org/pypi/pbr
-summary = Test package for testing pbr
-description-file =
- README.txt
- CHANGES.txt
-requires-python = >=2.5
-
-requires-dist =
- setuptools
-
-classifier =
- Development Status :: 3 - Alpha
- Intended Audience :: Developers
- License :: OSI Approved :: BSD License
- Programming Language :: Python
- Topic :: Scientific/Engineering
- Topic :: Software Development :: Build Tools
- Topic :: Software Development :: Libraries :: Python Modules
- Topic :: System :: Archiving :: Packaging
-
-keywords = packaging, distutils, setuptools
-
-[files]
-packages = pbr_testpackage
-package-data = testpackage = package_data/*.txt
-data-files = testpackage/data_files = data_files/*.txt
-extra-files = extra-file.txt
-
-[entry_points]
-console_scripts =
- pbr_test_cmd = pbr_testpackage.cmd:main
- pbr_test_cmd_with_class = pbr_testpackage.cmd:Foo.bar
-
-wsgi_scripts =
- pbr_test_wsgi = pbr_testpackage.wsgi:main
- pbr_test_wsgi_with_class = pbr_testpackage.wsgi:WSGI.app
-
-[extension=pbr_testpackage.testext]
-sources = src/testext.c
-optional = True
-
-[global]
-#setup-hooks =
-# pbr_testpackage._setup_hooks.test_hook_1
-# pbr_testpackage._setup_hooks.test_hook_2
-commands = pbr_testpackage._setup_hooks.test_command
-
-[build_ext]
-#pre-hook.test_pre_hook = pbr_testpackage._setup_hooks.test_pre_hook
-#post-hook.test_post_hook = pbr_testpackage._setup_hooks.test_post_hook
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.py
deleted file mode 100644
index 8866691..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/setup.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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 setuptools
-
-setuptools.setup(
- setup_requires=['pbr'],
- pbr=True,
-)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/src/testext.c b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/src/testext.c
deleted file mode 100644
index 872d43c..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/src/testext.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <Python.h>
-
-
-static PyMethodDef TestextMethods[] = {
- {NULL, NULL, 0, NULL}
-};
-
-
-#if PY_MAJOR_VERSION >=3
-static struct PyModuleDef testextmodule = {
- PyModuleDef_HEAD_INIT,
- "testext",
- -1,
- TestextMethods
-};
-
-PyObject*
-PyInit_testext(void)
-{
- return PyModule_Create(&testextmodule);
-}
-#else
-PyMODINIT_FUNC
-inittestext(void)
-{
- Py_InitModule("testext", TestextMethods);
-}
-#endif
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/test-requirements.txt b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/test-requirements.txt
deleted file mode 100644
index f283aff..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/testpackage/test-requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-ordereddict;python_version=='2.6'
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/util.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/util.py
deleted file mode 100644
index e847746..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/tests/util.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-
-import contextlib
-import os
-import shutil
-import stat
-
-try:
- import ConfigParser as configparser
-except ImportError:
- import configparser
-
-
-@contextlib.contextmanager
-def open_config(filename):
- cfg = configparser.SafeConfigParser()
- cfg.read(filename)
- yield cfg
- with open(filename, 'w') as fp:
- cfg.write(fp)
-
-
-def rmtree(path):
- """shutil.rmtree() with error handler.
-
- Handle 'access denied' from trying to delete read-only files.
- """
-
- def onerror(func, path, exc_info):
- if not os.access(path, os.W_OK):
- os.chmod(path, stat.S_IWUSR)
- func(path)
- else:
- raise
-
- return shutil.rmtree(path, onerror=onerror)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/util.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/util.py
deleted file mode 100644
index fffd733..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/util.py
+++ /dev/null
@@ -1,682 +0,0 @@
-# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-#
-# Copyright (C) 2013 Association of Universities for Research in Astronomy
-# (AURA)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of AURA and its representatives may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-
-"""The code in this module is mostly copy/pasted out of the distutils2 source
-code, as recommended by Tarek Ziade. As such, it may be subject to some change
-as distutils2 development continues, and will have to be kept up to date.
-
-I didn't want to use it directly from distutils2 itself, since I do not want it
-to be an installation dependency for our packages yet--it is still too unstable
-(the latest version on PyPI doesn't even install).
-"""
-
-# These first two imports are not used, but are needed to get around an
-# irritating Python bug that can crop up when using ./setup.py test.
-# See: http://www.eby-sarna.com/pipermail/peak/2010-May/003355.html
-try:
- import multiprocessing # flake8: noqa
-except ImportError:
- pass
-import logging # flake8: noqa
-
-import os
-import re
-import sys
-import traceback
-
-from collections import defaultdict
-
-import distutils.ccompiler
-
-from distutils import log
-from distutils.errors import (DistutilsOptionError, DistutilsModuleError,
- DistutilsFileError)
-from setuptools.command.egg_info import manifest_maker
-from setuptools.dist import Distribution
-from setuptools.extension import Extension
-
-try:
- import ConfigParser as configparser
-except ImportError:
- import configparser
-
-from pbr import extra_files
-import pbr.hooks
-
-# A simplified RE for this; just checks that the line ends with version
-# predicates in ()
-_VERSION_SPEC_RE = re.compile(r'\s*(.*?)\s*\((.*)\)\s*$')
-
-
-# Mappings from setup() keyword arguments to setup.cfg options;
-# The values are (section, option) tuples, or simply (section,) tuples if
-# the option has the same name as the setup() argument
-D1_D2_SETUP_ARGS = {
- "name": ("metadata",),
- "version": ("metadata",),
- "author": ("metadata",),
- "author_email": ("metadata",),
- "maintainer": ("metadata",),
- "maintainer_email": ("metadata",),
- "url": ("metadata", "home_page"),
- "description": ("metadata", "summary"),
- "keywords": ("metadata",),
- "long_description": ("metadata", "description"),
- "download-url": ("metadata",),
- "classifiers": ("metadata", "classifier"),
- "platforms": ("metadata", "platform"), # **
- "license": ("metadata",),
- # Use setuptools install_requires, not
- # broken distutils requires
- "install_requires": ("metadata", "requires_dist"),
- "setup_requires": ("metadata", "setup_requires_dist"),
- "provides": ("metadata", "provides_dist"), # **
- "obsoletes": ("metadata", "obsoletes_dist"), # **
- "package_dir": ("files", 'packages_root'),
- "packages": ("files",),
- "package_data": ("files",),
- "namespace_packages": ("files",),
- "data_files": ("files",),
- "scripts": ("files",),
- "py_modules": ("files", "modules"), # **
- "cmdclass": ("global", "commands"),
- # Not supported in distutils2, but provided for
- # backwards compatibility with setuptools
- "use_2to3": ("backwards_compat", "use_2to3"),
- "zip_safe": ("backwards_compat", "zip_safe"),
- "tests_require": ("backwards_compat", "tests_require"),
- "dependency_links": ("backwards_compat",),
- "include_package_data": ("backwards_compat",),
-}
-
-# setup() arguments that can have multiple values in setup.cfg
-MULTI_FIELDS = ("classifiers",
- "platforms",
- "install_requires",
- "provides",
- "obsoletes",
- "namespace_packages",
- "packages",
- "package_data",
- "data_files",
- "scripts",
- "py_modules",
- "dependency_links",
- "setup_requires",
- "tests_require",
- "cmdclass")
-
-# setup() arguments that contain boolean values
-BOOL_FIELDS = ("use_2to3", "zip_safe", "include_package_data")
-
-
-CSV_FIELDS = ("keywords",)
-
-
-def resolve_name(name):
- """Resolve a name like ``module.object`` to an object and return it.
-
- Raise ImportError if the module or name is not found.
- """
-
- parts = name.split('.')
- cursor = len(parts) - 1
- module_name = parts[:cursor]
- attr_name = parts[-1]
-
- while cursor > 0:
- try:
- ret = __import__('.'.join(module_name), fromlist=[attr_name])
- break
- except ImportError:
- if cursor == 0:
- raise
- cursor -= 1
- module_name = parts[:cursor]
- attr_name = parts[cursor]
- ret = ''
-
- for part in parts[cursor:]:
- try:
- ret = getattr(ret, part)
- except AttributeError:
- raise ImportError(name)
-
- return ret
-
-
-def cfg_to_args(path='setup.cfg'):
- """ Distutils2 to distutils1 compatibility util.
-
- This method uses an existing setup.cfg to generate a dictionary of
- keywords that can be used by distutils.core.setup(kwargs**).
-
- :param file:
- The setup.cfg path.
- :raises DistutilsFileError:
- When the setup.cfg file is not found.
-
- """
-
- # The method source code really starts here.
- parser = configparser.SafeConfigParser()
- if not os.path.exists(path):
- raise DistutilsFileError("file '%s' does not exist" %
- os.path.abspath(path))
- parser.read(path)
- config = {}
- for section in parser.sections():
- config[section] = dict(parser.items(section))
-
- # Run setup_hooks, if configured
- setup_hooks = has_get_option(config, 'global', 'setup_hooks')
- package_dir = has_get_option(config, 'files', 'packages_root')
-
- # Add the source package directory to sys.path in case it contains
- # additional hooks, and to make sure it's on the path before any existing
- # installations of the package
- if package_dir:
- package_dir = os.path.abspath(package_dir)
- sys.path.insert(0, package_dir)
-
- try:
- if setup_hooks:
- setup_hooks = [
- hook for hook in split_multiline(setup_hooks)
- if hook != 'pbr.hooks.setup_hook']
- for hook in setup_hooks:
- hook_fn = resolve_name(hook)
- try :
- hook_fn(config)
- except SystemExit:
- log.error('setup hook %s terminated the installation')
- except:
- e = sys.exc_info()[1]
- log.error('setup hook %s raised exception: %s\n' %
- (hook, e))
- log.error(traceback.format_exc())
- sys.exit(1)
-
- # Run the pbr hook
- pbr.hooks.setup_hook(config)
-
- kwargs = setup_cfg_to_setup_kwargs(config)
-
- # Set default config overrides
- kwargs['include_package_data'] = True
- kwargs['zip_safe'] = False
-
- register_custom_compilers(config)
-
- ext_modules = get_extension_modules(config)
- if ext_modules:
- kwargs['ext_modules'] = ext_modules
-
- entry_points = get_entry_points(config)
- if entry_points:
- kwargs['entry_points'] = entry_points
-
- wrap_commands(kwargs)
-
- # Handle the [files]/extra_files option
- files_extra_files = has_get_option(config, 'files', 'extra_files')
- if files_extra_files:
- extra_files.set_extra_files(split_multiline(files_extra_files))
-
- finally:
- # Perform cleanup if any paths were added to sys.path
- if package_dir:
- sys.path.pop(0)
-
- return kwargs
-
-
-def setup_cfg_to_setup_kwargs(config):
- """Processes the setup.cfg options and converts them to arguments accepted
- by setuptools' setup() function.
- """
-
- kwargs = {}
-
- # Temporarily holds install_reqires and extra_requires while we
- # parse env_markers.
- all_requirements = {}
-
- for arg in D1_D2_SETUP_ARGS:
- if len(D1_D2_SETUP_ARGS[arg]) == 2:
- # The distutils field name is different than distutils2's.
- section, option = D1_D2_SETUP_ARGS[arg]
-
- elif len(D1_D2_SETUP_ARGS[arg]) == 1:
- # The distutils field name is the same thant distutils2's.
- section = D1_D2_SETUP_ARGS[arg][0]
- option = arg
-
- in_cfg_value = has_get_option(config, section, option)
- if not in_cfg_value:
- # There is no such option in the setup.cfg
- if arg == "long_description":
- in_cfg_value = has_get_option(config, section,
- "description_file")
- if in_cfg_value:
- in_cfg_value = split_multiline(in_cfg_value)
- value = ''
- for filename in in_cfg_value:
- description_file = open(filename)
- try:
- value += description_file.read().strip() + '\n\n'
- finally:
- description_file.close()
- in_cfg_value = value
- else:
- continue
-
- if arg in CSV_FIELDS:
- in_cfg_value = split_csv(in_cfg_value)
- if arg in MULTI_FIELDS:
- in_cfg_value = split_multiline(in_cfg_value)
- elif arg in BOOL_FIELDS:
- # Provide some flexibility here...
- if in_cfg_value.lower() in ('true', 't', '1', 'yes', 'y'):
- in_cfg_value = True
- else:
- in_cfg_value = False
-
- if in_cfg_value:
- if arg in ('install_requires', 'tests_require'):
- # Replaces PEP345-style version specs with the sort expected by
- # setuptools
- in_cfg_value = [_VERSION_SPEC_RE.sub(r'\1\2', pred)
- for pred in in_cfg_value]
- if arg == 'install_requires':
- # Split install_requires into package,env_marker tuples
- # These will be re-assembled later
- install_requires = []
- requirement_pattern = '(?P<package>[^;]*);?(?P<env_marker>[^#]*?)(?:\s*#.*)?$'
- for requirement in in_cfg_value:
- m = re.match(requirement_pattern, requirement)
- requirement_package = m.group('package').strip()
- env_marker = m.group('env_marker').strip()
- install_requires.append((requirement_package,env_marker))
- all_requirements[''] = install_requires
- elif arg == 'package_dir':
- in_cfg_value = {'': in_cfg_value}
- elif arg in ('package_data', 'data_files'):
- data_files = {}
- firstline = True
- prev = None
- for line in in_cfg_value:
- if '=' in line:
- key, value = line.split('=', 1)
- key, value = (key.strip(), value.strip())
- if key in data_files:
- # Multiple duplicates of the same package name;
- # this is for backwards compatibility of the old
- # format prior to d2to1 0.2.6.
- prev = data_files[key]
- prev.extend(value.split())
- else:
- prev = data_files[key.strip()] = value.split()
- elif firstline:
- raise DistutilsOptionError(
- 'malformed package_data first line %r (misses '
- '"=")' % line)
- else:
- prev.extend(line.strip().split())
- firstline = False
- if arg == 'data_files':
- # the data_files value is a pointlessly different structure
- # from the package_data value
- data_files = data_files.items()
- in_cfg_value = data_files
- elif arg == 'cmdclass':
- cmdclass = {}
- dist = Distribution()
- for cls_name in in_cfg_value:
- cls = resolve_name(cls_name)
- cmd = cls(dist)
- cmdclass[cmd.get_command_name()] = cls
- in_cfg_value = cmdclass
-
- kwargs[arg] = in_cfg_value
-
- # Transform requirements with embedded environment markers to
- # setuptools' supported marker-per-requirement format.
- #
- # install_requires are treated as a special case of extras, before
- # being put back in the expected place
- #
- # fred =
- # foo:marker
- # bar
- # -> {'fred': ['bar'], 'fred:marker':['foo']}
-
- if 'extras' in config:
- requirement_pattern = '(?P<package>[^:]*):?(?P<env_marker>[^#]*?)(?:\s*#.*)?$'
- extras = config['extras']
- for extra in extras:
- extra_requirements = []
- requirements = split_multiline(extras[extra])
- for requirement in requirements:
- m = re.match(requirement_pattern, requirement)
- extras_value = m.group('package').strip()
- env_marker = m.group('env_marker')
- extra_requirements.append((extras_value,env_marker))
- all_requirements[extra] = extra_requirements
-
- # Transform the full list of requirements into:
- # - install_requires, for those that have no extra and no
- # env_marker
- # - named extras, for those with an extra name (which may include
- # an env_marker)
- # - and as a special case, install_requires with an env_marker are
- # treated as named extras where the name is the empty string
-
- extras_require = {}
- for req_group in all_requirements:
- for requirement, env_marker in all_requirements[req_group]:
- if env_marker:
- extras_key = '%s:(%s)' % (req_group, env_marker)
- else:
- extras_key = req_group
- extras_require.setdefault(extras_key, []).append(requirement)
-
- kwargs['install_requires'] = extras_require.pop('', [])
- kwargs['extras_require'] = extras_require
-
- return kwargs
-
-
-def register_custom_compilers(config):
- """Handle custom compilers; this has no real equivalent in distutils, where
- additional compilers could only be added programmatically, so we have to
- hack it in somehow.
- """
-
- compilers = has_get_option(config, 'global', 'compilers')
- if compilers:
- compilers = split_multiline(compilers)
- for compiler in compilers:
- compiler = resolve_name(compiler)
-
- # In distutils2 compilers these class attributes exist; for
- # distutils1 we just have to make something up
- if hasattr(compiler, 'name'):
- name = compiler.name
- else:
- name = compiler.__name__
- if hasattr(compiler, 'description'):
- desc = compiler.description
- else:
- desc = 'custom compiler %s' % name
-
- module_name = compiler.__module__
- # Note; this *will* override built in compilers with the same name
- # TODO: Maybe display a warning about this?
- cc = distutils.ccompiler.compiler_class
- cc[name] = (module_name, compiler.__name__, desc)
-
- # HACK!!!! Distutils assumes all compiler modules are in the
- # distutils package
- sys.modules['distutils.' + module_name] = sys.modules[module_name]
-
-
-def get_extension_modules(config):
- """Handle extension modules"""
-
- EXTENSION_FIELDS = ("sources",
- "include_dirs",
- "define_macros",
- "undef_macros",
- "library_dirs",
- "libraries",
- "runtime_library_dirs",
- "extra_objects",
- "extra_compile_args",
- "extra_link_args",
- "export_symbols",
- "swig_opts",
- "depends")
-
- ext_modules = []
- for section in config:
- if ':' in section:
- labels = section.split(':', 1)
- else:
- # Backwards compatibility for old syntax; don't use this though
- labels = section.split('=', 1)
- labels = [l.strip() for l in labels]
- if (len(labels) == 2) and (labels[0] == 'extension'):
- ext_args = {}
- for field in EXTENSION_FIELDS:
- value = has_get_option(config, section, field)
- # All extension module options besides name can have multiple
- # values
- if not value:
- continue
- value = split_multiline(value)
- if field == 'define_macros':
- macros = []
- for macro in value:
- macro = macro.split('=', 1)
- if len(macro) == 1:
- macro = (macro[0].strip(), None)
- else:
- macro = (macro[0].strip(), macro[1].strip())
- macros.append(macro)
- value = macros
- ext_args[field] = value
- if ext_args:
- if 'name' not in ext_args:
- ext_args['name'] = labels[1]
- ext_modules.append(Extension(ext_args.pop('name'),
- **ext_args))
- return ext_modules
-
-
-def get_entry_points(config):
- """Process the [entry_points] section of setup.cfg to handle setuptools
- entry points. This is, of course, not a standard feature of
- distutils2/packaging, but as there is not currently a standard alternative
- in packaging, we provide support for them.
- """
-
- if not 'entry_points' in config:
- return {}
-
- return dict((option, split_multiline(value))
- for option, value in config['entry_points'].items())
-
-
-def wrap_commands(kwargs):
- dist = Distribution()
-
- # This should suffice to get the same config values and command classes
- # that the actual Distribution will see (not counting cmdclass, which is
- # handled below)
- dist.parse_config_files()
-
- for cmd, _ in dist.get_command_list():
- hooks = {}
- for opt, val in dist.get_option_dict(cmd).items():
- val = val[1]
- if opt.startswith('pre_hook.') or opt.startswith('post_hook.'):
- hook_type, alias = opt.split('.', 1)
- hook_dict = hooks.setdefault(hook_type, {})
- hook_dict[alias] = val
- if not hooks:
- continue
-
- if 'cmdclass' in kwargs and cmd in kwargs['cmdclass']:
- cmdclass = kwargs['cmdclass'][cmd]
- else:
- cmdclass = dist.get_command_class(cmd)
-
- new_cmdclass = wrap_command(cmd, cmdclass, hooks)
- kwargs.setdefault('cmdclass', {})[cmd] = new_cmdclass
-
-
-def wrap_command(cmd, cmdclass, hooks):
- def run(self, cmdclass=cmdclass):
- self.run_command_hooks('pre_hook')
- cmdclass.run(self)
- self.run_command_hooks('post_hook')
-
- return type(cmd, (cmdclass, object),
- {'run': run, 'run_command_hooks': run_command_hooks,
- 'pre_hook': hooks.get('pre_hook'),
- 'post_hook': hooks.get('post_hook')})
-
-
-def run_command_hooks(cmd_obj, hook_kind):
- """Run hooks registered for that command and phase.
-
- *cmd_obj* is a finalized command object; *hook_kind* is either
- 'pre_hook' or 'post_hook'.
- """
-
- if hook_kind not in ('pre_hook', 'post_hook'):
- raise ValueError('invalid hook kind: %r' % hook_kind)
-
- hooks = getattr(cmd_obj, hook_kind, None)
-
- if hooks is None:
- return
-
- for hook in hooks.values():
- if isinstance(hook, str):
- try:
- hook_obj = resolve_name(hook)
- except ImportError:
- err = sys.exc_info()[1] # For py3k
- raise DistutilsModuleError('cannot find hook %s: %s' %
- (hook,err))
- else:
- hook_obj = hook
-
- if not hasattr(hook_obj, '__call__'):
- raise DistutilsOptionError('hook %r is not callable' % hook)
-
- log.info('running %s %s for command %s',
- hook_kind, hook, cmd_obj.get_command_name())
-
- try :
- hook_obj(cmd_obj)
- except:
- e = sys.exc_info()[1]
- log.error('hook %s raised exception: %s\n' % (hook, e))
- log.error(traceback.format_exc())
- sys.exit(1)
-
-
-def has_get_option(config, section, option):
- if section in config and option in config[section]:
- return config[section][option]
- elif section in config and option.replace('_', '-') in config[section]:
- return config[section][option.replace('_', '-')]
- else:
- return False
-
-
-def split_multiline(value):
- """Special behaviour when we have a multi line options"""
-
- value = [element for element in
- (line.strip() for line in value.split('\n'))
- if element]
- return value
-
-
-def split_csv(value):
- """Special behaviour when we have a comma separated options"""
-
- value = [element for element in
- (chunk.strip() for chunk in value.split(','))
- if element]
- return value
-
-
-def monkeypatch_method(cls):
- """A function decorator to monkey-patch a method of the same name on the
- given class.
- """
-
- def wrapper(func):
- orig = getattr(cls, func.__name__, None)
- if orig and not hasattr(orig, '_orig'): # Already patched
- setattr(func, '_orig', orig)
- setattr(cls, func.__name__, func)
- return func
-
- return wrapper
-
-
-# The following classes are used to hack Distribution.command_options a bit
-class DefaultGetDict(defaultdict):
- """Like defaultdict, but the get() method also sets and returns the default
- value.
- """
-
- def get(self, key, default=None):
- if default is None:
- default = self.default_factory()
- return super(DefaultGetDict, self).setdefault(key, default)
-
-
-class IgnoreDict(dict):
- """A dictionary that ignores any insertions in which the key is a string
- matching any string in `ignore`. The ignore list can also contain wildcard
- patterns using '*'.
- """
-
- def __init__(self, ignore):
- self.__ignore = re.compile(r'(%s)' % ('|'.join(
- [pat.replace('*', '.*')
- for pat in ignore])))
-
- def __setitem__(self, key, val):
- if self.__ignore.match(key):
- return
- super(IgnoreDict, self).__setitem__(key, val)
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/version.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/version.py
deleted file mode 100644
index d3fe401..0000000
--- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pbr-1.8.0-py2.7.egg/pbr/version.py
+++ /dev/null
@@ -1,473 +0,0 @@
-
-# Copyright 2012 OpenStack Foundation
-# Copyright 2012-2013 Hewlett-Packard Development Company, L.P.
-#
-# Licensed 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.
-
-"""
-Utilities for consuming the version from pkg_resources.
-"""
-
-import itertools
-import operator
-import sys
-
-import pkg_resources
-
-
-def _is_int(string):
- try:
- int(string)
- return True
- except ValueError:
- return False
-
-
-class SemanticVersion(object):
- """A pure semantic version independent of serialisation.
-
- See the pbr doc 'semver' for details on the semantics.
- """
-
- def __init__(
- self, major, minor=0, patch=0, prerelease_type=None,
- prerelease=None, dev_count=None):
- """Create a SemanticVersion.
-
- :param major: Major component of the version.
- :param minor: Minor component of the version. Defaults to 0.
- :param patch: Patch level component. Defaults to 0.
- :param prerelease_type: What sort of prerelease version this is -
- one of a(alpha), b(beta) or rc(release candidate).
- :param prerelease: For prerelease versions, what number prerelease.
- Defaults to 0.
- :param dev_count: How many commits since the last release.
- """
- self._major = major
- self._minor = minor
- self._patch = patch
- self._prerelease_type = prerelease_type
- self._prerelease = prerelease
- if self._prerelease_type and not self._prerelease:
- self._prerelease = 0
- self._dev_count = dev_count or 0 # Normalise 0 to None.
-
- def __eq__(self, other):
- if not isinstance(other, SemanticVersion):
- return False
- return self.__dict__ == other.__dict__
-
- def __hash__(self):
- return sum(map(hash, self.__dict__.values()))
-
- def _sort_key(self):
- """Return a key for sorting SemanticVersion's on."""
- # key things:
- # - final is after rc's, so we make that a/b/rc/z
- # - dev==None is after all other devs, so we use sys.maxsize there.
- # - unqualified dev releases come before any pre-releases.
- # So we do:
- # (major, minor, patch) - gets the major grouping.
- # (0|1) unqualified dev flag
- # (a/b/rc/z) - release segment grouping
- # pre-release level
- # dev count, maxsize for releases.
- rc_lookup = {'a': 'a', 'b': 'b', 'rc': 'rc', None: 'z'}
- if self._dev_count and not self._prerelease_type:
- uq_dev = 0
- else:
- uq_dev = 1
- return (
- self._major, self._minor, self._patch,
- uq_dev,
- rc_lookup[self._prerelease_type], self._prerelease,
- self._dev_count or sys.maxsize)
-
- def __lt__(self, other):
- """Compare self and other, another Semantic Version."""
- # NB(lifeless) this could perhaps be rewritten as
- # lt (tuple_of_one, tuple_of_other) with a single check for
- # the typeerror corner cases - that would likely be faster
- # if this ever becomes performance sensitive.
- if not isinstance(other, SemanticVersion):
- raise TypeError("ordering to non-SemanticVersion is undefined")
- return self._sort_key() < other._sort_key()
-
- def __le__(self, other):
- return self == other or self < other
-
- def __ge__(self, other):
- return not self < other
-
- def __gt__(self, other):
- return not self <= other
-
- def __ne__(self, other):
- return not self == other
-
- def __repr__(self):
- return "pbr.version.SemanticVersion(%s)" % self.release_string()
-
- @classmethod
- def from_pip_string(klass, version_string):
- """Create a SemanticVersion from a pip version string.
-
- This method will parse a version like 1.3.0 into a SemanticVersion.
-
- This method is responsible for accepting any version string that any
- older version of pbr ever created.
-
- Therefore: versions like 1.3.0a1 versions are handled, parsed into a
- canonical form and then output - resulting in 1.3.0.0a1.
- Pre pbr-semver dev versions like 0.10.1.3.g83bef74 will be parsed but
- output as 0.10.1.dev3.g83bef74.
-
- :raises ValueError: Never tagged versions sdisted by old pbr result in
- just the git hash, e.g. '1234567' which poses a substantial problem
- since they collide with the semver versions when all the digits are
- numerals. Such versions will result in a ValueError being thrown if
- any non-numeric digits are present. They are an exception to the
- general case of accepting anything we ever output, since they were
- never intended and would permanently mess up versions on PyPI if
- ever released - we're treating that as a critical bug that we ever
- made them and have stopped doing that.
- """
- # Versions need to start numerically, ignore if not
- if not version_string[:1].isdigit():
- raise ValueError("Invalid version %r" % version_string)
- input_components = version_string.split('.')
- # decimals first (keep pre-release and dev/hashes to the right)
- components = [c for c in input_components if c.isdigit()]
- digit_len = len(components)
- if digit_len == 0:
- raise ValueError("Invalid version %r" % version_string)
- elif digit_len < 3:
- if (digit_len < len(input_components) and
- input_components[digit_len][0].isdigit()):
- # Handle X.YaZ - Y is a digit not a leadin to pre-release.
- mixed_component = input_components[digit_len]
- last_component = ''.join(itertools.takewhile(
- lambda x: x.isdigit(), mixed_component))
- components.append(last_component)
- input_components[digit_len:digit_len + 1] = [
- last_component, mixed_component[len(last_component):]]
- digit_len += 1
- components.extend([0] * (3 - digit_len))
- components.extend(input_components[digit_len:])
- major = int(components[0])
- minor = int(components[1])
- dev_count = None
- post_count = None
- prerelease_type = None
- prerelease = None
-
- def _parse_type(segment):
- # Discard leading digits (the 0 in 0a1)
- isdigit = operator.methodcaller('isdigit')
- segment = ''.join(itertools.dropwhile(isdigit, segment))
- isalpha = operator.methodcaller('isalpha')
- prerelease_type = ''.join(itertools.takewhile(isalpha, segment))
- prerelease = segment[len(prerelease_type)::]
- return prerelease_type, int(prerelease)
- if _is_int(components[2]):
- patch = int(components[2])
- else:
- # legacy version e.g. 1.2.0a1 (canonical is 1.2.0.0a1)
- # or 1.2.dev4.g1234 or 1.2.b4
- patch = 0
- components[2:2] = [0]
- remainder = components[3:]
- remainder_starts_with_int = False
- try:
- if remainder and int(remainder[0]):
- remainder_starts_with_int = True
- except ValueError:
- pass
- if remainder_starts_with_int:
- # old dev format - 0.1.2.3.g1234
- dev_count = int(remainder[0])
- else:
- if remainder and (remainder[0][0] == '0' or
- remainder[0][0] in ('a', 'b', 'r')):
- # Current RC/beta layout
- prerelease_type, prerelease = _parse_type(remainder[0])
- remainder = remainder[1:]
- while remainder:
- component = remainder[0]
- if component.startswith('dev'):
- dev_count = int(component[3:])
- elif component.startswith('post'):
- dev_count = None
- post_count = int(component[4:])
- else:
- raise ValueError(
- 'Unknown remainder %r in %r'
- % (remainder, version_string))
- remainder = remainder[1:]
- result = SemanticVersion(
- major, minor, patch, prerelease_type=prerelease_type,
- prerelease=prerelease, dev_count=dev_count)
- if post_count:
- if dev_count:
- raise ValueError(
- 'Cannot combine postN and devN - no mapping in %r'
- % (version_string,))
- result = result.increment().to_dev(post_count)
- return result
-
- def brief_string(self):
- """Return the short version minus any alpha/beta tags."""
- return "%s.%s.%s" % (self._major, self._minor, self._patch)
-
- def debian_string(self):
- """Return the version number to use when building a debian package.
-
- This translates the PEP440/semver precedence rules into Debian version
- sorting operators.
- """
- return self._long_version("~")
-
- def decrement(self):
- """Return a decremented SemanticVersion.
-
- Decrementing versions doesn't make a lot of sense - this method only
- exists to support rendering of pre-release versions strings into
- serialisations (such as rpm) with no sort-before operator.
-
- The 9999 magic version component is from the spec on this - pbr-semver.
-
- :return: A new SemanticVersion object.
- """
- if self._patch:
- new_patch = self._patch - 1
- new_minor = self._minor
- new_major = self._major
- else:
- new_patch = 9999
- if self._minor:
- new_minor = self._minor - 1
- new_major = self._major
- else:
- new_minor = 9999
- if self._major:
- new_major = self._major - 1
- else:
- new_major = 0
- return SemanticVersion(
- new_major, new_minor, new_patch)
-
- def increment(self, minor=False, major=False):
- """Return an incremented SemanticVersion.
-
- The default behaviour is to perform a patch level increment. When
- incrementing a prerelease version, the patch level is not changed
- - the prerelease serial is changed (e.g. beta 0 -> beta 1).
-
- Incrementing non-pre-release versions will not introduce pre-release
- versions - except when doing a patch incremental to a pre-release
- version the new version will only consist of major/minor/patch.
-
- :param minor: Increment the minor version.
- :param major: Increment the major version.
- :return: A new SemanticVersion object.
- """
- if self._prerelease_type:
- new_prerelease_type = self._prerelease_type
- new_prerelease = self._prerelease + 1
- new_patch = self._patch
- else:
- new_prerelease_type = None
- new_prerelease = None
- new_patch = self._patch + 1
- if minor:
- new_minor = self._minor + 1
- new_patch = 0
- new_prerelease_type = None
- new_prerelease = None
- else:
- new_minor = self._minor
- if major:
- new_major = self._major + 1
- new_minor = 0
- new_patch = 0
- new_prerelease_type = None
- new_prerelease = None
- else:
- new_major = self._major
- return SemanticVersion(
- new_major, new_minor, new_patch,
- new_prerelease_type, new_prerelease)
-
- def _long_version(self, pre_separator, rc_marker=""):
- """Construct a long string version of this semver.
-
- :param pre_separator: What separator to use between components
- that sort before rather than after. If None, use . and lower the
- version number of the component to preserve sorting. (Used for
- rpm support)
- """
- if ((self._prerelease_type or self._dev_count)
- and pre_separator is None):
- segments = [self.decrement().brief_string()]
- pre_separator = "."
- else:
- segments = [self.brief_string()]
- if self._prerelease_type:
- segments.append(
- "%s%s%s%s" % (pre_separator, rc_marker, self._prerelease_type,
- self._prerelease))
- if self._dev_count:
- if not self._prerelease_type:
- segments.append(pre_separator)
- else:
- segments.append('.')
- segments.append('dev')
- segments.append(self._dev_count)
- return "".join(str(s) for s in segments)
-
- def release_string(self):
- """Return the full version of the package.
-
- This including suffixes indicating VCS status.
- """
- return self._long_version(".", "0")
-
- def rpm_string(self):
- """Return the version number to use when building an RPM package.
-
- This translates the PEP440/semver precedence rules into RPM version
- sorting operators. Because RPM has no sort-before operator (such as the
- ~ operator in dpkg), we show all prerelease versions as being versions
- of the release before.
- """
- return self._long_version(None)
-
- def to_dev(self, dev_count):
- """Return a development version of this semver.
-
- :param dev_count: The number of commits since the last release.
- """
- return SemanticVersion(
- self._major, self._minor, self._patch, self._prerelease_type,
- self._prerelease, dev_count=dev_count)
-
- def version_tuple(self):
- """Present the version as a version_info tuple.
-
- For documentation on version_info tuples see the Python
- documentation for sys.version_info.
-
- Since semver and PEP-440 represent overlapping but not subsets of
- versions, we have to have some heuristic / mapping rules, and have
- extended the releaselevel field to have alphadev, betadev and
- candidatedev values. When they are present the dev count is used
- to provide the serial.
- - a/b/rc take precedence.
- - if there is no pre-release version the dev version is used.
- - serial is taken from the dev/a/b/c component.
- - final non-dev versions never get serials.
- """
- segments = [self._major, self._minor, self._patch]
- if self._prerelease_type:
- type_map = {('a', False): 'alpha',
- ('b', False): 'beta',
- ('rc', False): 'candidate',
- ('a', True): 'alphadev',
- ('b', True): 'betadev',
- ('rc', True): 'candidatedev',
- }
- segments.append(
- type_map[(self._prerelease_type, bool(self._dev_count))])
- segments.append(self._dev_count or self._prerelease)
- elif self._dev_count:
- segments.append('dev')
- segments.append(self._dev_count - 1)
- else:
- segments.append('final')
- segments.append(0)
- return tuple(segments)
-
-
-class VersionInfo(object):
-
- def __init__(self, package):
- """Object that understands versioning for a package
-
- :param package: name of the python package, such as glance, or
- python-glanceclient
- """
- self.package = package
- self.version = None
- self._cached_version = None
- self._semantic = None
-
- def __str__(self):
- """Make the VersionInfo object behave like a string."""
- return self.version_string()
-
- def __repr__(self):
- """Include the name."""
- return "pbr.version.VersionInfo(%s:%s)" % (
- self.package, self.version_string())
-
- def _get_version_from_pkg_resources(self):
- """Obtain a version from pkg_resources or setup-time logic if missing.
-
- This will try to get the version of the package from the pkg_resources
- record associated with the package, and if there is no such record
- falls back to the logic sdist would use.
- """
- try:
- requirement = pkg_resources.Requirement.parse(self.package)
- provider = pkg_resources.get_provider(requirement)
- result_string = provider.version
- except pkg_resources.DistributionNotFound:
- # The most likely cause for this is running tests in a tree
- # produced from a tarball where the package itself has not been
- # installed into anything. Revert to setup-time logic.
- from pbr import packaging
- result_string = packaging.get_version(self.package)
- return SemanticVersion.from_pip_string(result_string)
-
- def release_string(self):
- """Return the full version of the package.
-
- This including suffixes indicating VCS status.
- """
- return self.semantic_version().release_string()
-
- def semantic_version(self):
- """Return the SemanticVersion object for this version."""
- if self._semantic is None:
- self._semantic = self._get_version_from_pkg_resources()
- return self._semantic
-
- def version_string(self):
- """Return the short version minus any alpha/beta tags."""
- return self.semantic_version().brief_string()
-
- # Compatibility functions
- canonical_version_string = version_string
- version_string_with_vcs = release_string
-
- def cached_version_string(self, prefix=""):
- """Return a cached version string.
-
- This will return a cached version string if one is already cached,
- irrespective of prefix. If none is cached, one will be created with
- prefix and then cached and returned.
- """
- if not self._cached_version:
- self._cached_version = "%s%s" % (prefix,
- self.version_string())
- return self._cached_version