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

@QueryParameter with @RelativePath broken

    XMLWordPrintable

Details

    Description

      a stapler change in 1.208 broke the @InjectedParameter annotation handling.

      When non-injected annotation (such as @RelativePath) annotation is present, it'll mask the handling of the injected annotation (such as @QueryParameter.)

      Attachments

        Activity

          kohsuke Kohsuke Kawaguchi created issue -
          kohsuke Kohsuke Kawaguchi made changes -
          Field Original Value New Value
          Labels lts-candidate
          jglick Jesse Glick made changes -
          Labels lts-candidate lts-candidate regression
          jglick Jesse Glick added a comment -

          Should be easy enough to write a regression test for this, right?

          jglick Jesse Glick added a comment - Should be easy enough to write a regression test for this, right?

          Hmm, it looks like the SCM/issue link daemon has stopped working.

          This fix is integrated toward 1.525.

          kohsuke Kohsuke Kawaguchi added a comment - Hmm, it looks like the SCM/issue link daemon has stopped working. This fix is integrated toward 1.525.
          kohsuke Kohsuke Kawaguchi made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]

          I'm sorry but what needs to be backported to get this lts-candidate fixed?

          olivergondza Oliver Gondža added a comment - I'm sorry but what needs to be backported to get this lts-candidate fixed?
          jglick Jesse Glick added a comment -

          I just looked in https://github.com/jenkinsci/jenkins/compare/jenkins-1.524...jenkins-1.525 to try to figure out where the purported fix was, but there are no changes here except version number! Did the release process go haywire?

          jglick Jesse Glick added a comment - I just looked in https://github.com/jenkinsci/jenkins/compare/jenkins-1.524...jenkins-1.525 to try to figure out where the purported fix was, but there are no changes here except version number! Did the release process go haywire?
          jglick Jesse Glick added a comment -

          Anyway https://github.com/stapler/stapler/commit/fb1fa99985058151732a73c1a071383dbd20e116 is the fix, in Stapler 1.214. That was integrated in https://github.com/jenkinsci/jenkins/commit/fc836c135e2bba4fa66239ef42e8b542298cdbd9 and apparently required several follow-up test fixes in https://github.com/jenkinsci/jenkins/compare/efc0ca16fb975229afba1917b03eee160ce68986...504dadca61353bbbf393d4353200330455930e88 (I am guessing). Seems this is really in 1.526, since 1.525 was just botched.

          jglick Jesse Glick added a comment - Anyway https://github.com/stapler/stapler/commit/fb1fa99985058151732a73c1a071383dbd20e116 is the fix, in Stapler 1.214. That was integrated in https://github.com/jenkinsci/jenkins/commit/fc836c135e2bba4fa66239ef42e8b542298cdbd9 and apparently required several follow-up test fixes in https://github.com/jenkinsci/jenkins/compare/efc0ca16fb975229afba1917b03eee160ce68986...504dadca61353bbbf393d4353200330455930e88 (I am guessing). Seems this is really in 1.526, since 1.525 was just botched.

          Thanks Jesse. It seems to require https://github.com/jenkinsci/jenkins/commit/bbaeade5231ca4116047fbd32b2f909a16a59b8d as well for tests to succeed.

          olivergondza Oliver Gondža added a comment - Thanks Jesse. It seems to require https://github.com/jenkinsci/jenkins/commit/bbaeade5231ca4116047fbd32b2f909a16a59b8d as well for tests to succeed.
          olivergondza Oliver Gondža made changes -
          Labels lts-candidate regression lts-1.509.3-fixed regression

          Code changed in jenkins
          User: Oliver Gondža
          Path:
          changelog.html
          core/pom.xml
          core/src/test/groovy/hudson/util/SecretRewriterTest.groovy
          core/src/test/groovy/hudson/util/SecretTest.groovy
          core/src/test/groovy/jenkins/security/CryptoConfidentialKeyTest.groovy
          core/src/test/groovy/jenkins/security/DefaultConfidentialStoreTest.groovy
          core/src/test/groovy/jenkins/security/HMACConfidentialKeyTest.groovy
          core/src/test/groovy/jenkins/security/HexStringConfidentialKeyTest.groovy
          core/src/test/java/hudson/util/SecretRewriterTest.groovy
          core/src/test/java/hudson/util/SecretTest.groovy
          core/src/test/java/jenkins/security/CryptoConfidentialKeyTest.groovy
          core/src/test/java/jenkins/security/DefaultConfidentialStoreTest.groovy
          core/src/test/java/jenkins/security/HMACConfidentialKeyTest.groovy
          core/src/test/java/jenkins/security/HexStringConfidentialKeyTest.groovy
          pom.xml
          test/pom.xml
          test/src/test/groovy/hudson/RelativePathTest.groovy
          test/src/test/resources/hudson/RelativePathTest/Model/config.groovy
          test/src/test/resources/hudson/RelativePathTest/index.groovy
          http://jenkins-ci.org/commit/jenkins/c9eb236d7a09c3a638e2ee4f84879da76c75abab
          Log:
          Revert backport of JENKINS-18776 (sometimes incorrectly refered to as JENKINS-18771)

          This reverts commit f43b3cd655bd96e461649fee1e9b5ee1b5abf87a.
          This reverts commit 72cea1ad5d70ed75f7d258c770f61be4ea6cb06b.
          This reverts commit 01445f44e7d08ce66d443d08649ea09950175b70.
          This reverts commit ce08bdf5fa5da0db0a8123857cae2cdb931f16df.
          This reverts commit 448e580a3605d07599508a46e03789baa8c9308c.
          This reverts commit 381ab039fa1da7d57a4ed22c4e78db2a6de34c98.

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oliver Gondža Path: changelog.html core/pom.xml core/src/test/groovy/hudson/util/SecretRewriterTest.groovy core/src/test/groovy/hudson/util/SecretTest.groovy core/src/test/groovy/jenkins/security/CryptoConfidentialKeyTest.groovy core/src/test/groovy/jenkins/security/DefaultConfidentialStoreTest.groovy core/src/test/groovy/jenkins/security/HMACConfidentialKeyTest.groovy core/src/test/groovy/jenkins/security/HexStringConfidentialKeyTest.groovy core/src/test/java/hudson/util/SecretRewriterTest.groovy core/src/test/java/hudson/util/SecretTest.groovy core/src/test/java/jenkins/security/CryptoConfidentialKeyTest.groovy core/src/test/java/jenkins/security/DefaultConfidentialStoreTest.groovy core/src/test/java/jenkins/security/HMACConfidentialKeyTest.groovy core/src/test/java/jenkins/security/HexStringConfidentialKeyTest.groovy pom.xml test/pom.xml test/src/test/groovy/hudson/RelativePathTest.groovy test/src/test/resources/hudson/RelativePathTest/Model/config.groovy test/src/test/resources/hudson/RelativePathTest/index.groovy http://jenkins-ci.org/commit/jenkins/c9eb236d7a09c3a638e2ee4f84879da76c75abab Log: Revert backport of JENKINS-18776 (sometimes incorrectly refered to as JENKINS-18771 ) This reverts commit f43b3cd655bd96e461649fee1e9b5ee1b5abf87a. This reverts commit 72cea1ad5d70ed75f7d258c770f61be4ea6cb06b. This reverts commit 01445f44e7d08ce66d443d08649ea09950175b70. This reverts commit ce08bdf5fa5da0db0a8123857cae2cdb931f16df. This reverts commit 448e580a3605d07599508a46e03789baa8c9308c. This reverts commit 381ab039fa1da7d57a4ed22c4e78db2a6de34c98.
          olivergondza Oliver Gondža made changes -
          Labels lts-1.509.3-fixed regression lts-candidate regression

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          test/src/main/java/org/jvnet/hudson/test/TestExtensionLoader.java
          http://jenkins-ci.org/commit/jenkins/fb31f6d8dc77cc9d27d7451e13f8c8d328ecb538
          Log:
          JENKINS-18776 Groovy compiler doesn't seem to put the enclosing class information in the class file.

          (cherry picked from commit eec271d76dccfffb5aedb96025cea9b01e159b3c)

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: test/src/main/java/org/jvnet/hudson/test/TestExtensionLoader.java http://jenkins-ci.org/commit/jenkins/fb31f6d8dc77cc9d27d7451e13f8c8d328ecb538 Log: JENKINS-18776 Groovy compiler doesn't seem to put the enclosing class information in the class file. (cherry picked from commit eec271d76dccfffb5aedb96025cea9b01e159b3c)

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          test/pom.xml
          http://jenkins-ci.org/commit/jenkins/3d30b3a44134c8ff3d0a7005541c6fa1faa68a18
          Log:
          JENKINS-18776 Fixing a test failure in RelativePathTest

          It turns out that Groovy compiler we use to compile src/test/groovy was
          not properly generating the 'enclosing class' information inside
          *.class, which was causing the load failure of the descriptors marked
          by @TestExtension in test code.

          To fix this and forestall other possible GMaven related issues, I
          decided to bump up the GMaven version. As it turns out, Codehaus GMaven
          had ceased the development of the 1.x branch, so I initially tried 2.x
          release line.

          The 2.x release line got rid of the stub generation functionality, which
          we badly need for annotation processing. It instead recommend using
          Eclipse compiler to jointly compile Java and Groovy source code
          together, but when I tried to compile our tests, it failed to properly
          handle nested classes. The compiler quality appears quite premature.

          I was then going back to GMaven 1.5, the last 1.x release. I took this
          opportunity to rebase my local patches in org.kohsuke.gmaven to the
          latest release, which in my mind gets justified now that the upstream
          has ceased the development.

          My local patch to GMaven is captured in GMAVEN-3 and GMAVEN-4
          (see http://jira.codehaus.org/browse/GMAVEN-3 and
          http://jira.codehaus.org/browse/GMAVEN-4).

          GMAVEN-4 is claimed to be fixed, but when I tried to compile our source
          tree I discovered that its handling of nested types breaks the generated
          stub code.

          In the end, I managed to patch gmaven and posted 1.5-jenkins-1.

          The bottom line is, we can now use @TestExtension correctly with Groovy
          tests. Also on the upside, we can get rid of org.kohsuke.gmaven and
          avoid the current confusion situation of using two GMaven plugins.

          I'll make a follow-up change to remove org.kohsuke.gmaven from elsewhere
          in our POM.

          (cherry picked from commit bd256acda96f1df5bdf55b533545110acb65112d)

          Conflicts:
          test/pom.xml

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: test/pom.xml http://jenkins-ci.org/commit/jenkins/3d30b3a44134c8ff3d0a7005541c6fa1faa68a18 Log: JENKINS-18776 Fixing a test failure in RelativePathTest It turns out that Groovy compiler we use to compile src/test/groovy was not properly generating the 'enclosing class' information inside *.class, which was causing the load failure of the descriptors marked by @TestExtension in test code. To fix this and forestall other possible GMaven related issues, I decided to bump up the GMaven version. As it turns out, Codehaus GMaven had ceased the development of the 1.x branch, so I initially tried 2.x release line. The 2.x release line got rid of the stub generation functionality, which we badly need for annotation processing. It instead recommend using Eclipse compiler to jointly compile Java and Groovy source code together, but when I tried to compile our tests, it failed to properly handle nested classes. The compiler quality appears quite premature. I was then going back to GMaven 1.5, the last 1.x release. I took this opportunity to rebase my local patches in org.kohsuke.gmaven to the latest release, which in my mind gets justified now that the upstream has ceased the development. My local patch to GMaven is captured in GMAVEN-3 and GMAVEN-4 (see http://jira.codehaus.org/browse/GMAVEN-3 and http://jira.codehaus.org/browse/GMAVEN-4 ). GMAVEN-4 is claimed to be fixed, but when I tried to compile our source tree I discovered that its handling of nested types breaks the generated stub code. In the end, I managed to patch gmaven and posted 1.5-jenkins-1. The bottom line is, we can now use @TestExtension correctly with Groovy tests. Also on the upside, we can get rid of org.kohsuke.gmaven and avoid the current confusion situation of using two GMaven plugins. I'll make a follow-up change to remove org.kohsuke.gmaven from elsewhere in our POM. (cherry picked from commit bd256acda96f1df5bdf55b533545110acb65112d) Conflicts: test/pom.xml

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          test/src/main/java/org/jvnet/hudson/test/TestExtensionLoader.java
          http://jenkins-ci.org/commit/jenkins/3559a52e2dc751bcd9fc3b335c17efc9c1b54f2b
          Log:
          JENKINS-18776 This work around no longer necessary,

          ... as the newer Groovy compiler produces the proper enclosing class
          infromation.

          (cherry picked from commit 92c2503b1a17826681d66bd277b8f24b56cce7ba)

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: test/src/main/java/org/jvnet/hudson/test/TestExtensionLoader.java http://jenkins-ci.org/commit/jenkins/3559a52e2dc751bcd9fc3b335c17efc9c1b54f2b Log: JENKINS-18776 This work around no longer necessary, ... as the newer Groovy compiler produces the proper enclosing class infromation. (cherry picked from commit 92c2503b1a17826681d66bd277b8f24b56cce7ba)

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          core/pom.xml
          core/src/test/groovy/hudson/util/SecretRewriterTest.groovy
          core/src/test/groovy/hudson/util/SecretTest.groovy
          core/src/test/groovy/jenkins/security/CryptoConfidentialKeyTest.groovy
          core/src/test/groovy/jenkins/security/DefaultConfidentialStoreTest.groovy
          core/src/test/groovy/jenkins/security/HMACConfidentialKeyTest.groovy
          core/src/test/groovy/jenkins/security/HexStringConfidentialKeyTest.groovy
          core/src/test/java/hudson/util/SecretRewriterTest.groovy
          core/src/test/java/hudson/util/SecretTest.groovy
          core/src/test/java/jenkins/security/CryptoConfidentialKeyTest.groovy
          core/src/test/java/jenkins/security/DefaultConfidentialStoreTest.groovy
          core/src/test/java/jenkins/security/HMACConfidentialKeyTest.groovy
          core/src/test/java/jenkins/security/HexStringConfidentialKeyTest.groovy
          pom.xml
          test/pom.xml
          http://jenkins-ci.org/commit/jenkins/998dc0d27cca1ed3183508cd807fc35d76d119bc
          Log:
          JENKINS-18776 Replacing org.kohsuke.gmaven by org.codehaus.gmaven

          (cherry picked from commit bf809867342cccb0906ccefec047f7f1e6ac883a)

          Conflicts:
          core/pom.xml

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: core/pom.xml core/src/test/groovy/hudson/util/SecretRewriterTest.groovy core/src/test/groovy/hudson/util/SecretTest.groovy core/src/test/groovy/jenkins/security/CryptoConfidentialKeyTest.groovy core/src/test/groovy/jenkins/security/DefaultConfidentialStoreTest.groovy core/src/test/groovy/jenkins/security/HMACConfidentialKeyTest.groovy core/src/test/groovy/jenkins/security/HexStringConfidentialKeyTest.groovy core/src/test/java/hudson/util/SecretRewriterTest.groovy core/src/test/java/hudson/util/SecretTest.groovy core/src/test/java/jenkins/security/CryptoConfidentialKeyTest.groovy core/src/test/java/jenkins/security/DefaultConfidentialStoreTest.groovy core/src/test/java/jenkins/security/HMACConfidentialKeyTest.groovy core/src/test/java/jenkins/security/HexStringConfidentialKeyTest.groovy pom.xml test/pom.xml http://jenkins-ci.org/commit/jenkins/998dc0d27cca1ed3183508cd807fc35d76d119bc Log: JENKINS-18776 Replacing org.kohsuke.gmaven by org.codehaus.gmaven (cherry picked from commit bf809867342cccb0906ccefec047f7f1e6ac883a) Conflicts: core/pom.xml

          Code changed in jenkins
          User: Oliver Gondža
          Path:
          test/pom.xml
          test/src/test/groovy/hudson/RelativePathTest.groovy
          test/src/test/resources/hudson/RelativePathTest/Model/config.groovy
          test/src/test/resources/hudson/RelativePathTest/index.groovy
          http://jenkins-ci.org/commit/jenkins/9335c4446faf73a7c58d8189874e1dd2fccf5b5e
          Log:
          [FIXED JENKINS-18776]

          This reverts commit c9eb236d7a09c3a638e2ee4f84879da76c75abab.

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oliver Gondža Path: test/pom.xml test/src/test/groovy/hudson/RelativePathTest.groovy test/src/test/resources/hudson/RelativePathTest/Model/config.groovy test/src/test/resources/hudson/RelativePathTest/index.groovy http://jenkins-ci.org/commit/jenkins/9335c4446faf73a7c58d8189874e1dd2fccf5b5e Log: [FIXED JENKINS-18776] This reverts commit c9eb236d7a09c3a638e2ee4f84879da76c75abab.
          olivergondza Oliver Gondža made changes -
          Labels lts-candidate regression 1.509.4-fixed regression
          olivergondza Oliver Gondža made changes -
          Labels 1.509.4-fixed regression 1.509.3-rejected 1.509.4-fixed regression
          rtyler R. Tyler Croy made changes -
          Workflow JNJira [ 150126 ] JNJira + In-Review [ 193429 ]

          People

            kohsuke Kohsuke Kawaguchi
            kohsuke Kohsuke Kawaguchi
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: