| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #!/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
- from os.path import dirname
- from setuptools import find_packages, setup
- AMBARI_COMMON_PYTHON_FOLDER = "ambari-common/src/main/python"
- AMBARI_SERVER_TEST_PYTHON_FOLDER = "ambari-server/src/test/python"
- def get_ambari_common_packages():
- return find_packages(AMBARI_COMMON_PYTHON_FOLDER, exclude=["*.tests", "*.tests.*", "tests.*", "tests"])
- def get_ambari_server_stack_package():
- return ["stacks.utils"]
- def get_extra_common_packages():
- return ["urlinfo_processor", "ambari_jinja2", "ambari_jinja2._markupsafe"]
- def create_package_dir_map():
- package_dirs = {}
- ambari_common_packages = get_ambari_common_packages()
- for ambari_common_package in ambari_common_packages:
- package_dirs[ambari_common_package] = AMBARI_COMMON_PYTHON_FOLDER + '/' + ambari_common_package.replace(".", "/")
- ambari_server_packages = get_ambari_server_stack_package()
- for ambari_server_package in ambari_server_packages:
- package_dirs[ambari_server_package] = AMBARI_SERVER_TEST_PYTHON_FOLDER + '/' + ambari_server_package.replace(".", "/")
- package_dirs["ambari_jinja2"] = AMBARI_COMMON_PYTHON_FOLDER + "/ambari_jinja2/ambari_jinja2"
- package_dirs["ambari_jinja2._markupsafe"] = AMBARI_COMMON_PYTHON_FOLDER + "/ambari_jinja2/ambari_jinja2/_markupsafe"
- package_dirs["urlinfo_processor"] = AMBARI_COMMON_PYTHON_FOLDER + "/urlinfo_processor"
- return package_dirs
- __version__ = "3.0.0.dev0"
- def get_version():
- ambari_version = os.environ["AMBARI_VERSION"] if "AMBARI_VERSION" in os.environ else __version__
- print ambari_version
- return ambari_version
- """
- Example usage:
- - build package with specific version:
- python setup.py sdist -d "my/dist/location"
- - build and install package with specific version:
- python setup.py sdist -d "my/dist/location" install
- - build and upload package with specific version:
- python setup.py sdist -d "my/dist/location" upload -r "http://localhost:8080"
- Installing from pip:
- - pip install --extra-index-url=http://localhost:8080 ambari-python==2.7.1 // 3.0.0.dev0 is the snapshot version
- Note: using 'export AMBARI_VERSION=2.7.1' before commands you can redefine the package version, but you will need this export during the pip install as well
- """
- setup(
- name = "ambari-python",
- version = get_version(),
- author = "Apache Software Foundation",
- author_email = "dev@ambari.apache.org",
- description = ("Framework for provison/manage/monitor Hadoop clusters"),
- license = "AP2",
- keywords = "hadoop, ambari",
- url = "https://ambari.apache.org",
- packages = get_ambari_common_packages() + get_ambari_server_stack_package() + get_extra_common_packages(),
- package_dir = create_package_dir_map(),
- install_requires=[
- 'mock==1.0.1',
- 'coilmq==1.0.1'
- ],
- include_package_data = True,
- long_description="The Apache Ambari project is aimed at making Hadoop management simpler by developing software for provisioning, managing, and monitoring Apache Hadoop clusters. "
- "Ambari provides an intuitive, easy-to-use Hadoop management web UI backed by its RESTful APIs."
- )
|