Remove VERSION files, obtain version from git tags.

This commit is contained in:
Shane McDonald 2021-10-05 10:41:18 -04:00
parent a036363e85
commit 1f0b936e82
No known key found for this signature in database
GPG Key ID: 6F374AF6E9EB9374
6 changed files with 57 additions and 12 deletions

1
.gitignore vendored
View File

@ -58,6 +58,7 @@ __pycache__
/dist
/*.egg-info
*.py[c,o]
/.eggs
# JavaScript
/Gruntfile.js

View File

@ -6,7 +6,7 @@ NPM_BIN ?= npm
CHROMIUM_BIN=/tmp/chrome-linux/chrome
GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
MANAGEMENT_COMMAND ?= awx-manage
VERSION := $(shell cat VERSION)
VERSION := $(shell $(PYTHON) setup.py --version)
# NOTE: This defaults the container image version to the branch that's active
COMPOSE_TAG ?= $(GIT_BRANCH)

View File

@ -1 +0,0 @@
19.4.0

View File

@ -1 +0,0 @@
19.4.0

View File

@ -4,11 +4,34 @@ import shutil
from setuptools import setup, find_packages, Command
def get_version():
def use_scm_version():
return False if version_file() else True
def get_version_from_file():
if vf := version_file():
with open(vf, 'r') as file:
return file.read().strip()
def version_file():
current_dir = os.path.dirname(os.path.abspath(__file__))
version_file = os.path.join(current_dir, 'VERSION')
with open(version_file, 'r') as file:
return file.read().strip()
if os.path.exists(version_file):
return version_file
def setup_requires():
if version_file():
return []
else:
return ['setuptools_scm']
extra_setup_args = {}
if not version_file():
extra_setup_args.update(dict(use_scm_version=dict(root="..", relative_to=__file__), setup_requires=setup_requires()))
class CleanCommand(Command):
@ -53,7 +76,7 @@ class CleanCommand(Command):
setup(
name='awxkit',
version=get_version(),
version=get_version_from_file(),
description='The official command line interface for Ansible AWX',
author='Red Hat, Inc.',
author_email='info@ansible.com',
@ -84,4 +107,5 @@ setup(
'Topic :: System :: Systems Administration',
],
entry_points={'console_scripts': ['akit=awxkit.scripts.basic_session:load_interactive', 'awx=awxkit.cli:run']},
**extra_setup_args,
)

View File

@ -18,12 +18,34 @@ sharedir = "/usr/share/awx"
docdir = "/usr/share/doc/awx"
def get_version():
def use_scm_version():
return False if version_file() else True
def get_version_from_file():
if vf := version_file():
with open(vf, 'r') as file:
return file.read().strip()
def version_file():
current_dir = os.path.dirname(os.path.abspath(__file__))
version_file = os.path.join(current_dir, 'VERSION')
with open(version_file, 'r') as file:
return file.read().strip()
if os.path.exists(version_file):
return version_file
def setup_requires():
if version_file():
return []
else:
return ['setuptools_scm']
extra_setup_args = {}
if not version_file():
extra_setup_args.update(dict(use_scm_version=use_scm_version(), setup_requires=setup_requires()))
if os.path.exists("/etc/debian_version"):
sysinit = "/etc/init.d"
@ -93,7 +115,7 @@ class egg_info_dev(_egg_info):
setup(
name=os.getenv('NAME', 'awx'),
version=get_version(),
version=get_version_from_file(),
author='Ansible, Inc.',
author_email='info@ansible.com',
description='awx: API, UI and Task Engine for Ansible',
@ -104,7 +126,6 @@ setup(
packages=['awx'],
include_package_data=True,
zip_safe=False,
setup_requires=[],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
@ -165,4 +186,5 @@ setup(
},
},
cmdclass={'egg_info_dev': egg_info_dev},
**extra_setup_args,
)