Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/jenkins
  Commit: eec271d76dccfffb5aedb96025cea9b01e159b3c
      
https://github.com/jenkinsci/jenkins/commit/eec271d76dccfffb5aedb96025cea9b01e159b3c
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M test/src/main/java/org/jvnet/hudson/test/TestExtensionLoader.java

  Log Message:
  -----------
  Groovy compiler doesn't seem to put the enclosing class information in the 
class file.


  Commit: bd256acda96f1df5bdf55b533545110acb65112d
      
https://github.com/jenkinsci/jenkins/commit/bd256acda96f1df5bdf55b533545110acb65112d
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M test/pom.xml

  Log Message:
  -----------
  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.


  Commit: 92c2503b1a17826681d66bd277b8f24b56cce7ba
      
https://github.com/jenkinsci/jenkins/commit/92c2503b1a17826681d66bd277b8f24b56cce7ba
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2013-07-17 (Wed, 17 Jul 2013)

  Changed paths:
    M test/src/main/java/org/jvnet/hudson/test/TestExtensionLoader.java

  Log Message:
  -----------
  This work around no longer necessary,

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


Compare: 
https://github.com/jenkinsci/jenkins/compare/efc0ca16fb97...92c2503b1a17

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to