BobBuildTool/bob

Pwsh language: Usage of undefined variable in function "mangleFingerprints"

sbixl opened this issue · 2 comments

sbixl commented

An internal Exception has occured. This should not have happenend.
Please open an issue at https://github.com/BobBuildTool/bob with the following backtrace:
Bob version 0.23.0+dirty
Traceback (most recent call last):
File "C:\Projects\tools\bob\pym\bob\scripts.py", line 146, in catchErrors
ret = fun(*args, **kwargs)
File "C:\Projects\tools\bob\pym\bob\scripts.py", line 254, in cmd
ret = cmd(args.args, bobRoot)
File "C:\Projects\tools\bob\pym\bob\scripts.py", line 29, in __develop
doDevelop(*args, **kwargs)
File "C:\Projects\tools\bob\pym\bob\cmds\build\build.py", line 410, in doDevelop
commonBuildDevelop(parser, argv, bobRoot, True)
File "C:\Projects\tools\bob\pym\bob\cmds\build\build.py", line 345, in commonBuildDevelop
builder.cook([ExecutableStep.fromStep(b, LazyIR) for b in backlog],
File "C:\Projects\tools\bob\pym\bob\builder.py", line 916, in cook
raise self.__buildErrors[0]
File "C:\Projects\tools\bob\pym\bob\builder.py", line 811, in __taskWrapper
ret = await coro()
File "C:\Projects\tools\bob\pym\bob\builder.py", line 1857, in __calcFingerprintTask
fingerprint = await self.__runFingerprintScript(step, a)
File "C:\Projects\tools\bob\pym\bob\builder.py", line 1877, in __runFingerprintScript
spec = StepSpec.fromStep(step, None, self.__envWhiteList, isJenkins=step.JENKINS)
File "C:\Projects\tools\bob\pym\bob\languages.py", line 674, in fromStep
'paths' : step.getPaths(),
File "C:\Projects\tools\bob\pym\bob\intermediate.py", line 228, in getPaths
return sorted([ os.path.join(tool.getStep().getExecPath(self), tool.getPath())
File "C:\Projects\tools\bob\pym\bob\intermediate.py", line 228, in
return sorted([ os.path.join(tool.getStep().getExecPath(self), tool.getPath())
File "C:\Projects\tools\bob\pym\bob\intermediate.py", line 510, in getStep
return self.mungeStep(self.__data['step'])
File "C:\Projects\tools\bob\pym\bob\cmds\build\build.py", line 55, in mungeStep
return ExecutableStep.fromStep(step, LazyIR)
File "C:\Projects\tools\bob\pym\bob\intermediate.py", line 89, in fromStep
self.__data['fingerprintScript'] = step._getFingerprintScript()
File "C:\Projects\tools\bob\pym\bob\input.py", line 1257, in _getFingerprintScript
return recipe.scriptLanguage.mangleFingerprints(ret, env)
File "C:\Projects\tools\bob\pym\bob\languages.py", line 637, in mangleFingerprints
ret.append('$Env:{}="{}"'.format(k, escapePwsh(v)))
NameError: name 'k' is not defined

Rootcause:

for n,v in sorted(env.items()):
ret.append('$Env:{}="{}"'.format(k, escapePwsh(v))) # use n instead of k

sbixl commented

Thanks! 👍 Is it possible to provide a bugfix release?

Is it possible to provide a bugfix release?

Sure. I'll cut a minor release with the fixes so far...