From 5b3a57c3ffdabe421817dbb63ee243b2c9cd0797 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 1 Dec 2019 21:56:07 -0500 Subject: [PATCH] setup.py: add basic packaging files This is needed to use tox, and tox lets us test multiple Python versions easily. Change-Id: I813c418a8f7109294a4adb9f6b21be459cbeca70 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/247173 Reviewed-by: David Pursehouse Tested-by: Mike Frysinger --- .gitignore | 3 +++ COPYING => LICENSE | 0 MANIFEST.in | 6 +++++ setup.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+) rename COPYING => LICENSE (100%) create mode 100644 MANIFEST.in create mode 100755 setup.py diff --git a/.gitignore b/.gitignore index 59d7b62f..f6b74f3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +*.egg-info/ *.pyc +__pycache__ +/dist .repopickle_* /repoc diff --git a/COPYING b/LICENSE similarity index 100% rename from COPYING rename to LICENSE diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000..8be47dd2 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,6 @@ +graft docs hooks tests +include *.py +include LICENSE +include git_ssh +include repo +include run_tests diff --git a/setup.py b/setup.py new file mode 100755 index 00000000..e48aa303 --- /dev/null +++ b/setup.py @@ -0,0 +1,63 @@ +#!/usr/bin/python +# -*- coding:utf-8 -*- +# Copyright 2019 The Android Open Source Project +# +# 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. + +"""Python packaging for repo.""" + +from __future__ import print_function + +import os +import setuptools + + +TOPDIR = os.path.dirname(os.path.abspath(__file__)) + + +# Rip out the first intro paragraph. +with open(os.path.join(TOPDIR, 'README.md')) as fp: + lines = fp.read().splitlines()[2:] + end = lines.index('') + long_description = ' '.join(lines[0:end]) + + +# https://packaging.python.org/tutorials/packaging-projects/ +setuptools.setup( + name='repo', + version='1.13.8', + maintainer='Various', + maintainer_email='repo-discuss@googlegroups.com', + description='Repo helps manage many Git repositories', + long_description=long_description, + long_description_content_type='text/plain', + url='https://gerrit.googlesource.com/git-repo/', + project_urls={ + 'Bug Tracker': 'https://bugs.chromium.org/p/gerrit/issues/list?q=component:repo', + }, + # https://pypi.org/classifiers/ + classifiers=[ + 'Development Status :: 6 - Mature', + 'Environment :: Console', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: Apache Software License', + 'Natural Language :: English', + 'Operating System :: MacOS :: MacOS X', + 'Operating System :: Microsoft :: Windows :: Windows 10', + 'Operating System :: POSIX :: Linux', + 'Topic :: Software Development :: Version Control :: Git', + ], + # We support Python 2.7 and Python 3.6+. + python_requires='>=2.7, ' + ', '.join('!=3.%i.*' % x for x in range(0, 6)), + packages=['subcmds'], +)