Changeset d721375 in rtems-docs


Ignore:
Timestamp:
Feb 12, 2019, 11:50:50 PM (9 months ago)
Author:
Chris Johns <chrisj@…>
Branches:
master
Children:
7b36a6b
Parents:
5d8b0dd
git-author:
Chris Johns <chrisj@…> (02/12/19 23:50:50)
git-committer:
Chris Johns <chrisj@…> (02/12/19 23:56:19)
Message:

waf: Fix version.py to support older versions of git.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • common/version.py

    r5d8b0dd rd721375  
    7070_released = False
    7171
    72 def _pretty_day(day):
     72def _pretty_day(ctx, date):
     73    ''' Format is YYYY-MM-DD'''
     74    import datetime
     75    ds = date.split('-')
     76    if len(ds) != 3:
     77        ctx.fatal('invalid date format from git: %s' % (date))
     78    try:
     79        year = int(ds[0])
     80    except:
     81        ctx.fatal('invalid date format from git, converting year: %s' % (date))
     82    try:
     83        month = int(ds[1])
     84    except:
     85        ctx.fatal('invalid date format from git, converting month: %s' % (date))
     86    try:
     87        day = int(ds[2])
     88    except:
     89        ctx.fatal('invalid date format from git, converting day: %s' % (date))
     90    try:
     91        when = datetime.date(year, month, day)
     92    except:
     93        ctx.fatal('invalid date format from git: %s' % (date))
    7394    if day == 3:
    7495        s = 'rd'
    75     elif day == 11:
    76         s = 'th'
    77     elif day == 12:
    78         s = 'th'
    79     elif day == 13:
     96    elif day == 11 or day == 12:
    8097        s = 'th'
    8198    elif day % 10 == 1:
     
    85102    else:
    86103        s = 'th'
    87     return str(day) + s
     104    s = when.strftime('%%d%s %%B %%Y' % (s))
     105    if day < 10:
     106        s = s[1:]
     107    return s
    88108
    89109def get(ctx, rtems_major_version):
     
    123143            # Get date and version from Git
    124144            #
    125             if ctx.exec_command(['git', 'diff-index', '--quiet', 'HEAD']) == 0:
     145            if ctx.exec_command([ctx.env.GIT[0], 'diff-index', '--quiet', 'HEAD']) == 0:
    126146                modified = ''
    127147            else:
    128148                modified = '-modified'
    129             try:
    130                 out = ctx.cmd_and_log(['git', 'log', '-1',
    131                                        '--format=%h,%cd', '--date=format:%e,%B,%Y'],
    132                                       quiet = True)
    133                 f = out.strip('\n').split(',')
    134                 version = version + '.' + f[0] + modified
    135                 date = _pretty_day(int(f[1])) + ' ' + f[2] + ' ' + f[3]
    136             except waflib.Build.Errors.WafError:
    137                 date = 'unknown date'
     149            out = ctx.cmd_and_log([ctx.env.GIT[0], 'log', '-1',
     150                                   '--format=%h,%cd', '--date=short'],
     151                                  quiet = True)
     152            f = out.strip('\n').split(',')
     153            version = version + '.' + f[0] + modified
     154            date = _pretty_day(ctx, f[1])
    138155        _version = version
    139156        _date = date
  • wscript

    r5d8b0dd rd721375  
    4545
    4646def configure(conf):
     47    conf.find_program('git')
    4748    for b in building:
    4849        conf.recurse(b)
Note: See TracChangeset for help on using the changeset viewer.