xref: /aosp_15_r20/external/yapf/setup.py (revision 7249d1a64f4850ccf838e62a46276f891f72998e)
1*7249d1a6SKrzysztof Kosiński#!/usr/bin/env python
2*7249d1a6SKrzysztof Kosiński# Copyright 2015 Google Inc. All Rights Reserved.
3*7249d1a6SKrzysztof Kosiński#
4*7249d1a6SKrzysztof Kosiński# Licensed under the Apache License, Version 2.0 (the "License");
5*7249d1a6SKrzysztof Kosiński# you may not use this file except in compliance with the License.
6*7249d1a6SKrzysztof Kosiński# You may obtain a copy of the License at
7*7249d1a6SKrzysztof Kosiński#
8*7249d1a6SKrzysztof Kosiński#     http://www.apache.org/licenses/LICENSE-2.0
9*7249d1a6SKrzysztof Kosiński#
10*7249d1a6SKrzysztof Kosiński# Unless required by applicable law or agreed to in writing, software
11*7249d1a6SKrzysztof Kosiński# distributed under the License is distributed on an "AS IS" BASIS,
12*7249d1a6SKrzysztof Kosiński# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*7249d1a6SKrzysztof Kosiński# See the License for the specific language governing permissions and
14*7249d1a6SKrzysztof Kosiński# limitations under the License.
15*7249d1a6SKrzysztof Kosiński
16*7249d1a6SKrzysztof Kosińskiimport codecs
17*7249d1a6SKrzysztof Kosińskiimport sys
18*7249d1a6SKrzysztof Kosińskiimport unittest
19*7249d1a6SKrzysztof Kosiński
20*7249d1a6SKrzysztof Kosińskifrom setuptools import find_packages, setup, Command
21*7249d1a6SKrzysztof Kosiński
22*7249d1a6SKrzysztof Kosińskiimport yapf
23*7249d1a6SKrzysztof Kosiński
24*7249d1a6SKrzysztof Kosiński
25*7249d1a6SKrzysztof Kosińskiclass RunTests(Command):
26*7249d1a6SKrzysztof Kosiński  user_options = []
27*7249d1a6SKrzysztof Kosiński
28*7249d1a6SKrzysztof Kosiński  def initialize_options(self):
29*7249d1a6SKrzysztof Kosiński    pass
30*7249d1a6SKrzysztof Kosiński
31*7249d1a6SKrzysztof Kosiński  def finalize_options(self):
32*7249d1a6SKrzysztof Kosiński    pass
33*7249d1a6SKrzysztof Kosiński
34*7249d1a6SKrzysztof Kosiński  def run(self):
35*7249d1a6SKrzysztof Kosiński    loader = unittest.TestLoader()
36*7249d1a6SKrzysztof Kosiński    tests = loader.discover('yapftests', pattern='*_test.py', top_level_dir='.')
37*7249d1a6SKrzysztof Kosiński    runner = unittest.TextTestRunner()
38*7249d1a6SKrzysztof Kosiński    results = runner.run(tests)
39*7249d1a6SKrzysztof Kosiński    sys.exit(0 if results.wasSuccessful() else 1)
40*7249d1a6SKrzysztof Kosiński
41*7249d1a6SKrzysztof Kosiński
42*7249d1a6SKrzysztof Kosińskiwith codecs.open('README.rst', 'r', 'utf-8') as fd:
43*7249d1a6SKrzysztof Kosiński  setup(
44*7249d1a6SKrzysztof Kosiński      name='yapf',
45*7249d1a6SKrzysztof Kosiński      version=yapf.__version__,
46*7249d1a6SKrzysztof Kosiński      description='A formatter for Python code.',
47*7249d1a6SKrzysztof Kosiński      long_description=fd.read(),
48*7249d1a6SKrzysztof Kosiński      license='Apache License, Version 2.0',
49*7249d1a6SKrzysztof Kosiński      author='Google Inc.',
50*7249d1a6SKrzysztof Kosiński      maintainer='Bill Wendling',
51*7249d1a6SKrzysztof Kosiński      maintainer_email='[email protected]',
52*7249d1a6SKrzysztof Kosiński      packages=find_packages('.'),
53*7249d1a6SKrzysztof Kosiński      classifiers=[
54*7249d1a6SKrzysztof Kosiński          'Development Status :: 4 - Beta',
55*7249d1a6SKrzysztof Kosiński          'Environment :: Console',
56*7249d1a6SKrzysztof Kosiński          'Intended Audience :: Developers',
57*7249d1a6SKrzysztof Kosiński          'License :: OSI Approved :: Apache Software License',
58*7249d1a6SKrzysztof Kosiński          'Operating System :: OS Independent',
59*7249d1a6SKrzysztof Kosiński          'Programming Language :: Python',
60*7249d1a6SKrzysztof Kosiński          'Programming Language :: Python :: 2',
61*7249d1a6SKrzysztof Kosiński          'Programming Language :: Python :: 2.7',
62*7249d1a6SKrzysztof Kosiński          'Programming Language :: Python :: 3',
63*7249d1a6SKrzysztof Kosiński          'Programming Language :: Python :: 3.6',
64*7249d1a6SKrzysztof Kosiński          'Topic :: Software Development :: Libraries :: Python Modules',
65*7249d1a6SKrzysztof Kosiński          'Topic :: Software Development :: Quality Assurance',
66*7249d1a6SKrzysztof Kosiński      ],
67*7249d1a6SKrzysztof Kosiński      entry_points={
68*7249d1a6SKrzysztof Kosiński          'console_scripts': [
69*7249d1a6SKrzysztof Kosiński              'yapf = yapf:run_main',
70*7249d1a6SKrzysztof Kosiński              'yapf-diff = yapf.third_party.yapf_diff.yapf_diff:main',
71*7249d1a6SKrzysztof Kosiński          ],
72*7249d1a6SKrzysztof Kosiński      },
73*7249d1a6SKrzysztof Kosiński      cmdclass={
74*7249d1a6SKrzysztof Kosiński          'test': RunTests,
75*7249d1a6SKrzysztof Kosiński      },
76*7249d1a6SKrzysztof Kosiński  )
77