def PublisherPolicy(env, target, **kw): """creates the publisher policy dll, mapping the major.minor.0.0 calls to the major, minor, build, and revision passed in through the dictionary VERSION key""" sources = [] # get version and generate .config file version = parseVersion(kw) asm = os.path.splitext(target[0].name)[0] configName = 'policy.%d.%d.%s.%s' % (version[0], version[1], asm, 'config') targ = 'policy.%d.%d.%s' % (version[0], version[1], target[0].name) config = env.Command(configName, [Value(version), Value(asm), target[0]], generatePublisherPolicyConfig) sources.append(config[0]) # find .snk key getKeyFile(target[0], sources) return env.CLIAsmLink(targ, sources, **kw)
def _convert_list_R(newlist, sources): for elem in sources: if is_Sequence(elem): _convert_list_R(newlist, elem) elif isinstance(elem, Node): newlist.append(elem) else: newlist.append(Value(elem))
def add_version(target, source, env): if env.has_key('VERSION'): if SCons.Util.is_String(target[0]): versionfile = target[0] + '_VersionInfo.cs' else: versionfile = target[0].name + '_VersionInfo.cs' source.append(env.Command(versionfile, [Value(getVersionAsmDirective(*parseVersion(env)))], generateVersionId)) return (target, source)
def add_version(target, source, env): if "VERSION" in env: if SCons.Util.is_String(target[0]): versionfile = target[0] + "_VersionInfo.cs" else: versionfile = target[0].name + "_VersionInfo.cs" source.append( env.Command( versionfile, [Value(getVersionAsmDirective(*parseVersion(env)))], generateVersionId, )) return (target, source)
def svninfo_emitter(target, source, env): """Given an argument for svn info in the first source, replace that source with a Value() node with the svn info contents.""" svndict = {"Revision": None, "Last Changed Date": None, "URL": None} workdir = source[0].get_abspath() if FS.default_fs.isfile(workdir): workdir = source[0].dir.get_abspath() svncmd = "svn info %s" % (workdir) svndict.update({"Working Directory": "Working Directory: %s" % workdir}) # print svncmd svninfo = os.popen(svncmd).read() svnversion = os.popen("svnversion -n %s" % (workdir)).read() for k in svndict.keys(): match = re.search(r"^%s: .*$" % (k), svninfo, re.M) if (match): svndict[k] = match.group() svndict.update({'workdir': workdir}) svndict['Revision'] = svnversion svnheader = \ """ #ifndef SVNINFOINC #define SVNINFOINC #define SVNREVISION \"%(Revision)s\" #define SVNLASTCHANGEDDATE \"%(Last Changed Date)s\" #define SVNURL \"%(URL)s\" #define SVNWORKDIRSPEC \"%(Working Directory)s\" #define SVNWORKDIR \"%(workdir)s\" #endif """ % svndict # print svnheader env['SVNREVISION'] = svndict['Revision'] env['SVNLASTCHANGEDDATE'] = svndict['Last Changed Date'] env['SVNURL'] = svndict['URL'] env['SVNWORKDIRSPEC'] = svndict['Working Directory'] env['SVNWORKDIR'] = svndict['workdir'] return target, [Value(svnheader)]
def __init__(*args, **kwargs): Value.__init__(*args, **kwargs)
def __init__(*args,**kwargs): Value.__init__(*args,**kwargs)