zhfeng commented on code in PR #4677:
URL: https://github.com/apache/camel-quarkus/pull/4677#discussion_r1142826800
##########
extensions/jackson/deployment/pom.xml:
##########
@@ -45,6 +45,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jackson</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-joda</artifactId>
+ </dependency>
Review Comment:
I don't think we need it in `deployment`.
##########
extensions/jira/deployment/src/main/java/org/apache/camel/quarkus/component/jira/deployment/JiraProcessor.java:
##########
@@ -55,8 +54,121 @@ NativeImageResourceBuildItem nativeImageResources() {
}
@BuildStep
- ReflectiveClassBuildItem registerForReflection() {
- // Required by
org.apache.camel.component.jira.consumer.WatchUpdatesConsumer
- return new ReflectiveClassBuildItem(true, false,
Issue.class.getName());
+ List<ReflectiveClassBuildItem> registerReflectiveClasses() {
+ List<ReflectiveClassBuildItem> items = new ArrayList<>();
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Attachment.class));
+ items.add(
+ new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.AuditAssociatedItem.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.AuditChangedValue.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.AuditRecord.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.AuditRecordInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.AuditRecordsData.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Authentication.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicComponent.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicIssue.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicPriority.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicProject.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicProjectRole.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicUser.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicVotes.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BasicWatchers.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.BulkOperationErrorResult.class));
+ items.add(
+ new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.BulkOperationResult.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.ChangelogGroup.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.ChangelogItem.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.CimFieldInfo.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.CimIssueType.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.CimProject.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Comment.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Component.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.CustomFieldOption.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.EntityHelper.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Field.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.FieldSchema.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.FieldType.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Filter.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Group.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.AttachmentInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.AuditRecordBuilder.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.AuditRecordSearchInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.BaseValueTransformer.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.CannotTransformValueException.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.ComplexIssueInputFieldValue.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.ComponentInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.input.FieldInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.input.IssueInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.LinkIssuesInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.MyPermissionsInput.class));
+ items.add(
+ new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.input.PropertyInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.TransitionInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.input.UserInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.ValueTransformer.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.ValueTransformerManager.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.VersionInputBuilder.class));
+ items.add(
+ new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.input.VersionInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.input.VersionPosition.class));
+ items.add(
+ new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.input.WorklogInput.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Issue.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.IssueField.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.IssueFieldId.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.IssueLink.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.IssuelinksType.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.IssueLinkType.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.IssueType.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.LoginInfo.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Operation.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.OperationGroup.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.OperationHeader.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.OperationLink.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Operations.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.OperationVisitor.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Page.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Permission.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Permissions.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Priority.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Project.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.ProjectRole.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Resolution.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.RoleActor.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.SearchResult.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.SecurityLevel.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.ServerInfo.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Session.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.SessionCookie.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.StandardOperation.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Status.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Subtask.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.TimeTracking.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Transition.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.User.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Version.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
+
com.atlassian.jira.rest.client.api.domain.VersionRelatedIssuesCount.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Visibility.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Votes.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Watchers.class));
+ items.add(new ReflectiveClassBuildItem(true, false,
com.atlassian.jira.rest.client.api.domain.Worklog.class));
Review Comment:
It seems that we have to add all classes in
`com.atlassian.jira.rest.client.api.domain` package?
##########
extensions/jackson/deployment/src/main/java/org/apache/camel/quarkus/component/jackson/JacksonProcessor.java:
##########
@@ -37,7 +36,9 @@ FeatureBuildItem feature() {
List<ReflectiveClassBuildItem> registerReflectiveClasses() {
List<ReflectiveClassBuildItem> items = new ArrayList<>();
items.add(new ReflectiveClassBuildItem(false, true,
"com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule"));
- items.add(new ReflectiveClassBuildItem(false, false, JsonNode.class));
+ items.add(new ReflectiveClassBuildItem(false, false,
com.fasterxml.jackson.databind.JsonNode.class));
+ items.add(new ReflectiveClassBuildItem(true, true,
com.fasterxml.jackson.datatype.joda.JodaModule.class));
Review Comment:
Same here.
##########
extensions/jackson/deployment/src/main/java/org/apache/camel/quarkus/component/jackson/JacksonProcessor.java:
##########
@@ -37,7 +36,9 @@ FeatureBuildItem feature() {
List<ReflectiveClassBuildItem> registerReflectiveClasses() {
List<ReflectiveClassBuildItem> items = new ArrayList<>();
items.add(new ReflectiveClassBuildItem(false, true,
"com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule"));
- items.add(new ReflectiveClassBuildItem(false, false, JsonNode.class));
+ items.add(new ReflectiveClassBuildItem(false, false,
com.fasterxml.jackson.databind.JsonNode.class));
Review Comment:
It could use class name here.
```suggestion
items.add(new ReflectiveClassBuildItem(false, false,
"com.fasterxml.jackson.databind.JsonNode"));
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]