Skip to content

Deprecation warning with Gradle 9 #28

Description

@gjvoosten

Gradle 9 project.getProperties() has been deprecated:

> Task :graphql-gradle-plugin3:compileJava
…/graphql-gradle-plugin-project/graphql-gradle-plugin3/src/main/java/com/graphql_java_generator/gradleplugin/GraphQLPlugin.java:153: warning: [deprecation] getProperties() in Project has been deprecated
					SourceSet main = ((SourceSetContainer) project.getProperties().get("sourceSets"))
					                                              ^
…/graphql-gradle-plugin-project/graphql-gradle-plugin3/src/main/java/com/graphql_java_generator/gradleplugin/GraphQLPlugin.java:290: warning: [deprecation] getProperties() in Project has been deprecated
		SourceSet main = ((SourceSetContainer) project.getProperties().get("sourceSets"))
		                                              ^
2 warnings

Should be fixable with:

diff --git a/graphql-gradle-plugin3/src/main/java/com/graphql_java_generator/gradleplugin/GraphQLPlugin.java b/graphql-gradle-plugin3/src/main/java/com/graphql_java_generator/gradleplugin/GraphQLPlugin.java
index 7fbbc1f..72d30f1 100644
--- a/graphql-gradle-plugin3/src/main/java/com/graphql_java_generator/gradleplugin/GraphQLPlugin.java
+++ b/graphql-gradle-plugin3/src/main/java/com/graphql_java_generator/gradleplugin/GraphQLPlugin.java
@@ -150,8 +150,7 @@ public class GraphQLPlugin implements Plugin<Project> {
                                if (task instanceof GenerateCodeCommonTask) {
                                        GenerateCodeCommonTask t = (GenerateCodeCommonTask) task;
                                        // Let's add the folders where the sources and resources have been generated to the project
-                                       SourceSet main = ((SourceSetContainer) project.getProperties().get("sourceSets"))
-                                                       .getByName(SourceSet.MAIN_SOURCE_SET_NAME);
+                                       SourceSet main = getMainSourceSet(project);
                                        main.getJava().srcDir(t.getTargetSourceFolder());
 
                                        addGeneratedResourceFolder(project, task, t.getTargetResourceFolder());
@@ -182,6 +181,17 @@ public class GraphQLPlugin implements Plugin<Project> {
                return getProperties().get("graphqlMavenPluginLogic.version").toString();
        }
 
+       /**
+        * Get the main sourceSet of the project.
+        * 
+        * @param project the project
+        * @return the main sourceSet of the project
+        */
+       private SourceSet getMainSourceSet(Project project) {
+               return project.getExtensions().getByType(SourceSetContainer.class)
+                               .getByName(SourceSet.MAIN_SOURCE_SET_NAME);
+       }
+
        /** Manual reading of the application.properties file, as this is not a spring boot project. */
        private Properties getProperties() {
                if (properties == null) {
@@ -287,8 +297,7 @@ public class GraphQLPlugin implements Plugin<Project> {
 
        /** Add the given resource folder to the resource folders list, if it wasn't already added. */
        private void addGeneratedResourceFolder(Project project, Task task, File newResourcFolder) {
-               SourceSet main = ((SourceSetContainer) project.getProperties().get("sourceSets"))
-                               .getByName(SourceSet.MAIN_SOURCE_SET_NAME);
+               SourceSet main = getMainSourceSet(project);
                String newResourceFolder = newResourcFolder.getAbsolutePath();
                java.util.Optional<File> existingResourceFolder = main.getResources().getFiles().stream()
                                .filter(f -> f.getAbsolutePath().equals(newResourceFolder)).findFirst();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions