Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-14930

Can't overload/update PYTHONPATH

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • envinject-plugin
    • 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.

            gbois Gregory Boissinot
            mears Josh Davidson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: