summaryrefslogtreecommitdiffstats
path: root/azure/aria/aria-extension-cloudify/src/aria/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'azure/aria/aria-extension-cloudify/src/aria/setup.py')
-rw-r--r--azure/aria/aria-extension-cloudify/src/aria/setup.py174
1 files changed, 174 insertions, 0 deletions
diff --git a/azure/aria/aria-extension-cloudify/src/aria/setup.py b/azure/aria/aria-extension-cloudify/src/aria/setup.py
new file mode 100644
index 0000000..04795a5
--- /dev/null
+++ b/azure/aria/aria-extension-cloudify/src/aria/setup.py
@@ -0,0 +1,174 @@
+#!/usr/bin/env python
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os
+import sys
+
+from setuptools import setup, find_packages
+from setuptools.command.install import install
+from setuptools.command.develop import develop
+
+
+_PACKAGE_NAME = 'apache-ariatosca'
+_PYTHON_SUPPORTED_VERSIONS = [(2, 6), (2, 7)]
+_EXTENSION_DIR = 'extensions'
+_EXTENSION_NAMES = [
+ 'aria_extension_tosca'
+]
+
+if (sys.version_info[0], sys.version_info[1]) not in _PYTHON_SUPPORTED_VERSIONS:
+ raise NotImplementedError(
+ '{0} Package support Python version 2.6 & 2.7 Only'.format(
+ _PACKAGE_NAME))
+
+root_dir = os.path.dirname(__file__)
+
+with open(os.path.join(root_dir, 'VERSION')) as version_file:
+ __version__ = version_file.read().strip()
+ incubating_version = '{0}-incubating'.format(__version__)
+
+with open(os.path.join(root_dir, 'README.rst')) as readme:
+ long_description = readme.read()
+
+install_requires = []
+
+ssh_requires = [
+ 'Fabric>=1.13.0, <1.14',
+]
+win_ssh_requires = [
+ # Fabric depends on the pypiwin32 on Windows, but doesn't install it
+ 'pypiwin32==219'
+]
+
+extras_require = {
+ 'ssh': ssh_requires,
+ 'ssh:sys_platform=="win32"': win_ssh_requires
+}
+
+with open(os.path.join(root_dir, 'requirements.in')) as requirements:
+ for requirement in requirements.readlines():
+ requirement = requirement.split('#')[0].strip() # get rid of comments or trailing comments
+ if not requirement:
+ continue # skip empty and comment lines
+
+ # dependencies which use environment markers have to go in as conditional dependencies
+ # under "extra_require" rather than "install_requires", or otherwise the environment
+ # markers get ignored when installing from wheel. See more here:
+ # https://wheel.readthedocs.io/en/latest/index.html#defining-conditional-dependencies
+ # https://hynek.me/articles/conditional-python-dependencies/
+ if ';' in requirement:
+ package, condition = requirement.split(';')
+ cond_name = ':{0}'.format(condition.strip())
+ extras_require.setdefault(cond_name, [])
+ extras_require[cond_name].append(package.strip())
+ else:
+ install_requires.append(requirement)
+
+
+console_scripts = ['aria = aria.cli.main:main']
+
+
+def _generate_user_options(command):
+ return command.user_options + [
+ ('skip-ctx', None, 'Install with or without the ctx (Defaults to False)')
+ ]
+
+
+def _generate_boolean_options(command):
+ return command.boolean_options + ['skip-ctx']
+
+
+def _initialize_options(custom_cmd):
+ custom_cmd.command.initialize_options(custom_cmd)
+ custom_cmd.skip_ctx = False
+
+
+def _run(custom_cmd):
+ if custom_cmd.skip_ctx is False:
+ console_scripts.append('ctx = aria.orchestrator.execution_plugin.ctx_proxy.client:main')
+ custom_cmd.command.run(custom_cmd)
+
+
+class InstallCommand(install):
+ command = install
+
+ user_options = _generate_user_options(install)
+ boolean_options = _generate_boolean_options(install)
+ initialize_options = _initialize_options
+ run = _run
+
+
+class DevelopCommand(develop):
+ command = develop
+
+ user_options = _generate_user_options(develop)
+ boolean_options = _generate_boolean_options(develop)
+ initialize_options = _initialize_options
+ run = _run
+
+setup(
+ name=_PACKAGE_NAME,
+ version=__version__,
+ description='ARIA',
+ long_description=long_description,
+ license='Apache License 2.0',
+ author='ARIA',
+ author_email='dev@ariatosca.incubator.apache.org',
+ url='http://ariatosca.incubator.apache.org/',
+ download_url=(
+ 'https://dist.apache.org/repos/dist/release/incubator/ariatosca/' + incubating_version),
+ classifiers=[
+ 'Development Status :: 4 - Beta',
+ 'Environment :: Console',
+ 'Environment :: Web Environment',
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: System Administrators',
+ 'License :: OSI Approved :: Apache Software License',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ 'Topic :: Software Development :: Libraries :: Python Modules',
+ 'Topic :: System :: Networking',
+ 'Topic :: System :: Systems Administration'],
+ packages=find_packages(include=['aria*']) +
+ find_packages(where=_EXTENSION_DIR,
+ include=['{0}*'.format(name) for name in _EXTENSION_NAMES]),
+ package_dir=dict((name, '{0}/{1}'.format(_EXTENSION_DIR, name)) for name in _EXTENSION_NAMES),
+ package_data={
+ 'aria': [
+ 'cli/config/config_template.yaml'
+ ],
+ 'aria_extension_tosca': [
+ 'profiles/tosca-simple-1.0/**',
+ 'profiles/tosca-simple-nfv-1.0/**',
+ 'profiles/aria-1.0/**',
+ 'profiles/azure-plugin/**'
+ ]
+ },
+ platforms=['any'],
+ zip_safe=False,
+ install_requires=install_requires,
+ extras_require=extras_require,
+ entry_points={
+ 'console_scripts': console_scripts
+ },
+ cmdclass={
+ 'install': InstallCommand, # used in pip install ...
+ 'develop': DevelopCommand # used in pip install -e ...
+ }
+)