Ignore:
Timestamp:
Mar 13, 2017, 5:10:55 PM (8 years ago)
Author:
Martin Hermant <martin.hermant@gmail.com>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, sampler
Children:
8259e09
Parents:
67b6618
Message:

aubio version :
aubio-c / aubio-py add git commit support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/lib/moresetuptools.py

    r67b6618 r1eb8c0e  
    3232                                     AUBIO_PATCH_VERSION]))
    3333
    34     if AUBIO_VERSION_STATUS is not None:
     34    AUBIO_GIT_SHA = get_git_revision_hash()
     35    """ append sha to version in alpha release
     36    """
     37    if '~alpha' in AUBIO_VERSION_STATUS :
     38        if AUBIO_GIT_SHA:
     39            AUBIO_VERSION_STATUS = '~git'+AUBIO_GIT_SHA
     40    if AUBIO_VERSION_STATUS is not None :
    3541        verstr += AUBIO_VERSION_STATUS
    3642    return verstr
     
    4046    # see https://www.python.org/dev/peps/pep-0440/
    4147    verstr = get_aubio_version()
    42     if '~alpha' in verstr:
    43         verstr = verstr.split('~')[0] + 'a1'
     48    if '~alpha' in verstr or '~git' in verstr:
     49        verstr = verstr.split('~')[0] + '+a1'
     50        gitsha = get_git_revision_hash(short=True)
     51        if gitsha:
     52            verstr+='.git.'+gitsha
    4453    # TODO: add rc, .dev, and .post suffixes, add numbering
    4554    return verstr
     55
     56
     57
     58def get_git_revision_hash( short=True):
     59    def which(program):
     60   
     61        def is_exe(fpath):
     62            return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
     63
     64        fpath, fname = os.path.split(program)
     65        if fpath:
     66            if is_exe(program):
     67                return program
     68        else:
     69            for path in os.environ["PATH"].split(os.pathsep):
     70                path = path.strip('"')
     71                exe_file = os.path.join(path, program)
     72                if is_exe(exe_file):
     73                    return exe_file
     74
     75        return None
     76    if not which('git'):
     77        print 'no git found on this system : can\'t get sha'
     78        return ""
     79
     80    import subprocess
     81    this_file_dir = os.path.dirname(os.path.abspath(__file__))
     82    aubio_dir = os.path.join(this_file_dir, '..', '..')
     83    aubio_dir = os.path.abspath(aubio_dir)
     84    if not os.path.exists(aubio_dir):
     85        raise SystemError("git / root folder not found")
     86    gitcmd = ['git','-C',aubio_dir ,'rev-parse']
     87    if short:
     88      gitcmd.append('--short')
     89    gitcmd.append('HEAD')
     90    return subprocess.check_output(gitcmd).strip()
    4691
    4792# inspired from https://gist.github.com/abergmeier/9488990
Note: See TracChangeset for help on using the changeset viewer.