[ https://issues.jenkins-ci.org/browse/JENKINS-12809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=159264#comment-159264 ]
SCM/JIRA link daemon commented on JENKINS-12809: ------------------------------------------------ Code changed in jenkins User: Gregory Boissinot Path: src/main/java/org/jenkinsci/plugins/envinject/service/PropertiesLoader.java http://jenkins-ci.org/commit/envinject-plugin/3f3ef659f51fc8b4e4004998343d56d24f84100c Log: Fix JENKINS-12809 > Injecting from file removes backslashes on ${WORKSPACE} > ------------------------------------------------------- > > Key: JENKINS-12809 > URL: https://issues.jenkins-ci.org/browse/JENKINS-12809 > Project: Jenkins > Issue Type: Bug > Components: envinject > Affects Versions: current > Environment: Windows Server 2003 > Reporter: pixman20 > Assignee: gbois > Priority: Critical > > When using a configuration file, ${WORKSPACE} cannot be used if it contains > backslashes. > Obviously this causes a critical issue on Windows. > When using the content section it works fine. > Output shown in the "Injected Environment Variables" Page: > AAACONTENTVAR D:\jenkins\jobs\TEST_FAIL\workspace > AAAFILEVAR D:jenkinsjobsTEST_FAILworkspace > This behavior can be reproduced by doing the following: > 1) Add build step "Execute batch script" and add the following content: > echo AAAFILEVAR=${WORKSPACE} > temp.config > 2) Add build step "Inject environment variables" and add to properties file > path: > temp.config > 3) Add build step "Inject environment variables" and add to properties > content: > AAACONTENTVAR=${WORKSPACE} > 4) Add build step "Execute batch script" and add the following content: > @ECHO OFF > echo AAAFILEVAR = %AAAFILEVAR% > echo AAACONTENTVAR = %AAACONTENTVAR% > Console output: > ------------------------------------------------------------------ > Building on master in workspace D:\jenkins\jobs\TEST_FAIL\workspace > [workspace] $ cmd /c call C:\WINDOWS\TEMP\hudson6646008055064848449.bat > D:\jenkins\jobs\TEST_FAIL\workspace>echo AAAFILEVAR=${WORKSPACE} > 1>temp.config > D:\jenkins\jobs\TEST_FAIL\workspace>exit 0 > [EnvInject] - Injecting environment variables from a build step. > [EnvInject] - Injecting as environment variables the properties file path > 'temp.config' > [EnvInject] - Variables injected successfully. > [EnvInject] - Injecting environment variables from a build step. > [EnvInject] - Injecting as environment variables the properties content > AAACONTENTVAR=${WORKSPACE} > [EnvInject] - Variables injected successfully. > [workspace] $ cmd /c call C:\WINDOWS\TEMP\hudson7725197076031217954.bat > AAAFILEVAR = D:jenkinsjobsTEST_FAILworkspace > AAACONTENTVAR = D:\jenkins\jobs\TEST_FAIL\workspace > Finished: SUCCESS > ------------------------------------------------------------------ -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira