|
20 | 20 | import org.apache.maven.shared.model.fileset.FileSet; |
21 | 21 | import org.apache.maven.shared.model.fileset.util.FileSetManager; |
22 | 22 | import org.codehaus.gmavenplus.groovyworkarounds.GroovyDocTemplateInfo; |
| 23 | +import org.codehaus.gmavenplus.javaparser.LanguageLevel; |
23 | 24 | import org.codehaus.gmavenplus.model.IncludeClasspath; |
24 | 25 | import org.codehaus.gmavenplus.model.Link; |
25 | 26 | import org.codehaus.gmavenplus.model.Scopes; |
|
54 | 55 | */ |
55 | 56 | public abstract class AbstractGroovyDocMojo extends AbstractGroovySourcesMojo { |
56 | 57 |
|
| 58 | + /** |
| 59 | + * Groovy 5.0.0-beta-1 version. |
| 60 | + */ |
| 61 | + protected static final Version GROOVY_5_0_0_BETA_1 = new Version(5, 0, 0, "beta-1"); |
| 62 | + |
| 63 | + /** |
| 64 | + * Groovy 5.0.0-alpha-1 version. |
| 65 | + */ |
| 66 | + protected static final Version GROOVY_5_0_0_ALPHA_1 = new Version(5, 0, 0, "alpha-1"); |
| 67 | + |
| 68 | + /** |
| 69 | + * Groovy 4.0.27 version. |
| 70 | + */ |
| 71 | + protected static final Version GROOVY_4_0_27 = new Version(4, 0, 27); |
| 72 | + |
57 | 73 | /** |
58 | 74 | * Groovy 3.0.0 alpha-4 version. |
59 | 75 | */ |
@@ -97,6 +113,12 @@ public abstract class AbstractGroovyDocMojo extends AbstractGroovySourcesMojo { |
97 | 113 | @Parameter(defaultValue = "Groovy Documentation") |
98 | 114 | protected String footer; |
99 | 115 |
|
| 116 | + /** |
| 117 | + * The Java language level to use for GroovyDoc generation. |
| 118 | + */ |
| 119 | + @Parameter |
| 120 | + protected LanguageLevel languageLevel; |
| 121 | + |
100 | 122 | /** |
101 | 123 | * The page header. |
102 | 124 | */ |
@@ -426,7 +448,18 @@ protected List<?> setupLinks() throws ClassNotFoundException, InvocationTargetEx |
426 | 448 | */ |
427 | 449 | protected Object createGroovyDocTool(final Class<?> groovyDocToolClass, final Class<?> resourceManagerClass, final Properties docProperties, final Object classpathResourceManager, final List<String> sourceDirectories, final GroovyDocTemplateInfo groovyDocTemplateInfo, final List<?> groovyDocLinks) throws InvocationTargetException, IllegalAccessException, InstantiationException { |
428 | 450 | Object groovyDocTool; |
429 | | - if (groovyAtLeast(GROOVY_1_6_0_RC2)) { |
| 451 | + if ((groovyAtLeast(GROOVY_4_0_27) && groovyOlderThan(GROOVY_5_0_0_ALPHA_1)) || groovyAtLeast(GROOVY_5_0_0_BETA_1)) { |
| 452 | + groovyDocTool = invokeConstructor(findConstructor(groovyDocToolClass, resourceManagerClass, String[].class, String[].class, String[].class, String[].class, List.class, String.class, Properties.class), |
| 453 | + classpathResourceManager, |
| 454 | + sourceDirectories.toArray(new String[0]), |
| 455 | + defaultDocTemplates == null ? groovyDocTemplateInfo.defaultDocTemplates() : defaultDocTemplates, |
| 456 | + defaultPackageTemplates == null ? groovyDocTemplateInfo.defaultPackageTemplates() : defaultPackageTemplates, |
| 457 | + defaultClassTemplates == null ? groovyDocTemplateInfo.defaultClassTemplates() : defaultClassTemplates, |
| 458 | + groovyDocLinks, |
| 459 | + languageLevel, |
| 460 | + docProperties |
| 461 | + ); |
| 462 | + } else if (groovyAtLeast(GROOVY_1_6_0_RC2)) { |
430 | 463 | groovyDocTool = invokeConstructor(findConstructor(groovyDocToolClass, resourceManagerClass, String[].class, String[].class, String[].class, String[].class, List.class, Properties.class), |
431 | 464 | classpathResourceManager, |
432 | 465 | sourceDirectories.toArray(new String[0]), |
|
0 commit comments