| #!/usr/bin/env python | |
| # Copyright 2008-2009 WebDriver committers | |
| # Copyright 2008-2009 Google Inc. | |
| # | |
| # 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 setuptools import setup | |
| from setuptools.command.install import install | |
| from os.path import dirname, join, isfile, abspath | |
| from shutil import copy | |
| import sys | |
| from distutils.command.install import INSTALL_SCHEMES | |
| for scheme in INSTALL_SCHEMES.values(): | |
| scheme['data'] = scheme['purelib'] | |
| def setup_python3(): | |
| # Taken from "distribute" setup.py | |
| from distutils.filelist import FileList | |
| from distutils import dir_util, file_util, util, log | |
| tmp_src = join("build", "src") | |
| log.set_verbosity(1) | |
| fl = FileList() | |
| for line in open("MANIFEST.in"): | |
| if not line.strip(): | |
| continue | |
| fl.process_template_line(line) | |
| dir_util.create_tree(tmp_src, fl.files) | |
| outfiles_2to3 = [] | |
| for f in fl.files: | |
| outf, copied = file_util.copy_file(f, join(tmp_src, f), update=1) | |
| if copied and outf.endswith(".py"): | |
| outfiles_2to3.append(outf) | |
| util.run_2to3(outfiles_2to3) | |
| # arrange setup to use the copy | |
| sys.path.insert(0, tmp_src) | |
| return tmp_src | |
| if sys.version_info >= (3,): | |
| src_root = setup_python3() | |
| else: | |
| src_root = "." | |
| setup( | |
| cmdclass={'install': install}, | |
| name='selenium', | |
| version="2.28.0", | |
| description='Python bindings for Selenium', | |
| long_description=open(join(abspath(dirname(__file__)), "py", "README")).read(), | |
| url='http://code.google.com/p/selenium/', | |
| src_root=src_root, | |
| classifiers=['Development Status :: 5 - Production/Stable', | |
| 'Intended Audience :: Developers', | |
| 'License :: OSI Approved :: Apache Software License', | |
| 'Operating System :: POSIX', | |
| 'Operating System :: Microsoft :: Windows', | |
| 'Operating System :: MacOS :: MacOS X', | |
| 'Topic :: Software Development :: Testing', | |
| 'Topic :: Software Development :: Libraries', | |
| 'Programming Language :: Python'], | |
| package_dir={ | |
| 'selenium': 'py/selenium', | |
| 'selenium.common': 'py/selenium/common', | |
| 'selenium.test': 'py/test', | |
| 'selenium.test.selenium': 'py/test/selenium', | |
| 'selenium.webdriver': 'py/selenium/webdriver', | |
| }, | |
| packages=['selenium', | |
| 'selenium.common', | |
| 'selenium.test', | |
| 'selenium.test.selenium', | |
| 'selenium.test.selenium.common', | |
| 'selenium.test.selenium.webdriver', | |
| 'selenium.test.selenium.webdriver.common', | |
| 'selenium.test.selenium.webdriver.ie', | |
| 'selenium.test.selenium.webdriver.support', | |
| 'selenium.webdriver', | |
| 'selenium.webdriver.chrome', | |
| 'selenium.webdriver.common', | |
| 'selenium.webdriver.common.html5', | |
| 'selenium.webdriver.support', | |
| 'selenium.webdriver.firefox', | |
| 'selenium.webdriver.ie', | |
| 'selenium.webdriver.opera', | |
| 'selenium.webdriver.phantomjs', | |
| 'selenium.webdriver.remote', | |
| 'selenium.webdriver.support', ], | |
| package_data={ | |
| 'selenium.webdriver.firefox': ['*.xpi'], | |
| }, | |
| data_files=[('selenium/webdriver/firefox/x86', ['py/selenium/webdriver/firefox/x86/x_ignore_nofocus.so']), | |
| ('selenium/webdriver/firefox/amd64', ['py/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so'])], | |
| include_package_data=True, | |
| zip_safe=False, | |
| ) |