graphql-java-generator / graphql-maven-plugin-project

graphql-maven-plugin is a Maven Plugin for GraphQL, based on graphql-java. It accelerates the development for both the client and the server, by generating the Java code. It allows a quicker development when in contract-first approach, by avoiding to code the boilerplate code.
https://graphql-maven-plugin-project.graphql-java-generator.com
MIT License
115 stars 47 forks source link

Scalar implementations are not found, when migrating to 2.x Version #213

Closed thomson90 closed 1 week ago

thomson90 commented 1 month ago

During a migration from Spring Boot 2 to 3, I am currently upgrading from version 1.18.9 to 2.4. All files could be compiled and code generation works. When i am starting the application, I get this exception:

Caused by: graphql.schema.idl.errors.SchemaProblem: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no...,]

    at graphql.schema.idl.SchemaGenerator.makeExecutableSchema(SchemaGenerator.java:81) ~[graphql-java-20.4.jar:na]
    at graphql.schema.idl.SchemaGenerator.makeExecutableSchema(SchemaGenerator.java:57) ~[graphql-java-20.4.jar:na]
    at org.springframework.graphql.execution.DefaultSchemaResourceGraphQlSourceBuilder.initGraphQlSchema(DefaultSchemaResourceGraphQlSourceBuilder.java:162) ~[spring-graphql-1.2.6.jar:1.2.6]
    at org.springframework.graphql.execution.AbstractGraphQlSourceBuilder.build(AbstractGraphQlSourceBuilder.java:105) ~[spring-graphql-1.2.6.jar:1.2.6]
    at org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration.graphQlSource(GraphQlAutoConfiguration.java:115) ~[spring-boot-autoconfigure-3.2.6.jar:3.2.6]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 87 common frames omitted

I added all customScalars to the gradle file...

customScalars =
  [
    [
      graphQLTypeName             : "AlertManagementHttpIntegrationID",
      javaType                    : "java.lang.String",
      graphQLScalarTypeStaticField: "graphql.Scalars.GraphQLString"
    ],
    [
      graphQLTypeName             : "AwardableID",
      javaType                    : "java.lang.String",
      graphQLScalarTypeStaticField: "graphql.Scalars.GraphQLString"
    ],
    ...
  ]

I have rigorus followed your migration guide and made all changes you mentioned. To help you understand the error, I have created a branch that includes the migration to Spring 3 and uses the corresponding dependencies. You can check out the Project here: graphgl-generator-example. You see that everthing works on master branch with the old version including the tests (simply use gradle build -x test and then ./gradlew bootRun). But when u switch from the branch 'master' to the 'migration-to-spring3' branch u get the errors shown above.

I hope you can help. Thanks in advance.

etienne-sf commented 1 month ago

Hello,

I tried to build your project, but it doesn't seem to be compatible with java 21

The graphql scalars are not part of the plugin package. The graphql.Scalars.* are part of the graphql-java-extended-scalars dependency. You have to add yourself this dependency into your project.

You also have to take care of its version: it must match the graphq-java version (check the graphql-java-extended-scalars doc for all the information).

In your migration-to-spring3 branch, the dependency to add should be:

    implementation 'com.graphql-java:graphql-java-extended-scalars:20.2'

Etienne

thomson90 commented 4 weeks ago

Thanks for your support!

I added the dependency, but that didn't fix the error. I also compared your example code, which uses the same package, with my code, and I couldn't identify the issue 😩. I still get the same error.

Indeed, it's strange that the code you see in the master branch works, even though the build.gradle file doesn't use the dependency you mentioned.

My project is compatible with Java 17. I am doing a step-by-step upgrade and will use the latest Java and Spring versions only when everything is working.

etienne-sf commented 4 weeks ago

I added the dependency, but that didn't fix the error. I also compared your example code, which uses the same package, with my code, and I couldn't identify the issue 😩. I still get the same error.

In this sample, the graphql-java-extended-scalars is provided:

dependencies {
    // And the Jackson annotations
    implementation "com.fasterxml.jackson.core:jackson-databind"
    // This project uses some custom scalars from the graphql-java-extended-scalars module
    implementation "com.graphql-java:graphql-java-extended-scalars:${graphqlJavaExtendedScalarsVersion}"

    // Dependencies for tests
    testImplementation "org.springframework.boot:spring-boot-starter-test"
}

My project is compatible with Java 17. I am doing a step-by-step upgrade and will use the latest Java and Spring versions only when everything is working.

That seems to be a good idea! :)

thomson90 commented 4 weeks ago

In this sample, the graphql-java-extended-scalars is provided

I know. But if I add this dependency, the error is not fixed. 😔

etienne-sf commented 4 weeks ago

That is strange.

Can you provide here the build.gradle file?

And the reported error from the build?

thomson90 commented 4 weeks ago

Sure.

Can you provide here the build.gradle file?

You can find the build.gradle file here here and the part of the generateClientCodeConf here

And the reported error from the build?

The complete error is this one (occurs at the startup of spring server):

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-06-11T22:25:30.962+02:00 ERROR 14132 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'routerFunctionMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Error creating bean with name 'graphQlRouterFunction' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'graphQlRouterFunction' parameter 0: Error creating bean with name 'graphQlHttpHandler' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'graphQlHttpHandler' parameter 0: Error creating bean with name 'webGraphQlHandler' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'webGraphQlHandler' parameter 0: Error creating bean with name 'executionGraphQlService' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Unsatisfied dependency expressed through method 'executionGraphQlService' parameter 0: Error creating bean with name 'graphQlSource' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Failed to instantiate [org.springframework.graphql.execution.GraphQlSource]: Factory method 'graphQlSource' threw exception with message: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:962) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.6.jar:3.2.6]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.6.jar:3.2.6]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.6.jar:3.2.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) ~[spring-boot-3.2.6.jar:3.2.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363) ~[spring-boot-3.2.6.jar:3.2.6]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352) ~[spring-boot-3.2.6.jar:3.2.6]
    at de.myCompany.myProject.Application.main(Application.java:24) ~[main/:na]
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'graphQlRouterFunction' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'graphQlRouterFunction' parameter 0: Error creating bean with name 'graphQlHttpHandler' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'graphQlHttpHandler' parameter 0: Error creating bean with name 'webGraphQlHandler' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'webGraphQlHandler' parameter 0: Error creating bean with name 'executionGraphQlService' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Unsatisfied dependency expressed through method 'executionGraphQlService' parameter 0: Error creating bean with name 'graphQlSource' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Failed to instantiate [org.springframework.graphql.execution.GraphQlSource]: Factory method 'graphQlSource' threw exception with message: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:795) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:542) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory$1.orderedStream(DefaultListableBeanFactory.java:473) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.web.servlet.function.support.RouterFunctionMapping.initRouterFunctions(RouterFunctionMapping.java:152) ~[spring-webmvc-6.1.8.jar:6.1.8]
    at org.springframework.web.servlet.function.support.RouterFunctionMapping.afterPropertiesSet(RouterFunctionMapping.java:130) ~[spring-webmvc-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1835) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 16 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'graphQlHttpHandler' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'graphQlHttpHandler' parameter 0: Error creating bean with name 'webGraphQlHandler' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'webGraphQlHandler' parameter 0: Error creating bean with name 'executionGraphQlService' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Unsatisfied dependency expressed through method 'executionGraphQlService' parameter 0: Error creating bean with name 'graphQlSource' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Failed to instantiate [org.springframework.graphql.execution.GraphQlSource]: Factory method 'graphQlSource' threw exception with message: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:795) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:542) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:904) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:782) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 30 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webGraphQlHandler' defined in class path resource [org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.class]: Unsatisfied dependency expressed through method 'webGraphQlHandler' parameter 0: Error creating bean with name 'executionGraphQlService' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Unsatisfied dependency expressed through method 'executionGraphQlService' parameter 0: Error creating bean with name 'graphQlSource' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Failed to instantiate [org.springframework.graphql.execution.GraphQlSource]: Factory method 'graphQlSource' threw exception with message: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:795) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:542) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:904) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:782) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 44 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'executionGraphQlService' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Unsatisfied dependency expressed through method 'executionGraphQlService' parameter 0: Error creating bean with name 'graphQlSource' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Failed to instantiate [org.springframework.graphql.execution.GraphQlSource]: Factory method 'graphQlSource' threw exception with message: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:795) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:542) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:904) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:782) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 58 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'graphQlSource' defined in class path resource [org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.class]: Failed to instantiate [org.springframework.graphql.execution.GraphQlSource]: Factory method 'graphQlSource' threw exception with message: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:648) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:904) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:782) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 72 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.graphql.execution.GraphQlSource]: Factory method 'graphQlSource' threw exception with message: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:177) ~[spring-beans-6.1.8.jar:6.1.8]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 86 common frames omitted
Caused by: graphql.schema.idl.errors.SchemaProblem: errors=[There is no scalar implementation for the named  'AlertManagementHttpIntegrationID' scalar type, There is no scalar implementation for the named  'AwardableID' scalar type, There is no scalar implementation for the named  'BigInt' scalar type, There is no scalar implementation for the named  'BoardID' scalar type, There is no scalar implementation for the named  'CiBuildID' scalar type, There is no scalar implementation for the named  'CiJobArtifactID' scalar type, There is no scalar implementation for the named  'CiPipelineID' scalar type, There is no scalar implementation for the named  'CiPipelineScheduleID' scalar type, There is no scalar implementation for the named  'CiRunnerID' scalar type, There is no scalar implementation for the named  'ClustersAgentID' scalar type, There is no scalar implementation for the named  'ClustersAgentTokenID' scalar type, There is no scalar implementation for the named  'ClustersClusterID' scalar type, There is no scalar implementation for the named  'Color' scalar type, There is no scalar implementation for the named  'ContainerRepositoryID' scalar type, There is no scalar implementation for the named  'CustomEmojiID' scalar type, There is no scalar implementation for the named  'CustomerRelationsContactID' scalar type, There is no scalar implementation for the named  'CustomerRelationsOrganizationID' scalar type, There is no scalar implementation for the named  'Date' scalar type, There is no scalar implementation for the named  'DependencyProxyManifestID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignAtVersionID' scalar type, There is no scalar implementation for the named  'DesignManagementDesignID' scalar type, There is no scalar implementation for the named  'DesignManagementVersionID' scalar type, There is no scalar implementation for the named  'DiffNoteID' scalar type, There is no scalar implementation for the named  'DiscussionID' scalar type, There is no scalar implementation for the named  'Duration' scalar type, There is no scalar implementation for the named  'EnvironmentID' scalar type, There is no scalar implementation for the named  'GitlabErrorTrackingDetailedErrorID' scalar type, There is no scalar implementation for the named  'GlobalID' scalar type, There is no scalar implementation for the named  'GroupID' scalar type, There is no scalar implementation for the named  'ISO8601Date' scalar type, There is no scalar implementation for the named  'IncidentManagementTimelineEventID' scalar type, There is no scalar implementation for the named  'IntegrationsPrometheusID' scalar type, There is no scalar implementation for the named  'IssuableID' scalar type, There is no scalar implementation for the named  'IssueID' scalar type, There is no scalar implementation for the named  'JSON' scalar type, There is no scalar implementation for the named  'JobID' scalar type, There is no scalar implementation for the named  'LabelID' scalar type, There is no scalar implementation for the named  'ListID' scalar type, There is no scalar implementation for the named  'MergeRequestID' scalar type, There is no scalar implementation for the named  'MetricsDashboardAnnotationID' scalar type, There is no scalar implementation for the named  'MilestoneID' scalar type, There is no scalar implementation for the named  'NoteID' scalar type, There is no scalar implementation for the named  'NoteableID' scalar type, There is no scalar implementation for the named  'PackagesConanFileMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesConanMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesDependencyID' scalar type, There is no scalar implementation for the named  'PackagesDependencyLinkID' scalar type, There is no scalar implementation for the named  'PackagesMavenMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetDependencyLinkMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesNugetMetadatumID' scalar type, There is no scalar implementation for the named  'PackagesPackageFileID' scalar type, There is no scalar implementation for the named  'PackagesPackageID' scalar type, There is no scalar implementation for the named  'PackagesPypiMetadatumID' scalar type, There is no scalar implementation for the named  'ProjectID' scalar type, There is no scalar implementation for the named  'ReleaseID' scalar type, There is no scalar implementation for the named  'ReleasesLinkID' scalar type, There is no scalar implementation for the named  'SnippetID' scalar type, There is no scalar implementation for the named  'TerraformStateID' scalar type, There is no scalar implementation for the named  'Time' scalar type, There is no scalar implementation for the named  'TimelogID' scalar type, There is no scalar implementation for the named  'TodoID' scalar type, There is no scalar implementation for the named  'TodoableID' scalar type, There is no scalar implementation for the named  'UntrustedRegexp' scalar type, There is no scalar implementation for the named  'Upload' scalar type, There is no scalar implementation for the named  'UploadID' scalar type, There is no scalar implementation for the named  'UserID' scalar type, There is no scalar implementation for the named  'UsersSavedReplyID' scalar type, There is no scalar implementation for the named  'WorkItemID' scalar type, There is no scalar implementation for the named  'WorkItemsTypeID' scalar type]
    at graphql.schema.idl.SchemaGenerator.makeExecutableSchema(SchemaGenerator.java:81) ~[graphql-java-20.4.jar:na]
    at graphql.schema.idl.SchemaGenerator.makeExecutableSchema(SchemaGenerator.java:57) ~[graphql-java-20.4.jar:na]
    at org.springframework.graphql.execution.DefaultSchemaResourceGraphQlSourceBuilder.initGraphQlSchema(DefaultSchemaResourceGraphQlSourceBuilder.java:162) ~[spring-graphql-1.2.6.jar:1.2.6]
    at org.springframework.graphql.execution.AbstractGraphQlSourceBuilder.build(AbstractGraphQlSourceBuilder.java:105) ~[spring-graphql-1.2.6.jar:1.2.6]
    at org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration.graphQlSource(GraphQlAutoConfiguration.java:115) ~[spring-boot-autoconfigure-3.2.6.jar:3.2.6]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ~[spring-beans-6.1.8.jar:6.1.8]
    ... 87 common frames omitted

To me, the error message indicates that the custom scalar types are not being registered automatically for some reason. Have I forgotten something, perhaps an annotation, or is this a bug?

etienne-sf commented 3 weeks ago

Hello,

I didn't see the ´ graphql-java-extended-scalars’ dependency.

Can you add it, and retry ?

Étienne

thomson90 commented 3 weeks ago

Sorry, I just hadn't pushed the change yet. I did it now, but the error is still the same...

etienne-sf commented 3 weeks ago

Hello,

I'm lost here.

I just checkouted the provided sample, and:

2024-06-16 12:47:54.867 INFO 2464 --- [ main] de.myCompany.myProject.Application : Starting Application using Java 17.0.1 on GM0WINLTX with PID 2464 (C:\Users\gauthiereti\git\graphql-generator-example (issue 213)\bin\main started by gauthiereti in C:\Users\gauthiereti\git\graphql-generator-example (issue 213)) 2024-06-16 12:47:54.873 INFO 2464 --- [ main] de.myCompany.myProject.Application : No active profile set, falling back to 1 default profile: "default" 2024-06-16 12:48:06.303 INFO 2464 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8443 (http) 2024-06-16 12:48:06.380 INFO 2464 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-06-16 12:48:06.381 INFO 2464 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.83] 2024-06-16 12:48:07.844 INFO 2464 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-06-16 12:48:07.844 INFO 2464 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 12791 ms 2024-06-16 12:48:17.103 WARN 2464 --- [ main] .s.s.UserDetailsServiceAutoConfiguration :

Using generated security password: 0bb3c2d2-192d-4b4d-b5ff-72fdd1578364

This generated password is for development use only. Your security configuration must be updated before running your application in production.

2024-06-16 12:48:17.497 INFO 2464 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator' 2024-06-16 12:48:17.515 INFO 2464 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@5b490d5e, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1f6c4ae, org.springframework.security.web.context.SecurityContextPersistenceFilter@5ddb302, org.springframework.security.web.header.HeaderWriterFilter@4ab455e2, org.springframework.web.filter.CorsFilter@26270b77, org.springframework.security.web.csrf.CsrfFilter@6fd9dbe6, org.springframework.security.web.authentication.logout.LogoutFilter@67a6a2d0, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@6f112f70, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@92e2c93, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@b808af5, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@1c58d7be, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@cf9bd1e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@39acd1f1, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@18b04526, org.springframework.security.web.session.SessionManagementFilter@7ac685ef, org.springframework.security.web.access.ExceptionTranslationFilter@391d28ea, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@661db63e] 2024-06-16 12:48:17.588 WARN 2464 --- [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) 2024-06-16 12:48:17.830 INFO 2464 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8443 (http) with context path '' 2024-06-16 12:48:17.872 INFO 2464 --- [ main] de.myCompany.myProject.Application : Started Application in 23.972 seconds (JVM running for 26.951)



So what's really the issue ?
thomson90 commented 3 weeks ago

Did you use the 'migration-to-spring3' branch? Please use the 'migration-to-spring-3' branch and not the master branch and you will see all the errors.

The master branch works fine but only uses Spring 2 and not Spring 3. And yes, on 'master' there is no graphql-java-extended-scalars package needed (i don't know why). But i added graphql-java-extended-scalars on 'migration-to-spring-3' as u said.

etienne-sf commented 3 weeks ago

Hello, right, I was on the master branch.

So I can repeat the issue. I still need some work to correct it.

Étienne

thomson90 commented 3 weeks ago

That is kind of you! It gives me hope that we can continue to use your library.

etienne-sf commented 2 weeks ago

Hello,

You encountered two different issues, there !

  1. When provided a GraphQL custom scalar implementation, the plugin wouldn't override the GraphQL name of the provided scalar. For instance, a MyDate scalar definition would not work with the GraphQL extended scalar Date
  2. Your use of the Web VMC configuration triggers the creation of Spring graphQlSource, which is not used by the plugin. So it was not configured by it. I added the needed bean so that the graphQlSource is properly created

So there is no more error in the build, or when your Application class starts.

How can I check that it works also during the server execution?

Etienne

thomson90 commented 2 weeks ago

That sounds great!

How can I check that it works also during the server execution?

You want to know how to test if my provided example work against the graphql server?

Then you would need to create a GitLab account to use ther GitLab GraphQL API and call one of the provided methods of my provided example (e.g., createMergeRequest). But the project has a very high test coverage. So i assume everything works if the tests pass. The tests are automatically executed by running gradlew build.

I can test the changes to ensure they work, but I won't have time for it until a few days from now.

etienne-sf commented 2 weeks ago

I released the 2.7 version. Please confirm that it's ok for you

thomson90 commented 1 week ago

Yes! Everything works as espected. 🤗 On little question: During startup this message is displayed:

2024-06-27T16:21:44.714+02:00  INFO 22128 --- [           main] o.s.b.a.g.GraphQlAutoConfiguration       : GraphQL schema inspection:
    Unmapped fields: {Query=[boardList, ciApplicationSettings, ciConfig, ciVariables, containerRepository, currentUser, designManagement, echo, gitpodEnabled, group, issue, jobs, mergeRequest, metadata, milestone, namespace, package, project, projects, queryComplexity, runner, runnerPlatforms, runnerSetup, runners, snippets, timelogs, todo, topics, usageTrendsMeasurements, user, users, workItem], Mutation=[adminSidekiqQueuesDeleteJobs, alertSetAssignees, alertTodoCreate, artifactDestroy, awardEmojiAdd, awardEmojiRemove, awardEmojiToggle, boardListCreate, bulkRunnerDelete, ciCdSettingsUpdate, ciJobTokenScopeAddProject, ciJobTokenScopeRemoveProject, clusterAgentDelete, clusterAgentTokenCreate, clusterAgentTokenRevoke, commitCreate, configureSast, configureSastIac, configureSecretDetection, createAlertIssue, createAnnotation, createBoard, createBranch, createClusterAgent, createCustomEmoji, createDiffNote, createImageDiffNote, createIssue, createNote, createSnippet, customerRelationsContactCreate, customerRelationsContactUpdate, customerRelationsOrganizationCreate, customerRelationsOrganizationUpdate, deleteAnnotation, designManagementDelete, designManagementMove, designManagementUpload, destroyBoard, destroyBoardList, destroyContainerRepository, destroyContainerRepositoryTags, destroyCustomEmoji, destroyNote, destroyPackage, destroyPackageFile, destroyPackageFiles, destroyPackages, destroySnippet, discussionToggleResolve, echoCreate, environmentsCanaryIngressUpdate, groupUpdate, httpIntegrationCreate, httpIntegrationDestroy, httpIntegrationResetToken, httpIntegrationUpdate, issueMove, issueMoveList, issueSetAssignees, issueSetConfidential, issueSetCrmContacts, issueSetDueDate, issueSetEscalationStatus, issueSetLocked, issueSetSeverity, issueSetSubscription, jiraImportStart, jiraImportUsers, jobArtifactsDestroy, jobCancel, jobPlay, jobRetry, jobUnschedule, labelCreate, markAsSpamSnippet, mergeRequestAccept, mergeRequestCreate, mergeRequestReviewerRereview, mergeRequestSetAssignees, mergeRequestSetDraft, mergeRequestSetLabels, mergeRequestSetLocked, mergeRequestSetMilestone, mergeRequestSetReviewers, mergeRequestSetSubscription, mergeRequestUpdate, pagesMarkOnboardingComplete, pipelineCancel, pipelineDestroy, pipelineRetry, pipelineScheduleDelete, projectCiCdSettingsUpdate, prometheusIntegrationCreate, prometheusIntegrationResetToken, prometheusIntegrationUpdate, releaseAssetLinkCreate, releaseAssetLinkDelete, releaseAssetLinkUpdate, releaseCreate, releaseDelete, releaseUpdate, repositionImageDiffNote, runnerDelete, runnerUpdate, runnersRegistrationTokenReset, savedReplyCreate, savedReplyDestroy, savedReplyUpdate, terraformStateDelete, terraformStateLock, terraformStateUnlock, timelineEventCreate, timelineEventDestroy, timelineEventPromoteFromNote, timelineEventUpdate, timelogCreate, timelogDelete, todoCreate, todoMarkDone, todoRestore, todoRestoreMany, todosMarkAllDone, updateAlertStatus, updateBoard, updateBoardList, updateContainerExpirationPolicy, updateDependencyProxyImageTtlGroupPolicy, updateDependencyProxySettings, updateImageDiffNote, updateIssue, updateNamespacePackageSettings, updateNote, updatePackagesCleanupPolicy, updateSnippet, uploadDelete, userCalloutCreate, userPreferencesUpdate, workItemCreate, workItemCreateFromTask, workItemDelete, workItemDeleteTask, workItemUpdate, workItemUpdateTask], Subscription=[issuableAssigneesUpdated, issuableDatesUpdated, issuableDescriptionUpdated, issuableLabelsUpdated, issuableTitleUpdated, issueCrmContactsUpdated, mergeRequestMergeStatusUpdated, mergeRequestReviewersUpdated]}
    Unmapped registrations: {}
    Skipped types: []

I wonder why the inspection does not recognize that all fields mapped? Do you have any idea?

To check that behavior, you can check out the current 'migration-to-spring3' branch of my Project again.

etienne-sf commented 1 week ago

Hello,

Nice that this issue is corrected.

About this message : it's written by Spring Boot, not from the plugin itself. It seems that, in your configuration, you trigger the spring GraphQL configuration, that is not used by the plugin. You can ignore this message.