-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Jenkins 1.473
envinject 1.67 & 1.62
I am attempting to prepend to the PYTHONPATH variable on slave nodes using the plugin. If I simply try to set the variable (Build Environment->Inject environment variables to the build process->Properties Content) like so:
PYTHONPATH=${WORKSPACE}/ref/dist/python
it does work. However, if I try to prepend to the variable like:
PYTHONPATH=${WORKSPACE}/ref/dist/python:$PYTHONPATH
or
PYTHONPATH=${WORKSPACE}/ref/dist/python:${PYTHONPATH}
I am met with the following error if the slave node hasn't already defined PYTHONPATH:
[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Injecting as environment variables the properties content
PYTHONPATH=${WORKSPACE}/ref/dist/python:${PYTHONPATH}
[EnvInject] - Variables injected successfully.
[EnvInject] - Unset unresolved 'PYTHONPATH' variable.
Then on my first build step, if I echo PYTHONPATH it's empty. It seems like merely referencing the variable in the value breaks down if it's not already defined. However, I can't assume that a slave node doesn't already have it set so I don't want to completely overwrite it.
Code changed in jenkins
User: Gregory Boissinot
Path:
src/main/java/org/jenkinsci/plugins/envinject/service/EnvInjectEnvVars.java
http://jenkins-ci.org/commit/envinject-plugin/9abab6b3d9a7c6c8850dc1ac33d7976aab5ac718
Log:
Fix
JENKINS-14930