diff options
author | William Deegan <bill@baddogconsulting.com> | 2017-10-03 00:09:10 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2017-10-03 00:09:10 (GMT) |
commit | 56080b1c09eb9659419c5ada7c0a888fc048822c (patch) | |
tree | 68151b0cf58a8bebfcf7832f83e6976b95c0159a | |
parent | 85d22ffb1ee6501a5bc3c446897b555b78631ff6 (diff) | |
download | SCons-56080b1c09eb9659419c5ada7c0a888fc048822c.zip SCons-56080b1c09eb9659419c5ada7c0a888fc048822c.tar.gz SCons-56080b1c09eb9659419c5ada7c0a888fc048822c.tar.bz2 |
Migrate some logic from SConstruct into site_scons to simplify top level SConstruct
-rw-r--r-- | SConstruct | 40 | ||||
-rw-r--r-- | site_scons/SConsRevision.py | 40 | ||||
-rw-r--r-- | site_scons/site_init.py | 1 |
3 files changed, 41 insertions, 40 deletions
@@ -362,46 +362,6 @@ except ImportError: unzipit = "$UNZIP $UNZIPFLAGS $SOURCES" -def SCons_revision(target, source, env): - """Interpolate specific values from the environment into a file. - - This is used to copy files into a tree that gets packaged up - into the source file package. - """ - t = str(target[0]) - s = source[0].rstr() - - try: - with open(s, 'r') as fp: - contents = fp.read() - - - # Note: We construct the __*__ substitution strings here - # so that they don't get replaced when this file gets - # copied into the tree for packaging. - contents = contents.replace('__BUILD' + '__', env['BUILD']) - contents = contents.replace('__BUILDSYS' + '__', env['BUILDSYS']) - contents = contents.replace('__COPYRIGHT' + '__', env['COPYRIGHT']) - contents = contents.replace('__DATE' + '__', env['DATE']) - contents = contents.replace('__DEB_DATE' + '__', env['DEB_DATE']) - - contents = contents.replace('__DEVELOPER' + '__', env['DEVELOPER']) - contents = contents.replace('__FILE' + '__', str(source[0]).replace('\\', '/')) - contents = contents.replace('__MONTH_YEAR'+ '__', env['MONTH_YEAR']) - contents = contents.replace('__REVISION' + '__', env['REVISION']) - contents = contents.replace('__VERSION' + '__', env['VERSION']) - contents = contents.replace('__NULL' + '__', '') - open(t, 'w').write(contents) - except UnicodeDecodeError as e: - print("Error decoding file:%s just copying no revision edit") - with open(s, 'rb') as fp: - contents = fp.read() - open(t, 'wb').write(contents) - - - os.chmod(t, os.stat(s)[0]) - - revaction = SCons_revision revbuilder = Builder(action = Action(SCons_revision, varlist=['COPYRIGHT', 'VERSION'])) diff --git a/site_scons/SConsRevision.py b/site_scons/SConsRevision.py new file mode 100644 index 0000000..11de670 --- /dev/null +++ b/site_scons/SConsRevision.py @@ -0,0 +1,40 @@ +import os + +def SCons_revision(target, source, env): + """Interpolate specific values from the environment into a file. + + This is used to copy files into a tree that gets packaged up + into the source file package. + """ + t = str(target[0]) + s = source[0].rstr() + + try: + with open(s, 'r') as fp: + contents = fp.read() + + + # Note: We construct the __*__ substitution strings here + # so that they don't get replaced when this file gets + # copied into the tree for packaging. + contents = contents.replace('__BUILD' + '__', env['BUILD']) + contents = contents.replace('__BUILDSYS' + '__', env['BUILDSYS']) + contents = contents.replace('__COPYRIGHT' + '__', env['COPYRIGHT']) + contents = contents.replace('__DATE' + '__', env['DATE']) + contents = contents.replace('__DEB_DATE' + '__', env['DEB_DATE']) + + contents = contents.replace('__DEVELOPER' + '__', env['DEVELOPER']) + contents = contents.replace('__FILE' + '__', str(source[0]).replace('\\', '/')) + contents = contents.replace('__MONTH_YEAR'+ '__', env['MONTH_YEAR']) + contents = contents.replace('__REVISION' + '__', env['REVISION']) + contents = contents.replace('__VERSION' + '__', env['VERSION']) + contents = contents.replace('__NULL' + '__', '') + open(t, 'w').write(contents) + except UnicodeDecodeError as e: + print("Error decoding file:%s just copying no revision edit") + with open(s, 'rb') as fp: + contents = fp.read() + open(t, 'wb').write(contents) + + + os.chmod(t, os.stat(s)[0])
\ No newline at end of file diff --git a/site_scons/site_init.py b/site_scons/site_init.py new file mode 100644 index 0000000..8e07907 --- /dev/null +++ b/site_scons/site_init.py @@ -0,0 +1 @@ +from SConsRevision import SCons_revision
\ No newline at end of file |