summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorEmmanuel Cazenave <ecazenave@entrouvert.com>2019-05-28 09:48:46 (GMT)
committerEmmanuel Cazenave <ecazenave@entrouvert.com>2019-05-28 12:26:50 (GMT)
commitfe53f5889eb79557c16a991408d38302bd139182 (patch)
treef40f36a66ed50d15cdcc5d0520f976dc635426e9 /setup.py
parent39f8f5d3bb2fa48dc9df2c578d5bcb3b4b09c15f (diff)
downloadwelco-fe53f5889eb79557c16a991408d38302bd139182.zip
welco-fe53f5889eb79557c16a991408d38302bd139182.tar.gz
welco-fe53f5889eb79557c16a991408d38302bd139182.tar.bz2
update setup.py helpers (#33480)
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py37
1 files changed, 24 insertions, 13 deletions
diff --git a/setup.py b/setup.py
index 3afb130..1a7d385 100644
--- a/setup.py
+++ b/setup.py
@@ -1,9 +1,7 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-import glob
import os
-import re
import subprocess
import sys
@@ -13,32 +11,45 @@ from distutils.command.sdist import sdist
from distutils.cmd import Command
from setuptools import setup, find_packages
+
class eo_sdist(sdist):
def run(self):
if os.path.exists('VERSION'):
os.remove('VERSION')
version = get_version()
- version_file = open('VERSION', 'w')
- version_file.write(version)
- version_file.close()
+ with open('VERSION', 'w') as fd:
+ fd.write(version)
sdist.run(self)
if os.path.exists('VERSION'):
os.remove('VERSION')
+
def get_version():
+ '''Use the VERSION, if absent generates a version with git describe, if not
+ tag exists, take 0.0- and add the length of the commit log.
+ '''
if os.path.exists('VERSION'):
- version_file = open('VERSION', 'r')
- version = version_file.read()
- version_file.close()
- return version
+ with open('VERSION', 'r') as v:
+ return v.read()
if os.path.exists('.git'):
- p = subprocess.Popen(['git', 'describe', '--dirty', '--match=v*'], stdout=subprocess.PIPE)
+ p = subprocess.Popen(
+ ['git', 'describe', '--dirty=.dirty', '--match=v*'],
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
result = p.communicate()[0]
if p.returncode == 0:
- version = result.split()[0][1:]
- version = version.replace('-', '.')
+ result = result.decode('ascii').strip()[1:] # strip spaces/newlines and initial v
+ if '-' in result: # not a tagged version
+ real_number, commit_count, commit_hash = result.split('-', 2)
+ version = '%s.post%s+%s' % (real_number, commit_count, commit_hash)
+ else:
+ version = result
return version
- return '0'
+ else:
+ return '0.0.post%s' % len(
+ subprocess.check_output(
+ ['git', 'rev-list', 'HEAD']).splitlines())
+ return '0.0'
+
class compile_translations(Command):
description = 'compile message catalogs to MO files via django compilemessages'