A pull request would be great!

Paul.


On Sun, May 18, 2025 at 2:33 AM James Daugherty <jdaughe...@jdresources.net>
wrote:

> Hi Everyone,
>
> I am trying to modernize the Apache Grails code base since we're using
> Groovy 4.0.26 & Java 17 as a baseline.  In our gradle project, we have the
> language level set to Java 17.  We also have java files in our groovy
> source sets.  After updating our java files to use more modern features,
> I'm getting a failure when running groovydoc.  An example of this is:
>
> > Task :grails-core:groovydoc
> Attempting to ignore error parsing Java source file:
> org/grails/plugins/DefaultGrailsPlugin.java
> Consider reporting the error to the Groovy project:
> https://issues.apache.org/jira/browse/GROOVY
> ... or directly to the JavaParser project:
> https://github.com/javaparser/javaparser/issues
> Error: (line 181,col 13) Use of patterns with instanceof is not supported.
> Pay attention that this feature is supported starting from 'JAVA_14'
> language level. If you need that feature the language level must be
> configured in the configuration before parsing the source files.
>
> The cause for this error is groovydoc uses the JavaParser library and its
> default language level is set to a lower value (it currently defaults to
> the popular language level which is Java 11).  If I was using this library
> directly, I would set this option to force a specific java version:
>
>
> StaticJavaParser.getConfiguration().setLanguageLevel(ParserConfiguration.LanguageLevel.JAVA_17)
>
> I searched
> https://github.com/apache/groovy/blob/master/subprojects/groovy-groovydoc
> and I don't see a level being set.  I also don't see any mention of this in
> jira.  Finally, I don't see any documented parameters where this can be
> set: https://groovy-lang.org/groovydoc.html
>
> Is anyone aware of how to set this language level for the existing
> groovydoc task?  Would an argument to groovydoc be the preferred way to set
> this language level?  If such a flag were added, I could request a gradle
> upstream change to set this flag based on the project language level.  Has
> this issue been raised before?
>
> I'm happy to submit a pull request to make this change, but thought I'd
> check here first on how best to add this support or if I've missed some
> other way to set the language level.
>
> -James
>

Reply via email to