-
Bug
-
Resolution: Fixed
-
Critical
-
Powered by SuggestiMate
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.)
[JENKINS-18776] @QueryParameter with @RelativePath broken
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?
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.
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: 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
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
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.
I'm sorry but what needs to be backported to get this lts-candidate fixed?