I started a discussion on Gradle forums to start getting some resolution to
this:
On Wed, Jun 15, 2016 at 1:29 PM Steve Ebersole <steve(a)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.
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 <gunnar(a)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 <sanne(a)hibernate.org>:
>
> > On 13 June 2016 at 07:34, Gunnar Morling <gunnar(a)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/fde388e9fd822abf877e...
> > ;)
> >
> > >
> > > 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/8a0eb0bfbc7610ea6...
> > >
> > >
> > > 2016-06-12 22:18 GMT+02:00 Sanne Grinovero <sanne(a)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 <sanne(a)hibernate.org>
> wrote:
> > >> > On 11 June 2016 at 18:47, Sanne Grinovero
<sanne(a)hibernate.org>
> > wrote:
> > >> >> On 11 June 2016 at 18:25, Steve Ebersole
<steve(a)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/5e6a8ea754e3c4c59925fe7...
> > >> >
> > >> > 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 <
> sanne(a)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(a)lists.jboss.org
> > >> >>>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
> > >> _______________________________________________
> > >> hibernate-dev mailing list
> > >> hibernate-dev(a)lists.jboss.org
> > >>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
> > >
> > >
> >
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>