File tree Expand file tree Collapse file tree
src/main/java/org/javamodularity/moduleplugin Expand file tree Collapse file tree Original file line number Diff line number Diff line change 99import org .gradle .api .logging .Logger ;
1010import org .gradle .api .logging .Logging ;
1111import org .gradle .api .plugins .JavaPluginConvention ;
12+ import org .gradle .api .plugins .JavaPluginExtension ;
1213import org .gradle .api .tasks .SourceSet ;
14+ import org .gradle .util .GradleVersion ;
1315
1416import java .io .IOException ;
1517import java .nio .file .Files ;
@@ -23,8 +25,15 @@ class ModuleName {
2325 Optional <String > findModuleName (Project project ) {
2426 SourceSet main ;
2527 try {
26- JavaPluginConvention javaConvention = project .getConvention ().getPlugin (JavaPluginConvention .class );
27- main = javaConvention .getSourceSets ().getByName (SourceSet .MAIN_SOURCE_SET_NAME );
28+ if (GradleVersion .current ().compareTo (GradleVersion .version ("7.1" )) >= 0 ) {
29+ // JavaPluginExtension#getSourceSets() is supported from Gradle 7.1
30+ // https://docs.gradle.org/7.1/javadoc/org/gradle/api/plugins/JavaPluginExtension.html#getSourceSets--
31+ JavaPluginExtension javaPluginExtension = project .getExtensions ().getByType (JavaPluginExtension .class );
32+ main = javaPluginExtension .getSourceSets ().getByName (SourceSet .MAIN_SOURCE_SET_NAME );
33+ } else {
34+ JavaPluginConvention javaConvention = project .getConvention ().getPlugin (JavaPluginConvention .class );
35+ main = javaConvention .getSourceSets ().getByName (SourceSet .MAIN_SOURCE_SET_NAME );
36+ }
2837 } catch (IllegalStateException | UnknownDomainObjectException e ) {
2938 LOGGER .warn ("Cannot obtain JavaPluginConvention" , e );
3039 return Optional .empty ();
You can’t perform that action at this time.
0 commit comments