1
0
mirror of https://github.com/ARM-software/devlib.git synced 2025-02-07 05:30:44 +00:00

Implement PEP396

Implement PEP396 which specifies that a package should advertise its
version via __version__ attribute.

As devlib is often used as a development version directly from source,
also add a __full_version__ attribute which appends the current commit
ID to the version.

Use the __full_version__ inside setup.py
This commit is contained in:
Sergei Trofimov 2018-06-14 16:33:14 +01:00 committed by setrofim
parent 4a862d06bb
commit cc04e1a839
2 changed files with 33 additions and 1 deletions

View File

@ -30,3 +30,14 @@ from devlib.trace.serial_trace import SerialTraceCollector
from devlib.host import LocalConnection from devlib.host import LocalConnection
from devlib.utils.android import AdbConnection from devlib.utils.android import AdbConnection
from devlib.utils.ssh import SshConnection, TelnetConnection, Gem5Connection from devlib.utils.ssh import SshConnection, TelnetConnection, Gem5Connection
from devlib.utils.version import get_commit as __get_commit
__version__ = '0.0.4'
__commit = __get_commit()
if __commit:
__full_version__ = '{}-{}'.format(__version__, __commit)
else:
__full_version__ = __version__

View File

@ -13,6 +13,7 @@
# limitations under the License. # limitations under the License.
# #
import imp
import os import os
import sys import sys
import warnings import warnings
@ -37,6 +38,26 @@ try:
except OSError: except OSError:
pass pass
with open(os.path.join(devlib_dir, '__init__.py')) as fh:
# Extract the version by parsing the text of the file,
# as may not be able to load as a module yet.
for line in fh:
if '__version__' in line:
parts = line.split("'")
__version__ = parts[1]
break
else:
raise RuntimeError('Did not see __version__')
vh_path = os.path.join(devlib_dir, 'utils', 'version.py')
# can load this, as it does not have any devlib imports
version_helper = imp.load_source('version_helper', vh_path)
commit = version_helper.get_commit()
if commit:
__version__ = '{}-{}'.format(__version__, commit)
packages = [] packages = []
data_files = {} data_files = {}
source_dir = os.path.dirname(__file__) source_dir = os.path.dirname(__file__)
@ -59,7 +80,7 @@ for root, dirs, files in os.walk(devlib_dir):
params = dict( params = dict(
name='devlib', name='devlib',
description='A framework for automating workload execution and measurment collection on ARM devices.', description='A framework for automating workload execution and measurment collection on ARM devices.',
version='0.0.4', version=__version__,
packages=packages, packages=packages,
package_data=data_files, package_data=data_files,
url='https://github.com/ARM-software/devlib', url='https://github.com/ARM-software/devlib',