Maven issue with JDK16 - javac and javadoc

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Maven issue with JDK16 - javac and javadoc

Enrico Olivelli
Hi folks,
I have fallen into this issue about Maven + Maven Compiler Plugin + JDK16

This is the issue on JDK issue tracking
https://bugs.openjdk.java.net/browse/JDK-8253996

Basically -Xdoclint:missing does not work anymore when you run javac inside
the same JVM as Maven core, because the JVM lacks the jdk.javadoc module.
If you run javac in "fork" mode the problem is not present because the
external "javac" program loads correctly jdk.javadoc module and is able to
execute "-Xdoclint"

it looks like we have to fix it on Maven, I am not sure the problem is
about maven-compiler-plugin or plexus compiler, as it is because the JVM
that executes Maven core lacks the jdk.javadoc module.

On the JDK side it looks like the issue is to be closed as "works for me"


Thoughts?
Enrico
Reply | Threaded
Open this post in threaded view
|

Re: Maven issue with JDK16 - javac and javadoc

Enrico Olivelli
Is anyone interested in helping with this problem?

Otherwise with the advent of jdk16 we will probably see people that need to
switch to fork mode for javac, with slower builds, and we will see
complaints from users

The problem probably is is plexus compiler and the way we start javac, we
should enable jdk.javadoc module

Unfortunately I don't have time

Enrico

Il Gio 12 Nov 2020, 13:59 Enrico Olivelli <[hidden email]> ha scritto:

> Yes, the problem is about javac with "no-fork + -Xdoclint"
>
> using no-fork is not a good option because it slows down a lot big multi
> module projects
>
> Enrico
>
> Il giorno gio 12 nov 2020 alle ore 13:55 Romain Manni-Bucau <
> [hidden email]> ha scritto:
>
>> @Graham I guess you can force the compiler to fork and force doclint to
>> none in javadoc plugin config (ensure to use a recent version).
>>
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> <https://rmannibucau.metawerx.net/> | Old Blog
>> <http://rmannibucau.wordpress.com> | Github <
>> https://github.com/rmannibucau> |
>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>> <
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>> >
>>
>>
>> Le jeu. 12 nov. 2020 à 13:51, Graham Leggett <[hidden email]> a
>> écrit :
>>
>> > On 12 Nov 2020, at 14:03, Enrico Olivelli <[hidden email]> wrote:
>> >
>> > > I have fallen into this issue about Maven + Maven Compiler Plugin +
>> JDK16
>> > >
>> > > This is the issue on JDK issue tracking
>> > > https://bugs.openjdk.java.net/browse/JDK-8253996
>> > >
>> > > Basically -Xdoclint:missing does not work anymore when you run javac
>> > inside
>> > > the same JVM as Maven core, because the JVM lacks the jdk.javadoc
>> module.
>> > > If you run javac in "fork" mode the problem is not present because the
>> > > external "javac" program loads correctly jdk.javadoc module and is
>> able
>> > to
>> > > execute "-Xdoclint"
>> > >
>> > > it looks like we have to fix it on Maven, I am not sure the problem is
>> > > about maven-compiler-plugin or plexus compiler, as it is because the
>> JVM
>> > > that executes Maven core lacks the jdk.javadoc module.
>> > >
>> > > On the JDK side it looks like the issue is to be closed as "works for
>> me"
>> > >
>> > >
>> > > Thoughts?
>> >
>> > I have been smashing my head against the javadoc plugin and
>> > maven-release-plugin, which keeps failing releases over and over again
>> on
>> > the basis that the docs can’t be built.
>> >
>> > In the absence of a way to fix this, if there is a way to switch this
>> off
>> > it would help a huge amount.
>> >
>> > Regards,
>> > Graham
>> > —
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [hidden email]
>> > For additional commands, e-mail: [hidden email]
>> >
>> >
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Maven issue with JDK16 - javac and javadoc

bmarwell
Robert already suggested to use ToolProvider for the JDK9+ builds. I
created such a patch for jlink and I could create s similar one for the
compiler and javadoc plugin. This would solve the underlying problem from
my understanding.

As fork mode and fork count would not apply, I would suggest that the
ToolProvider is only used if fork mode is "no fork". This way, existing
configurations are not affected. Does that make sense?

Best regards,
Ben


On Sat, 12 Dec 2020, 20:49 Enrico Olivelli, <[hidden email]> wrote:

> Is anyone interested in helping with this problem?
>
> Otherwise with the advent of jdk16 we will probably see people that need to
> switch to fork mode for javac, with slower builds, and we will see
> complaints from users
>
> The problem probably is is plexus compiler and the way we start javac, we
> should enable jdk.javadoc module
>
> Unfortunately I don't have time
>
> Enrico
>
> Il Gio 12 Nov 2020, 13:59 Enrico Olivelli <[hidden email]> ha
> scritto:
>
> > Yes, the problem is about javac with "no-fork + -Xdoclint"
> >
> > using no-fork is not a good option because it slows down a lot big multi
> > module projects
> >
> > Enrico
> >
> > Il giorno gio 12 nov 2020 alle ore 13:55 Romain Manni-Bucau <
> > [hidden email]> ha scritto:
> >
> >> @Graham I guess you can force the compiler to fork and force doclint to
> >> none in javadoc plugin config (ensure to use a recent version).
> >>
> >> Romain Manni-Bucau
> >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >> <https://rmannibucau.metawerx.net/> | Old Blog
> >> <http://rmannibucau.wordpress.com> | Github <
> >> https://github.com/rmannibucau> |
> >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> >> <
> >>
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >> >
> >>
> >>
> >> Le jeu. 12 nov. 2020 à 13:51, Graham Leggett <[hidden email]>
> a
> >> écrit :
> >>
> >> > On 12 Nov 2020, at 14:03, Enrico Olivelli <[hidden email]>
> wrote:
> >> >
> >> > > I have fallen into this issue about Maven + Maven Compiler Plugin +
> >> JDK16
> >> > >
> >> > > This is the issue on JDK issue tracking
> >> > > https://bugs.openjdk.java.net/browse/JDK-8253996
> >> > >
> >> > > Basically -Xdoclint:missing does not work anymore when you run javac
> >> > inside
> >> > > the same JVM as Maven core, because the JVM lacks the jdk.javadoc
> >> module.
> >> > > If you run javac in "fork" mode the problem is not present because
> the
> >> > > external "javac" program loads correctly jdk.javadoc module and is
> >> able
> >> > to
> >> > > execute "-Xdoclint"
> >> > >
> >> > > it looks like we have to fix it on Maven, I am not sure the problem
> is
> >> > > about maven-compiler-plugin or plexus compiler, as it is because the
> >> JVM
> >> > > that executes Maven core lacks the jdk.javadoc module.
> >> > >
> >> > > On the JDK side it looks like the issue is to be closed as "works
> for
> >> me"
> >> > >
> >> > >
> >> > > Thoughts?
> >> >
> >> > I have been smashing my head against the javadoc plugin and
> >> > maven-release-plugin, which keeps failing releases over and over again
> >> on
> >> > the basis that the docs can’t be built.
> >> >
> >> > In the absence of a way to fix this, if there is a way to switch this
> >> off
> >> > it would help a huge amount.
> >> >
> >> > Regards,
> >> > Graham
> >> > —
> >> >
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: [hidden email]
> >> > For additional commands, e-mail: [hidden email]
> >> >
> >> >
> >>
> >
Reply | Threaded
Open this post in threaded view
|

Re: Maven issue with JDK16 - javac and javadoc

Enrico Olivelli
Il Dom 13 Dic 2020, 11:38 Benjamin Marwell <[hidden email]> ha scritto:

> Robert already suggested to use ToolProvider for the JDK9+ builds. I
> created such a patch for jlink and I could create s similar one for the
> compiler and javadoc plugin. This would solve the underlying problem from
> my understanding.
>

Makes sense to me.

Btw the problem here is only with javac, not javadoc.
The problem is that javac doesn't see jdk.javadoc module while running
inside Maven process.
This module is needed when using-Xdoclint that depends on javadoc

Thanks
Please ping me when you have a patch I will be happy to test it

Enrico


> As fork mode and fork count would not apply, I would suggest that the
> ToolProvider is only used if fork mode is "no fork". This way, existing
> configurations are not affected. Does that make sense?
>
> Best regards,
> Ben
>
>
> On Sat, 12 Dec 2020, 20:49 Enrico Olivelli, <[hidden email]> wrote:
>
> > Is anyone interested in helping with this problem?
> >
> > Otherwise with the advent of jdk16 we will probably see people that need
> to
> > switch to fork mode for javac, with slower builds, and we will see
> > complaints from users
> >
> > The problem probably is is plexus compiler and the way we start javac, we
> > should enable jdk.javadoc module
> >
> > Unfortunately I don't have time
> >
> > Enrico
> >
> > Il Gio 12 Nov 2020, 13:59 Enrico Olivelli <[hidden email]> ha
> > scritto:
> >
> > > Yes, the problem is about javac with "no-fork + -Xdoclint"
> > >
> > > using no-fork is not a good option because it slows down a lot big
> multi
> > > module projects
> > >
> > > Enrico
> > >
> > > Il giorno gio 12 nov 2020 alle ore 13:55 Romain Manni-Bucau <
> > > [hidden email]> ha scritto:
> > >
> > >> @Graham I guess you can force the compiler to fork and force doclint
> to
> > >> none in javadoc plugin config (ensure to use a recent version).
> > >>
> > >> Romain Manni-Bucau
> > >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > >> <https://rmannibucau.metawerx.net/> | Old Blog
> > >> <http://rmannibucau.wordpress.com> | Github <
> > >> https://github.com/rmannibucau> |
> > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > >> <
> > >>
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >> >
> > >>
> > >>
> > >> Le jeu. 12 nov. 2020 à 13:51, Graham Leggett <[hidden email]
> >
> > a
> > >> écrit :
> > >>
> > >> > On 12 Nov 2020, at 14:03, Enrico Olivelli <[hidden email]>
> > wrote:
> > >> >
> > >> > > I have fallen into this issue about Maven + Maven Compiler Plugin
> +
> > >> JDK16
> > >> > >
> > >> > > This is the issue on JDK issue tracking
> > >> > > https://bugs.openjdk.java.net/browse/JDK-8253996
> > >> > >
> > >> > > Basically -Xdoclint:missing does not work anymore when you run
> javac
> > >> > inside
> > >> > > the same JVM as Maven core, because the JVM lacks the jdk.javadoc
> > >> module.
> > >> > > If you run javac in "fork" mode the problem is not present because
> > the
> > >> > > external "javac" program loads correctly jdk.javadoc module and is
> > >> able
> > >> > to
> > >> > > execute "-Xdoclint"
> > >> > >
> > >> > > it looks like we have to fix it on Maven, I am not sure the
> problem
> > is
> > >> > > about maven-compiler-plugin or plexus compiler, as it is because
> the
> > >> JVM
> > >> > > that executes Maven core lacks the jdk.javadoc module.
> > >> > >
> > >> > > On the JDK side it looks like the issue is to be closed as "works
> > for
> > >> me"
> > >> > >
> > >> > >
> > >> > > Thoughts?
> > >> >
> > >> > I have been smashing my head against the javadoc plugin and
> > >> > maven-release-plugin, which keeps failing releases over and over
> again
> > >> on
> > >> > the basis that the docs can’t be built.
> > >> >
> > >> > In the absence of a way to fix this, if there is a way to switch
> this
> > >> off
> > >> > it would help a huge amount.
> > >> >
> > >> > Regards,
> > >> > Graham
> > >> > —
> > >> >
> > >> >
> > >> >
> ---------------------------------------------------------------------
> > >> > To unsubscribe, e-mail: [hidden email]
> > >> > For additional commands, e-mail: [hidden email]
> > >> >
> > >> >
> > >>
> > >
>
Reply | Threaded
Open this post in threaded view
|

Re: Maven issue with JDK16 - javac and javadoc

bmarwell
In reply to this post by bmarwell
> If is has proven itself for jlink, then we know we can do the same for
all other tools.

I tested my PR with a JavaFX app and it did work. But there's no release
yet, only the ITs and my test project. But adding a parameter to disable
the ToolProvider as a fallback should not be a problem.

A test case should be ready by tomorrow morning, but I cannot make any
promises about the implementation, as I work on it only in my free time.
Possibly, there is quite a bit of code to refactor as we want to have as
few code duplication as possible.

Please do ourselves a favour and vote for all MultiRelease (MR) issues at
jetbrains. They currently do not support MR projects, and it is a PIT* to
develop for MR jars (from an IDE perspective). Thanks. 😉

Ben



On Sun, 13 Dec 2020, 13:38 Robert Scholte, <[hidden email]> wrote:

> Yes, that makes a lot of sense. If is has proven itself for jlink, then we
> know we can do the same for all other tools.
> If we have a good feeling about the implementation, we could use it at
> reference for other plugins as some kind of pattern.
>
> Robert
> On 13-12-2020 11:39:02, Benjamin Marwell <[hidden email]> wrote:
> Robert already suggested to use ToolProvider for the JDK9+ builds. I
> created such a patch for jlink and I could create s similar one for the
> compiler and javadoc plugin. This would solve the underlying problem from
> my understanding.
>
> As fork mode and fork count would not apply, I would suggest that the
> ToolProvider is only used if fork mode is "no fork". This way, existing
> configurations are not affected. Does that make sense?
>
> Best regards,
> Ben
>
>
> On Sat, 12 Dec 2020, 20:49 Enrico Olivelli, wrote:
>
> > Is anyone interested in helping with this problem?
> >
> > Otherwise with the advent of jdk16 we will probably see people that need
> to
> > switch to fork mode for javac, with slower builds, and we will see
> > complaints from users
> >
> > The problem probably is is plexus compiler and the way we start javac, we
> > should enable jdk.javadoc module
> >
> > Unfortunately I don't have time
> >
> > Enrico
> >
> > Il Gio 12 Nov 2020, 13:59 Enrico Olivelli ha
> > scritto:
> >
> > > Yes, the problem is about javac with "no-fork + -Xdoclint"
> > >
> > > using no-fork is not a good option because it slows down a lot big
> multi
> > > module projects
> > >
> > > Enrico
> > >
> > > Il giorno gio 12 nov 2020 alle ore 13:55 Romain Manni-Bucau
> > > [hidden email]> ha scritto:
> > >
> > >> @Graham I guess you can force the compiler to fork and force doclint
> to
> > >> none in javadoc plugin config (ensure to use a recent version).
> > >>
> > >> Romain Manni-Bucau
> > >> @rmannibucau | Blog
> > >> | Old Blog
> > >> | Github
> > >> https://github.com/rmannibucau> |
> > >> LinkedIn | Book
> > >>
> > >>
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >> >
> > >>
> > >>
> > >> Le jeu. 12 nov. 2020 à 13:51, Graham Leggett
> > a
> > >> écrit :
> > >>
> > >> > On 12 Nov 2020, at 14:03, Enrico Olivelli
> > wrote:
> > >> >
> > >> > > I have fallen into this issue about Maven + Maven Compiler Plugin
> +
> > >> JDK16
> > >> > >
> > >> > > This is the issue on JDK issue tracking
> > >> > > https://bugs.openjdk.java.net/browse/JDK-8253996
> > >> > >
> > >> > > Basically -Xdoclint:missing does not work anymore when you run
> javac
> > >> > inside
> > >> > > the same JVM as Maven core, because the JVM lacks the jdk.javadoc
> > >> module.
> > >> > > If you run javac in "fork" mode the problem is not present because
> > the
> > >> > > external "javac" program loads correctly jdk.javadoc module and is
> > >> able
> > >> > to
> > >> > > execute "-Xdoclint"
> > >> > >
> > >> > > it looks like we have to fix it on Maven, I am not sure the
> problem
> > is
> > >> > > about maven-compiler-plugin or plexus compiler, as it is because
> the
> > >> JVM
> > >> > > that executes Maven core lacks the jdk.javadoc module.
> > >> > >
> > >> > > On the JDK side it looks like the issue is to be closed as "works
> > for
> > >> me"
> > >> > >
> > >> > >
> > >> > > Thoughts?
> > >> >
> > >> > I have been smashing my head against the javadoc plugin and
> > >> > maven-release-plugin, which keeps failing releases over and over
> again
> > >> on
> > >> > the basis that the docs can’t be built.
> > >> >
> > >> > In the absence of a way to fix this, if there is a way to switch
> this
> > >> off
> > >> > it would help a huge amount.
> > >> >
> > >> > Regards,
> > >> > Graham
> > >> > —
> > >> >
> > >> >
> > >> >
> ---------------------------------------------------------------------
> > >> > To unsubscribe, e-mail: [hidden email]
> > >> > For additional commands, e-mail: [hidden email]
> > >> >
> > >> >
> > >>
> > >
>
Reply | Threaded
Open this post in threaded view
|

Re: Maven issue with JDK16 - javac and javadoc

bmarwell
I was able to provide a test, but the only solution to the underlying I
found was to modify the mvn start script by adding the missing modules (or
maybe even better: all system modules).

From what I could see from slack, plexus compiler would need to be a
module, requiring jdk.javadoc.

Thus, we could solve it in a maven release 3.6.4 if you wished, or the next
compiler plugin as soon as the next plexus javac dependency is available.

I wouldn't mind a 3.6.4 release and cherry picking the change to 4.0.0, as
that would be a quick solution.


On Sun, 13 Dec 2020, 17:12 Benjamin Marwell, <[hidden email]> wrote:

> JIRA issue (please kindly review):
> https://issues.apache.org/jira/browse/MCOMPILER-445
>
>
> Am So., 13. Dez. 2020 um 14:07 Uhr schrieb Benjamin Marwell <
> [hidden email]>:
>
>> > If is has proven itself for jlink, then we know we can do the same for
>> all other tools.
>>
>> I tested my PR with a JavaFX app and it did work. But there's no release
>> yet, only the ITs and my test project. But adding a parameter to disable
>> the ToolProvider as a fallback should not be a problem.
>>
>> A test case should be ready by tomorrow morning, but I cannot make any
>> promises about the implementation, as I work on it only in my free time.
>> Possibly, there is quite a bit of code to refactor as we want to have as
>> few code duplication as possible.
>>
>> Please do ourselves a favour and vote for all MultiRelease (MR) issues at
>> jetbrains. They currently do not support MR projects, and it is a PIT* to
>> develop for MR jars (from an IDE perspective). Thanks. 😉
>>
>> Ben
>>
>>
>>
>> On Sun, 13 Dec 2020, 13:38 Robert Scholte, <[hidden email]> wrote:
>>
>>> Yes, that makes a lot of sense. If is has proven itself for jlink, then
>>> we know we can do the same for all other tools.
>>> If we have a good feeling about the implementation, we could use it at
>>> reference for other plugins as some kind of pattern.
>>>
>>> Robert
>>> On 13-12-2020 11:39:02, Benjamin Marwell <[hidden email]> wrote:
>>> Robert already suggested to use ToolProvider for the JDK9+ builds. I
>>> created such a patch for jlink and I could create s similar one for the
>>> compiler and javadoc plugin. This would solve the underlying problem from
>>> my understanding.
>>>
>>> As fork mode and fork count would not apply, I would suggest that the
>>> ToolProvider is only used if fork mode is "no fork". This way, existing
>>> configurations are not affected. Does that make sense?
>>>
>>> Best regards,
>>> Ben
>>>
>>>
>>> On Sat, 12 Dec 2020, 20:49 Enrico Olivelli, wrote:
>>>
>>> > Is anyone interested in helping with this problem?
>>> >
>>> > Otherwise with the advent of jdk16 we will probably see people that
>>> need to
>>> > switch to fork mode for javac, with slower builds, and we will see
>>> > complaints from users
>>> >
>>> > The problem probably is is plexus compiler and the way we start javac,
>>> we
>>> > should enable jdk.javadoc module
>>> >
>>> > Unfortunately I don't have time
>>> >
>>> > Enrico
>>> >
>>> > Il Gio 12 Nov 2020, 13:59 Enrico Olivelli ha
>>> > scritto:
>>> >
>>> > > Yes, the problem is about javac with "no-fork + -Xdoclint"
>>> > >
>>> > > using no-fork is not a good option because it slows down a lot big
>>> multi
>>> > > module projects
>>> > >
>>> > > Enrico
>>> > >
>>> > > Il giorno gio 12 nov 2020 alle ore 13:55 Romain Manni-Bucau
>>> > > [hidden email]> ha scritto:
>>> > >
>>> > >> @Graham I guess you can force the compiler to fork and force
>>> doclint to
>>> > >> none in javadoc plugin config (ensure to use a recent version).
>>> > >>
>>> > >> Romain Manni-Bucau
>>> > >> @rmannibucau | Blog
>>> > >> | Old Blog
>>> > >> | Github
>>> > >> https://github.com/rmannibucau> |
>>> > >> LinkedIn | Book
>>> > >>
>>> > >>
>>> >
>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>> > >> >
>>> > >>
>>> > >>
>>> > >> Le jeu. 12 nov. 2020 à 13:51, Graham Leggett
>>> > a
>>> > >> écrit :
>>> > >>
>>> > >> > On 12 Nov 2020, at 14:03, Enrico Olivelli
>>> > wrote:
>>> > >> >
>>> > >> > > I have fallen into this issue about Maven + Maven Compiler
>>> Plugin +
>>> > >> JDK16
>>> > >> > >
>>> > >> > > This is the issue on JDK issue tracking
>>> > >> > > https://bugs.openjdk.java.net/browse/JDK-8253996
>>> > >> > >
>>> > >> > > Basically -Xdoclint:missing does not work anymore when you run
>>> javac
>>> > >> > inside
>>> > >> > > the same JVM as Maven core, because the JVM lacks the
>>> jdk.javadoc
>>> > >> module.
>>> > >> > > If you run javac in "fork" mode the problem is not present
>>> because
>>> > the
>>> > >> > > external "javac" program loads correctly jdk.javadoc module and
>>> is
>>> > >> able
>>> > >> > to
>>> > >> > > execute "-Xdoclint"
>>> > >> > >
>>> > >> > > it looks like we have to fix it on Maven, I am not sure the
>>> problem
>>> > is
>>> > >> > > about maven-compiler-plugin or plexus compiler, as it is
>>> because the
>>> > >> JVM
>>> > >> > > that executes Maven core lacks the jdk.javadoc module.
>>> > >> > >
>>> > >> > > On the JDK side it looks like the issue is to be closed as
>>> "works
>>> > for
>>> > >> me"
>>> > >> > >
>>> > >> > >
>>> > >> > > Thoughts?
>>> > >> >
>>> > >> > I have been smashing my head against the javadoc plugin and
>>> > >> > maven-release-plugin, which keeps failing releases over and over
>>> again
>>> > >> on
>>> > >> > the basis that the docs can’t be built.
>>> > >> >
>>> > >> > In the absence of a way to fix this, if there is a way to switch
>>> this
>>> > >> off
>>> > >> > it would help a huge amount.
>>> > >> >
>>> > >> > Regards,
>>> > >> > Graham
>>> > >> > —
>>> > >> >
>>> > >> >
>>> > >> >
>>> ---------------------------------------------------------------------
>>> > >> > To unsubscribe, e-mail: [hidden email]
>>> > >> > For additional commands, e-mail: [hidden email]
>>> > >> >
>>> > >> >
>>> > >>
>>> > >
>>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Maven issue with JDK16 - javac and javadoc

rfscholte
I'm pretty sure this can be solved without touching the maven startup scripts.
And I don't like the idea to hack the script because one plugin has issues.
I expect good help on your question on the jigsaw mailinglist.

Robert
On 14-12-2020 15:21:04, Benjamin Marwell <[hidden email]> wrote:
I was able to provide a test, but the only solution to the underlying I
found was to modify the mvn start script by adding the missing modules (or
maybe even better: all system modules).

From what I could see from slack, plexus compiler would need to be a
module, requiring jdk.javadoc.

Thus, we could solve it in a maven release 3.6.4 if you wished, or the next
compiler plugin as soon as the next plexus javac dependency is available.

I wouldn't mind a 3.6.4 release and cherry picking the change to 4.0.0, as
that would be a quick solution.


On Sun, 13 Dec 2020, 17:12 Benjamin Marwell, wrote:

> JIRA issue (please kindly review):
> https://issues.apache.org/jira/browse/MCOMPILER-445
>
>
> Am So., 13. Dez. 2020 um 14:07 Uhr schrieb Benjamin Marwell <
> [hidden email]>:
>
>> > If is has proven itself for jlink, then we know we can do the same for
>> all other tools.
>>
>> I tested my PR with a JavaFX app and it did work. But there's no release
>> yet, only the ITs and my test project. But adding a parameter to disable
>> the ToolProvider as a fallback should not be a problem.
>>
>> A test case should be ready by tomorrow morning, but I cannot make any
>> promises about the implementation, as I work on it only in my free time.
>> Possibly, there is quite a bit of code to refactor as we want to have as
>> few code duplication as possible.
>>
>> Please do ourselves a favour and vote for all MultiRelease (MR) issues at
>> jetbrains. They currently do not support MR projects, and it is a PIT* to
>> develop for MR jars (from an IDE perspective). Thanks. 😉
>>
>> Ben
>>
>>
>>
>> On Sun, 13 Dec 2020, 13:38 Robert Scholte, wrote:
>>
>>> Yes, that makes a lot of sense. If is has proven itself for jlink, then
>>> we know we can do the same for all other tools.
>>> If we have a good feeling about the implementation, we could use it at
>>> reference for other plugins as some kind of pattern.
>>>
>>> Robert
>>> On 13-12-2020 11:39:02, Benjamin Marwell wrote:
>>> Robert already suggested to use ToolProvider for the JDK9+ builds. I
>>> created such a patch for jlink and I could create s similar one for the
>>> compiler and javadoc plugin. This would solve the underlying problem from
>>> my understanding.
>>>
>>> As fork mode and fork count would not apply, I would suggest that the
>>> ToolProvider is only used if fork mode is "no fork". This way, existing
>>> configurations are not affected. Does that make sense?
>>>
>>> Best regards,
>>> Ben
>>>
>>>
>>> On Sat, 12 Dec 2020, 20:49 Enrico Olivelli, wrote:
>>>
>>> > Is anyone interested in helping with this problem?
>>> >
>>> > Otherwise with the advent of jdk16 we will probably see people that
>>> need to
>>> > switch to fork mode for javac, with slower builds, and we will see
>>> > complaints from users
>>> >
>>> > The problem probably is is plexus compiler and the way we start javac,
>>> we
>>> > should enable jdk.javadoc module
>>> >
>>> > Unfortunately I don't have time
>>> >
>>> > Enrico
>>> >
>>> > Il Gio 12 Nov 2020, 13:59 Enrico Olivelli ha
>>> > scritto:
>>> >
>>> > > Yes, the problem is about javac with "no-fork + -Xdoclint"
>>> > >
>>> > > using no-fork is not a good option because it slows down a lot big
>>> multi
>>> > > module projects
>>> > >
>>> > > Enrico
>>> > >
>>> > > Il giorno gio 12 nov 2020 alle ore 13:55 Romain Manni-Bucau
>>> > > [hidden email]> ha scritto:
>>> > >
>>> > >> @Graham I guess you can force the compiler to fork and force
>>> doclint to
>>> > >> none in javadoc plugin config (ensure to use a recent version).
>>> > >>
>>> > >> Romain Manni-Bucau
>>> > >> @rmannibucau | Blog
>>> > >> | Old Blog
>>> > >> | Github
>>> > >> https://github.com/rmannibucau> |
>>> > >> LinkedIn | Book
>>> > >>
>>> > >>
>>> >
>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>> > >> >
>>> > >>
>>> > >>
>>> > >> Le jeu. 12 nov. 2020 à 13:51, Graham Leggett
>>> > a
>>> > >> écrit :
>>> > >>
>>> > >> > On 12 Nov 2020, at 14:03, Enrico Olivelli
>>> > wrote:
>>> > >> >
>>> > >> > > I have fallen into this issue about Maven + Maven Compiler
>>> Plugin +
>>> > >> JDK16
>>> > >> > >
>>> > >> > > This is the issue on JDK issue tracking
>>> > >> > > https://bugs.openjdk.java.net/browse/JDK-8253996
>>> > >> > >
>>> > >> > > Basically -Xdoclint:missing does not work anymore when you run
>>> javac
>>> > >> > inside
>>> > >> > > the same JVM as Maven core, because the JVM lacks the
>>> jdk.javadoc
>>> > >> module.
>>> > >> > > If you run javac in "fork" mode the problem is not present
>>> because
>>> > the
>>> > >> > > external "javac" program loads correctly jdk.javadoc module and
>>> is
>>> > >> able
>>> > >> > to
>>> > >> > > execute "-Xdoclint"
>>> > >> > >
>>> > >> > > it looks like we have to fix it on Maven, I am not sure the
>>> problem
>>> > is
>>> > >> > > about maven-compiler-plugin or plexus compiler, as it is
>>> because the
>>> > >> JVM
>>> > >> > > that executes Maven core lacks the jdk.javadoc module.
>>> > >> > >
>>> > >> > > On the JDK side it looks like the issue is to be closed as
>>> "works
>>> > for
>>> > >> me"
>>> > >> > >
>>> > >> > >
>>> > >> > > Thoughts?
>>> > >> >
>>> > >> > I have been smashing my head against the javadoc plugin and
>>> > >> > maven-release-plugin, which keeps failing releases over and over
>>> again
>>> > >> on
>>> > >> > the basis that the docs can’t be built.
>>> > >> >
>>> > >> > In the absence of a way to fix this, if there is a way to switch
>>> this
>>> > >> off
>>> > >> > it would help a huge amount.
>>> > >> >
>>> > >> > Regards,
>>> > >> > Graham
>>> > >> > —
>>> > >> >
>>> > >> >
>>> > >> >
>>> ---------------------------------------------------------------------
>>> > >> > To unsubscribe, e-mail: [hidden email]
>>> > >> > For additional commands, e-mail: [hidden email]
>>> > >> >
>>> > >> >
>>> > >>
>>> > >
>>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Maven issue with JDK16 - javac and javadoc

bmarwell
Hi, sorry for the late reply…

Enrico I think the latest version should work, and here is the IT (I just
didn’t create a PR yet):
https://github.com/apache/maven-compiler-plugin/pull/37

MCOMPILER-445/pom.xml succeeds, other tests fail because of an outdated
groovy plugin.
I will push another commit updating the groovy plugin, if you like.

WDYT?

Am Do., 7. Jan. 2021 um 14:10 Uhr schrieb Enrico Olivelli <
[hidden email]>:

> I am testing latest build of openjdk16,
> it seems to me that the problem has been resolved
>
> Benjamin,
> can you please try ?
>
> probably there is no need for a fix on Maven....
>
> Enrico
>
> Il giorno lun 14 dic 2020 alle ore 22:12 Benjamin Marwell <
> [hidden email]> ha scritto:
>
> > > I'm pretty sure this can be solved without touching the maven startup
> > scripts.
> > > And I don't like the idea to hack the script
> >
> > Agreed. I did not like the idea either, and even worse, I was unable to
> > reproduce the results I had.
> >
> >
> >
> > Am Mo., 14. Dez. 2020 um 21:58 Uhr schrieb Robert Scholte <
> > [hidden email]>:
> >
> > > I'm pretty sure this can be solved without touching the maven startup
> > > scripts.
> > > And I don't like the idea to hack the script because one plugin has
> > issues.
> > > I expect good help on your question on the jigsaw mailinglist.
> > >
> > > Robert
> > > On 14-12-2020 15:21:04, Benjamin Marwell <[hidden email]> wrote:
> > > I was able to provide a test, but the only solution to the underlying I
> > > found was to modify the mvn start script by adding the missing modules
> > (or
> > > maybe even better: all system modules).
> > >
> > > From what I could see from slack, plexus compiler would need to be a
> > > module, requiring jdk.javadoc.
> > >
> > > Thus, we could solve it in a maven release 3.6.4 if you wished, or the
> > next
> > > compiler plugin as soon as the next plexus javac dependency is
> available.
> > >
> > > I wouldn't mind a 3.6.4 release and cherry picking the change to 4.0.0,
> > as
> > > that would be a quick solution.
> > >
> > >
> > > On Sun, 13 Dec 2020, 17:12 Benjamin Marwell, wrote:
> > >
> > > > JIRA issue (please kindly review):
> > > > https://issues.apache.org/jira/browse/MCOMPILER-445
> > > >
> > > >
> > > > Am So., 13. Dez. 2020 um 14:07 Uhr schrieb Benjamin Marwell <
> > > > [hidden email]>:
> > > >
> > > >> > If is has proven itself for jlink, then we know we can do the same
> > for
> > > >> all other tools.
> > > >>
> > > >> I tested my PR with a JavaFX app and it did work. But there's no
> > release
> > > >> yet, only the ITs and my test project. But adding a parameter to
> > disable
> > > >> the ToolProvider as a fallback should not be a problem.
> > > >>
> > > >> A test case should be ready by tomorrow morning, but I cannot make
> any
> > > >> promises about the implementation, as I work on it only in my free
> > time.
> > > >> Possibly, there is quite a bit of code to refactor as we want to
> have
> > as
> > > >> few code duplication as possible.
> > > >>
> > > >> Please do ourselves a favour and vote for all MultiRelease (MR)
> issues
> > > at
> > > >> jetbrains. They currently do not support MR projects, and it is a
> PIT*
> > > to
> > > >> develop for MR jars (from an IDE perspective). Thanks. 😉
> > > >>
> > > >> Ben
> > > >>
> > > >>
> > > >>
> > > >> On Sun, 13 Dec 2020, 13:38 Robert Scholte, wrote:
> > > >>
> > > >>> Yes, that makes a lot of sense. If is has proven itself for jlink,
> > then
> > > >>> we know we can do the same for all other tools.
> > > >>> If we have a good feeling about the implementation, we could use it
> > at
> > > >>> reference for other plugins as some kind of pattern.
> > > >>>
> > > >>> Robert
> > > >>> On 13-12-2020 11:39:02, Benjamin Marwell wrote:
> > > >>> Robert already suggested to use ToolProvider for the JDK9+ builds.
> I
> > > >>> created such a patch for jlink and I could create s similar one for
> > the
> > > >>> compiler and javadoc plugin. This would solve the underlying
> problem
> > > from
> > > >>> my understanding.
> > > >>>
> > > >>> As fork mode and fork count would not apply, I would suggest that
> the
> > > >>> ToolProvider is only used if fork mode is "no fork". This way,
> > existing
> > > >>> configurations are not affected. Does that make sense?
> > > >>>
> > > >>> Best regards,
> > > >>> Ben
> > > >>>
> > > >>>
> > > >>> On Sat, 12 Dec 2020, 20:49 Enrico Olivelli, wrote:
> > > >>>
> > > >>> > Is anyone interested in helping with this problem?
> > > >>> >
> > > >>> > Otherwise with the advent of jdk16 we will probably see people
> that
> > > >>> need to
> > > >>> > switch to fork mode for javac, with slower builds, and we will
> see
> > > >>> > complaints from users
> > > >>> >
> > > >>> > The problem probably is is plexus compiler and the way we start
> > > javac,
> > > >>> we
> > > >>> > should enable jdk.javadoc module
> > > >>> >
> > > >>> > Unfortunately I don't have time
> > > >>> >
> > > >>> > Enrico
> > > >>> >
> > > >>> > Il Gio 12 Nov 2020, 13:59 Enrico Olivelli ha
> > > >>> > scritto:
> > > >>> >
> > > >>> > > Yes, the problem is about javac with "no-fork + -Xdoclint"
> > > >>> > >
> > > >>> > > using no-fork is not a good option because it slows down a lot
> > big
> > > >>> multi
> > > >>> > > module projects
> > > >>> > >
> > > >>> > > Enrico
> > > >>> > >
> > > >>> > > Il giorno gio 12 nov 2020 alle ore 13:55 Romain Manni-Bucau
> > > >>> > > [hidden email]> ha scritto:
> > > >>> > >
> > > >>> > >> @Graham I guess you can force the compiler to fork and force
> > > >>> doclint to
> > > >>> > >> none in javadoc plugin config (ensure to use a recent
> version).
> > > >>> > >>
> > > >>> > >> Romain Manni-Bucau
> > > >>> > >> @rmannibucau | Blog
> > > >>> > >> | Old Blog
> > > >>> > >> | Github
> > > >>> > >> https://github.com/rmannibucau> |
> > > >>> > >> LinkedIn | Book
> > > >>> > >>
> > > >>> > >>
> > > >>> >
> > > >>>
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > > >>> > >> >
> > > >>> > >>
> > > >>> > >>
> > > >>> > >> Le jeu. 12 nov. 2020 à 13:51, Graham Leggett
> > > >>> > a
> > > >>> > >> écrit :
> > > >>> > >>
> > > >>> > >> > On 12 Nov 2020, at 14:03, Enrico Olivelli
> > > >>> > wrote:
> > > >>> > >> >
> > > >>> > >> > > I have fallen into this issue about Maven + Maven Compiler
> > > >>> Plugin +
> > > >>> > >> JDK16
> > > >>> > >> > >
> > > >>> > >> > > This is the issue on JDK issue tracking
> > > >>> > >> > > https://bugs.openjdk.java.net/browse/JDK-8253996
> > > >>> > >> > >
> > > >>> > >> > > Basically -Xdoclint:missing does not work anymore when you
> > run
> > > >>> javac
> > > >>> > >> > inside
> > > >>> > >> > > the same JVM as Maven core, because the JVM lacks the
> > > >>> jdk.javadoc
> > > >>> > >> module.
> > > >>> > >> > > If you run javac in "fork" mode the problem is not present
> > > >>> because
> > > >>> > the
> > > >>> > >> > > external "javac" program loads correctly jdk.javadoc
> module
> > > and
> > > >>> is
> > > >>> > >> able
> > > >>> > >> > to
> > > >>> > >> > > execute "-Xdoclint"
> > > >>> > >> > >
> > > >>> > >> > > it looks like we have to fix it on Maven, I am not sure
> the
> > > >>> problem
> > > >>> > is
> > > >>> > >> > > about maven-compiler-plugin or plexus compiler, as it is
> > > >>> because the
> > > >>> > >> JVM
> > > >>> > >> > > that executes Maven core lacks the jdk.javadoc module.
> > > >>> > >> > >
> > > >>> > >> > > On the JDK side it looks like the issue is to be closed as
> > > >>> "works
> > > >>> > for
> > > >>> > >> me"
> > > >>> > >> > >
> > > >>> > >> > >
> > > >>> > >> > > Thoughts?
> > > >>> > >> >
> > > >>> > >> > I have been smashing my head against the javadoc plugin and
> > > >>> > >> > maven-release-plugin, which keeps failing releases over and
> > over
> > > >>> again
> > > >>> > >> on
> > > >>> > >> > the basis that the docs can’t be built.
> > > >>> > >> >
> > > >>> > >> > In the absence of a way to fix this, if there is a way to
> > switch
> > > >>> this
> > > >>> > >> off
> > > >>> > >> > it would help a huge amount.
> > > >>> > >> >
> > > >>> > >> > Regards,
> > > >>> > >> > Graham
> > > >>> > >> > —
> > > >>> > >> >
> > > >>> > >> >
> > > >>> > >> >
> > > >>>
> ---------------------------------------------------------------------
> > > >>> > >> > To unsubscribe, e-mail: [hidden email]
> > > >>> > >> > For additional commands, e-mail: [hidden email]
> > > >>> > >> >
> > > >>> > >> >
> > > >>> > >>
> > > >>> > >
> > > >>>
> > > >>
> > >
> >
>