Sanne I do not have rights to edit your ORM JDK 9 job. I wanted to look at the job config to make sure it is ok, but I cannot even see it.
On Fri, Jun 17, 2016 at 7:22 PM Steve Ebersole <st...@hibernate.org> wrote: > For the most part we have gotten ORM buildable with Java 9. Some "open > items": > > 1. Javassist does not seem to support Java 9 much, if at all. I had > to disable some tests in hibernate-core that test enhancement as well as > tests for hibernate-hikari since it uses Javassist extensively too. > hibernate-envers has a bunch of test failures that seem related to > Javassist as well. > 2. The tests for hibernate-osgi simply hang. Something in that test > stack does not like Java 9. > > Longer term we need to decide how we want to handle non standard modules > moving forward. This mostly came up in regards to JAXB and XJC. For the > moment I added a set of non-transitive dependencies for JAXB and XJC to > hibernate-core and hibernate-jpamodelgen. Since the hibernate-core one is > non-transitive I then had to add a similar fragment to each and every > module that depends on hibernate-core tries to run tests using it. This > gets fugly :) For reference the fragment looks like: > > // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > // Java 9 ftw! > if ( JavaVersion.current().isJava9Compatible() ) { > // The JDK used to run Gradle is Java 9+, and we assume that that is the > same > // JDK for executing tasks > compile( 'com.sun.xml.bind:jaxb-impl:2.2.11' ) > compile( 'org.glassfish.jaxb:jaxb-xjc:2.2.11' ) > compile( 'org.jvnet.jaxb2_commons:jaxb2-basics:0.11.0' ) > compile( 'org.jvnet.jaxb2_commons:jaxb2-basics-ant:0.11.0' ) > compile( 'javax:javaee-api:7.0' ) > > testCompile( 'com.sun.xml.bind:jaxb-impl:2.2.11' ) > testCompile( 'org.glassfish.jaxb:jaxb-xjc:2.2.11' ) > testCompile( 'org.jvnet.jaxb2_commons:jaxb2-basics:0.11.0' ) > testCompile( 'org.jvnet.jaxb2_commons:jaxb2-basics-ant:0.11.0' ) > testCompile( 'javax:javaee-api:7.0' ) > > testRuntime( 'com.sun.xml.bind:jaxb-impl:2.2.11' ) > testRuntime( 'org.glassfish.jaxb:jaxb-xjc:2.2.11' ) > testRuntime( 'org.jvnet.jaxb2_commons:jaxb2-basics:0.11.0' ) > testRuntime( 'org.jvnet.jaxb2_commons:jaxb2-basics-ant:0.11.0' ) > testRuntime( 'javax:javaee-api:7.0' ) > } > // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > I decided to do this non-transitively since users may (probably) would > want to use a better JAXB impl. Not sure the best way to handle this. > > On Wed, Jun 15, 2016 at 3:14 PM Steve Ebersole <st...@hibernate.org> > wrote: > >> No worries, I understand. >> >> On Wed, Jun 15, 2016 at 3:13 PM Sanne Grinovero <sa...@hibernate.org> >> wrote: >> >>> On 15 June 2016 at 19:29, Steve Ebersole <st...@hibernate.org> wrote: >>> > WRT JAXB (XJC) I am completely lost. >>> > >>> > Sanne I tried your solution of specifying an addmod for jaxb to >>> GRADLE_OPTS >>> > but get the same result (ExceptionInInitializerError) with and without >>> that >>> > change. So not sure how you got that to work. >>> >>> Steve, sorry if that wasn't clear: this didn't work for me either. >>> I used the GRADLE_OPTS to bypass other issues which I had before >>> reaching this point, but then I got stuck on the 'xjc' plugin, and >>> that's were I asked if we could bypass/skip/rewrite the plugin. >>> >>> > >>> > I did try the alternative we discussed of defining an explicit build >>> > dependency on JAXB (which again has no effect): >>> > >>> > >>> > xjc 'org.glassfish.jaxb:jaxb-core:2.2.11' >>> > xjc 'org.glassfish.jaxb:jaxb-xjc:2.2.11' >>> > xjc 'org.jvnet.jaxb2_commons:jaxb2-basics:0.11.0' >>> > xjc 'org.jvnet.jaxb2_commons:jaxb2-basics-ant:0.11.0' >>> > >>> > >>> > For some background, XJC is currently performed via Gradle's AntBuilder >>> > support using the jaxb2_commons Ant task >>> > (org.jvnet.jaxb2_commons.xjc.XJC2Task). I also have tried using Sun's >>> > com.sun.tools.xjc.XJCTask directly. Neither make any difference. The >>> > fundamental problem is that for Ant execution Gradle simply reuses its >>> VM. >>> > So to get this applied (iiuc) the only real option is to configure the >>> > Gradle launch to include the addmod (which makes it more odd that >>> > GRADLE_OPTS did not work for me). >>> > >>> > The other option is to write a new Gradle XjcTask that executes the >>> XJC tool >>> > directly. That we can use Gradle to help us fork and pass the addmod >>> option >>> > to the forked process. I think :) >>> > >>> > >>> > On Mon, Jun 13, 2016 at 3:00 AM Gunnar Morling <gun...@hibernate.org> >>> wrote: >>> >> >>> >> Yep, we discussed that approach last year already: >>> >> http://lists.jboss.org/pipermail/hibernate-dev/2015-March/012250.html >>> >> >>> >> 2016-06-13 9:49 GMT+02:00 Sanne Grinovero <sa...@hibernate.org>: >>> >> >>> >> > On 13 June 2016 at 07:34, Gunnar Morling <gun...@hibernate.org> >>> wrote: >>> >> > > Hey, >>> >> > > >>> >> > > I hit the same issue with the injection plug-in in HV. >>> >> > > >>> >> > > It was used for obtaining the version of HV at runtime. I worked >>> >> > > around >>> >> > it >>> >> > > by obtaining that from the package instead [1]: >>> >> > > >>> >> > > return >>> SomeHvClass.class.getPackage().getImplementationVersion(); >>> >> > >>> >> > Right, that looks a lot like >>> >> > - >>> >> > >>> >> > >>> https://github.com/hibernate/hibernate-search/commit/fde388e9fd822abf877e56ab4147ac95c9fffd51 >>> >> > ;) >>> >> > >>> >> > > >>> >> > > If that's all what the injection plug-in is used for in ORM as >>> well >>> >> > > (and >>> >> > you >>> >> > > don't depend on that version info e.g. during testing in the IDE, >>> >> > > where >>> >> > > there is no JAR manifest yet which is the source of the version >>> with >>> >> > > that >>> >> > > approach), you could do the same there. >>> >> > > >>> >> > > --Gunnar >>> >> > > >>> >> > > [1] >>> >> > > >>> >> > >>> >> > >>> https://github.com/hibernate/hibernate-validator/commit/8a0eb0bfbc7610ea6fc9962eef024a98c3f9468c#diff-963bab11ed76f80c4a804903ed66e03fR34 >>> >> > > >>> >> > > >>> >> > > 2016-06-12 22:18 GMT+02:00 Sanne Grinovero <sa...@hibernate.org>: >>> >> > >> >>> >> > >> Some more progress by simply setting this environment variable: >>> >> > >> >>> >> > >> >>> >> > >>> >> > >>> GRADLE_OPTS="-XaddExports:java.security.sasl/com.sun.security.sasl.digest=ALL-UNNAMED >>> >> > >> -XaddExports:java.security.sasl/com.sun.security.sasl=ALL-UNNAMED >>> >> > >> -XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED >>> >> > >> -XaddExports:jdk.unsupported/sun.reflect=ALL-UNNAMED -addmods >>> >> > >> java.xml.bind" >>> >> > >> >>> >> > >> But it's getting tricky: >>> >> > >> >>> >> > >> Caused by: compile error: javassist.NotFoundException: >>> >> > >> java.lang.String >>> >> > >> at javassist.compiler.Javac.compileBody(Javac.java:229) >>> >> > >> at javassist.CtBehavior.setBody(CtBehavior.java:438) >>> >> > >> ... 76 more >>> >> > >> >>> >> > >> This seems to be caused by the following plugin, which I'm not >>> >> > >> familiar >>> >> > >> with: >>> >> > >> - >>> >> > >> >>> >> > >>> >> > >>> org.hibernate.build.gradle.inject.InjectionAction.execute(InjectionAction.java:62) >>> >> > >> Is this something which we could disable/skip/remove for now, or >>> >> > >> update to not require Javassist? >>> >> > >> >>> >> > >> Thanks, >>> >> > >> sanne >>> >> > >> >>> >> > >> On 12 June 2016 at 20:56, Sanne Grinovero <sa...@hibernate.org> >>> >> > >> wrote: >>> >> > >> > On 11 June 2016 at 18:47, Sanne Grinovero <sa...@hibernate.org >>> > >>> >> > wrote: >>> >> > >> >> On 11 June 2016 at 18:25, Steve Ebersole <st...@hibernate.org >>> > >>> >> > wrote: >>> >> > >> >>> The ORM failure seems to be a Gradle/JDK9 issue. Any idea >>> about >>> >> > that? >>> >> > >> >> >>> >> > >> >> Not sure, that's a new one :) >>> >> > >> >> It could be related to >>> >> > >> >> https://issues.gradle.org/browse/GRADLE-3287 >>> >> > ? >>> >> > >> >> >>> >> > >> >> Might be worth trying to upgrade to Gradle 2.12 .. I'm not at >>> a >>> >> > >> >> terminal at the moment, I could try later. >>> >> > >> > >>> >> > >> > I've upgraded to Gradle 2.13, the pull request is here: >>> >> > >> > - https://github.com/hibernate/hibernate-orm/pull/1417# >>> >> > >> > >>> >> > >> > It solved that specific issue, but it's not enough. I'm still >>> >> > >> > trying >>> >> > >> > to hack a workaround for the next step, but in the meantime >>> that PR >>> >> > >> > could be considered independently. >>> >> > >> > >>> >> > >> > I could use some pointers with Gradle and the custom plugins we >>> >> > >> > use; >>> >> > >> > essentially we need to pass some additional JVM flags, >>> including to >>> >> > >> > javac, like here: >>> >> > >> > - >>> >> > >> > >>> >> > >>> >> > >>> https://github.com/hibernate/hibernate-orm/commit/5e6a8ea754e3c4c59925fe7f824092490efc008b >>> >> > >> > >>> >> > >> > But the failure happens during: >>> >> > >> > Execution failed for task ':hibernate-core:xjc' >>> >> > >> > >>> >> > >> > and I'm not sure how to override the JVM flags for that plugin >>> >> > >> > execution. >>> >> > >> > >>> >> > >> > Thanks, >>> >> > >> > Sanne >>> >> > >> > >>> >> > >> > >>> >> > >> >> >>> >> > >> >>> >>> >> > >> >>> On Fri, Jun 10, 2016, 4:39 PM Sanne Grinovero >>> >> > >> >>> <sa...@hibernate.org> >>> >> > >> >>> wrote: >>> >> > >> >>>> >>> >> > >> >>>> Hi all, >>> >> > >> >>>> please try to have a look at this page when you have a >>> moment: >>> >> > >> >>>> - http://ci.hibernate.org/view/JDK9/ >>> >> > >> >>>> >>> >> > >> >>>> Hibernate Search is working, and it shouldn't be too hard >>> to get >>> >> > the >>> >> > >> >>>> others "green" as well. >>> >> > >> >>>> >>> >> > >> >>>> I've disabled some integration tests to get there, notably: >>> >> > >> >>>> - OSGi tests: Karaf is not ready for it. >>> >> > >> >>>> - Documentation build: Asciidoc will probably need an >>> update. >>> >> > >> >>>> - WildFly integration tests: the WildFly team is aware, >>> will >>> >> > >> >>>> need >>> >> > a >>> >> > >> >>>> minor upgrade. >>> >> > >> >>>> >>> >> > >> >>>> I don't believe these issues are relevant, so I'm satisfied >>> that >>> >> > all >>> >> > >> >>>> other tests working fine mean that the project will pretty >>> much >>> >> > work >>> >> > >> >>>> out of the box for end users - at worst their container >>> won't >>> >> > >> >>>> work, >>> >> > >> >>>> but that's not our responsibility to test for. >>> >> > >> >>>> >>> >> > >> >>>> Could you all contribute a bit to get all projects show >>> "green" >>> >> > >> >>>> on >>> >> > >> >>>> this >>> >> > >> >>>> page? >>> >> > >> >>>> >>> >> > >> >>>> Some "workarounds" you might want to apply: >>> >> > >> >>>> - the Logger interfaces won't compile because of a known >>> issue, >>> >> > this >>> >> > >> >>>> can be worked around for now by having the compilation phase >>> >> > >> >>>> also >>> >> > >> >>>> explicitly depend on this artifact: >>> >> > >> >>>> >>> >> > >> >>>> >>> >> > >> >>>> >>> >> > >>> >> > >>> https://github.com/hibernate/hibernate-search/blob/master/pom.xml#L878-L883 >>> >> > >> >>>> - you'll have a ClassNotFoundException on JAXB usage >>> unless you >>> >> > set >>> >> > >> >>>> this JVM flag: >>> >> > >> >>>> >>> >> > >> >>>> >>> >> > >>> https://github.com/hibernate/hibernate-search/blob/master/pom.xml#L1429 >>> >> > >> >>>> (This one is not a bug but will be required to be set by end >>> >> > >> >>>> users >>> >> > as >>> >> > >> >>>> well - or we provide our own XML parser, that might be more >>> user >>> >> > >> >>>> friendly). >>> >> > >> >>>> >>> >> > >> >>>> As far as I know, other issues with the build tools have >>> been >>> >> > solved >>> >> > >> >>>> already - including Gradle. >>> >> > >> >>>> >>> >> > >> >>>> Thanks, >>> >> > >> >>>> Sanne >>> >> > >> >>>> _______________________________________________ >>> >> > >> >>>> hibernate-dev mailing list >>> >> > >> >>>> hibernate-dev@lists.jboss.org >>> >> > >> >>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev >>> >> > >> _______________________________________________ >>> >> > >> hibernate-dev mailing list >>> >> > >> hibernate-dev@lists.jboss.org >>> >> > >> https://lists.jboss.org/mailman/listinfo/hibernate-dev >>> >> > > >>> >> > > >>> >> > >>> >> _______________________________________________ >>> >> hibernate-dev mailing list >>> >> hibernate-dev@lists.jboss.org >>> >> https://lists.jboss.org/mailman/listinfo/hibernate-dev >>> >> _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev