Skip to content

[JENKINS-18776] @QueryParameter with @RelativePath broken #14742

Closed

Description

@jenkins-infra-bot

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.)


Originally reported by kohsuke, imported from: @QueryParameter with @RelativePath broken
  • assignee: kohsuke
  • status: Resolved
  • priority: Critical
  • component(s): core
  • label(s): 1.509.3-rejected, 1.509.4-fixed, regression
  • resolution: Fixed
  • resolved: 2013-07-16T19:35:32+00:00
  • votes: 0
  • watchers: 5
  • imported: 2025-11-24
Raw content of original issue

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.)

Activity

  1. jenkins-infra-bot commented on Jul 16, 2013

    @jenkins-infra-bot
    Author
    jglick:
    • Original comment link
    • Raw content of original comment:

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

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

  2. jenkins-infra-bot commented on Jul 16, 2013

    @jenkins-infra-bot
    Author
    kohsuke:
    • Original comment link
    • Raw content of original comment:

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

      This fix is integrated toward 1.525.

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

    This fix is integrated toward 1.525.

  3. jenkins-infra-bot commented on Jul 30, 2013

    @jenkins-infra-bot
    Author
    olivergondza:
    • Original comment link
    • Raw content of original comment:

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

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

  4. jenkins-infra-bot commented on Jul 30, 2013

    @jenkins-infra-bot
    Author
    jglick:
    • Original comment link
    • Raw content of original comment:

      I just looked in 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?

    I just looked in 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?

  5. jenkins-infra-bot commented on Jul 30, 2013

    @jenkins-infra-bot
    Author
    jglick:

    Anyway jenkinsci/stapler@fb1fa99 is the fix, in Stapler 1.214. That was integrated in fc836c1 and apparently required several follow-up test fixes in efc0ca1...504dadc (I am guessing). Seems this is really in 1.526, since 1.525 was just botched.

  6. jenkins-infra-bot commented on Aug 1, 2013

    @jenkins-infra-bot
    Author
    olivergondza:
    • Original comment link
    • Raw content of original comment:

      Thanks Jesse. It seems to require bbaeade as well for tests to succeed.

    Thanks Jesse. It seems to require bbaeade as well for tests to succeed.

  7. jenkins-infra-bot commented on Aug 13, 2013

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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.

    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 f43b3cd.
    This reverts commit 72cea1a.
    This reverts commit 01445f4.
    This reverts commit ce08bdf.
    This reverts commit 448e580.
    This reverts commit 381ab03.

  8. jenkins-infra-bot commented on Sep 19, 2013

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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 eec271d)

  9. jenkins-infra-bot commented on Sep 19, 2013

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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/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 bd256ac)

    Conflicts:
    test/pom.xml

  10. jenkins-infra-bot commented on Sep 19, 2013

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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 92c2503)

  11. jenkins-infra-bot commented on Sep 19, 2013

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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: 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 bf80986)

    Conflicts:
    core/pom.xml

  12. jenkins-infra-bot commented on Sep 19, 2013

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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.

    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 c9eb236.

  13. removed
    bugFor changelog: Minor bug. Will be listed after features
    on Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions