X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tosca2heat%2Ftosca-parser%2Fsetup.py;fp=tosca2heat%2Ftosca-parser%2Fsetup.py;h=3d70b81cb7f26603b0c9235d6501de0b6ac16097;hb=87be76e6c8b3024c05fe76a97a5a922486a64bb9;hp=566d84432eeda2c367f881c596d327a703beb79a;hpb=33c0357fefe6683a58c7c21477f1a411b62f293f;p=parser.git diff --git a/tosca2heat/tosca-parser/setup.py b/tosca2heat/tosca-parser/setup.py index 566d844..3d70b81 100644 --- a/tosca2heat/tosca-parser/setup.py +++ b/tosca2heat/tosca-parser/setup.py @@ -14,16 +14,65 @@ # limitations under the License. # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT +import os import setuptools +from distutils.command.install_data import install_data +from setuptools.command.build_py import build_py +from setuptools.command.install import install + # In python < 2.7.4, a lazy loading of package `pbr` will break # setuptools if some other modules registered functions in `atexit`. # solution from: http://bugs.python.org/issue15881#msg170215 + + try: import multiprocessing # noqa except ImportError: pass + +class Toscaparser_build_py(build_py): + """Override build_py to call customized build.""" + + def run(self): + print(" === Before nfv toscaparser build === ") + # self.run_command('xxx') + super(Toscaparser_build_py, self).run() + print(" === After nfv toscaparser build === ") + + +class Toscaparser_install(install): + """Override install to call customized install.""" + + def run(self): + print(" === Before nfv toscaparser install === ") + # Make sure uninstall toscaparser from openstack + os.system("pip uninstall -y tosca-parser") + + super(Toscaparser_install, self).run(self) + # Custom stuff here + # distutils.command.install actually has some nice helper methods + # and interfaces. I strongly suggest reading the docstrings. + print(" === After nfv toscaparser install === ") + + +class Toscaparser_post_install(install_data): + """Override install_data to call customized install_data.""" + + def run(self): + print(" === Before nfv toscaparser post install data === ") + # Call parent + super(Toscaparser_post_install, self).run(self) + # Execute commands + print(" === After nfv toscaparser post install data ===") + + setuptools.setup( setup_requires=['pbr>=2.0.0'], + cmdclass={ + "build_py": Toscaparser_build_py, + "install_data": Toscaparser_install, + "post_install": Toscaparser_post_install, + }, pbr=True)