• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None

      In same cases it can happen that env. vars. are not expanded in a consistent way, when some variables are expanded and some aren't.

      Reproducer:
      -----------
      Setup parametrized build with 3 string parameters:
      A="aaa"
      C="ccc"
      B=$A$C
      and add shell build step which prints B parameter
      echo $B

      Output is aaa$C, while one would expect aaaccc (or $A$C).

      This is caused by Launcher.inherit() method, which adds variables into resolver and eventually expand them in the same loop (on alphabetically sorted map), thus when expanding $B, $A is already in resolver and gets expanded, while $C is not there yet and thus remains unexpanded.

          [JENKINS-19488] Inconsistent expansion of env vars

          Code changed in jenkins
          User: Vojtech Juranek
          Path:
          core/src/main/java/hudson/Launcher.java
          http://jenkins-ci.org/commit/jenkins/3eea39648943583a530f47f69f93737266537d9d
          Log:
          [FIXED JENKINS-19488] Expand variable in a consistent way

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Vojtech Juranek Path: core/src/main/java/hudson/Launcher.java http://jenkins-ci.org/commit/jenkins/3eea39648943583a530f47f69f93737266537d9d Log: [FIXED JENKINS-19488] Expand variable in a consistent way

          Code changed in jenkins
          User: Oliver Gondža
          Path:
          test/src/test/java/hudson/LauncherTest.java
          http://jenkins-ci.org/commit/jenkins/66fdeab2169fd51b4f435e188565bc70535b8f73
          Log:
          JENKINS-19488 test for #938

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oliver Gondža Path: test/src/test/java/hudson/LauncherTest.java http://jenkins-ci.org/commit/jenkins/66fdeab2169fd51b4f435e188565bc70535b8f73 Log: JENKINS-19488 test for #938

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2886
          [FIXED JENKINS-19488] Expand variable in a consistent way (Revision 3eea39648943583a530f47f69f93737266537d9d)
          JENKINS-19488 test for #938 (Revision 66fdeab2169fd51b4f435e188565bc70535b8f73)

          Result = SUCCESS
          Vojtech Juranek : 3eea39648943583a530f47f69f93737266537d9d
          Files :

          • core/src/main/java/hudson/Launcher.java

          ogondza : 66fdeab2169fd51b4f435e188565bc70535b8f73
          Files :

          • test/src/test/java/hudson/LauncherTest.java

          dogfood added a comment - Integrated in jenkins_main_trunk #2886 [FIXED JENKINS-19488] Expand variable in a consistent way (Revision 3eea39648943583a530f47f69f93737266537d9d) JENKINS-19488 test for #938 (Revision 66fdeab2169fd51b4f435e188565bc70535b8f73) Result = SUCCESS Vojtech Juranek : 3eea39648943583a530f47f69f93737266537d9d Files : core/src/main/java/hudson/Launcher.java ogondza : 66fdeab2169fd51b4f435e188565bc70535b8f73 Files : test/src/test/java/hudson/LauncherTest.java

          Code changed in jenkins
          User: ikedam
          Path:
          core/src/main/java/hudson/EnvVars.java
          core/src/main/java/hudson/Launcher.java
          core/src/test/java/hudson/EnvVarsTest.java
          http://jenkins-ci.org/commit/jenkins/4204d22496a77c2ccc0bb9f959592a01e27fb54d
          Log:
          [FIX JENKINS-20280] Calculates the order to override variables. This is an improved fix for JENKINS-19488 and JENKINS-19926.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: core/src/main/java/hudson/EnvVars.java core/src/main/java/hudson/Launcher.java core/src/test/java/hudson/EnvVarsTest.java http://jenkins-ci.org/commit/jenkins/4204d22496a77c2ccc0bb9f959592a01e27fb54d Log: [FIX JENKINS-20280] Calculates the order to override variables. This is an improved fix for JENKINS-19488 and JENKINS-19926 .

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2984
          [FIX JENKINS-20280] Calculates the order to override variables. This is an improved fix for JENKINS-19488 and JENKINS-19926. (Revision 4204d22496a77c2ccc0bb9f959592a01e27fb54d)

          Result = SUCCESS
          kohsuke : 4204d22496a77c2ccc0bb9f959592a01e27fb54d
          Files :

          • core/src/main/java/hudson/EnvVars.java
          • core/src/test/java/hudson/EnvVarsTest.java
          • core/src/main/java/hudson/Launcher.java

          dogfood added a comment - Integrated in jenkins_main_trunk #2984 [FIX JENKINS-20280] Calculates the order to override variables. This is an improved fix for JENKINS-19488 and JENKINS-19926 . (Revision 4204d22496a77c2ccc0bb9f959592a01e27fb54d) Result = SUCCESS kohsuke : 4204d22496a77c2ccc0bb9f959592a01e27fb54d Files : core/src/main/java/hudson/EnvVars.java core/src/test/java/hudson/EnvVarsTest.java core/src/main/java/hudson/Launcher.java

            Unassigned Unassigned
            vjuranek vjuranek
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: