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

          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.

          People

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

            Dates

              Created:
              Updated:
              Resolved: