From 97119899ed61687ba5fbeec20178431db7ca1eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Mathieu?= Date: Mon, 9 Nov 2020 15:06:37 +0100 Subject: [PATCH] fix: avoid CDI warning in ObjectMapper --- .../bindings/FunqyCloudFunctionsBuildStep.java | 15 ++++++++++++++- .../src/main/resources/application.properties | 4 +--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/extensions/funqy/funqy-google-cloud-functions/deployment/src/main/java/io/quarkus/funqy/gcp/functions/deployment/bindings/FunqyCloudFunctionsBuildStep.java b/extensions/funqy/funqy-google-cloud-functions/deployment/src/main/java/io/quarkus/funqy/gcp/functions/deployment/bindings/FunqyCloudFunctionsBuildStep.java index 81a328b6f1924..d2d13dc506a45 100644 --- a/extensions/funqy/funqy-google-cloud-functions/deployment/src/main/java/io/quarkus/funqy/gcp/functions/deployment/bindings/FunqyCloudFunctionsBuildStep.java +++ b/extensions/funqy/funqy-google-cloud-functions/deployment/src/main/java/io/quarkus/funqy/gcp/functions/deployment/bindings/FunqyCloudFunctionsBuildStep.java @@ -6,7 +6,11 @@ import java.util.List; import java.util.Optional; +import com.fasterxml.jackson.databind.ObjectMapper; + import io.quarkus.arc.deployment.BeanContainerBuildItem; +import io.quarkus.arc.deployment.UnremovableBeanBuildItem; +import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.Record; import io.quarkus.deployment.builditem.FeatureBuildItem; @@ -15,6 +19,7 @@ import io.quarkus.funqy.deployment.FunctionInitializedBuildItem; import io.quarkus.funqy.gcp.functions.FunqyCloudFunctionsBindingRecorder; import io.quarkus.funqy.runtime.FunqyConfig; +import io.quarkus.jackson.ObjectMapperProducer; public class FunqyCloudFunctionsBuildStep { private static final String FEATURE_NAME = "funqy-google-cloud-functions"; @@ -36,7 +41,7 @@ public void init(List functions, FunqyCloudFunctionsBindingRecorder recorder, Optional hasFunctions, BeanContainerBuildItem beanContainer) throws Exception { - if (!hasFunctions.isPresent() || hasFunctions.get() == null) + if (!hasFunctions.isPresent()) return; recorder.init(beanContainer.getValue()); @@ -47,4 +52,12 @@ public void init(List functions, public void choose(FunqyConfig config, FunqyCloudFunctionsBindingRecorder recorder) { recorder.chooseInvoker(config); } + + @BuildStep + public void markObjectMapper(BuildProducer unremovable) { + unremovable.produce(new UnremovableBeanBuildItem( + new UnremovableBeanBuildItem.BeanClassNameExclusion(ObjectMapper.class.getName()))); + unremovable.produce(new UnremovableBeanBuildItem( + new UnremovableBeanBuildItem.BeanClassNameExclusion(ObjectMapperProducer.class.getName()))); + } } diff --git a/integration-tests/funqy-google-cloud-functions/src/main/resources/application.properties b/integration-tests/funqy-google-cloud-functions/src/main/resources/application.properties index f1a7e7fba521f..d35c85ba89049 100644 --- a/integration-tests/funqy-google-cloud-functions/src/main/resources/application.properties +++ b/integration-tests/funqy-google-cloud-functions/src/main/resources/application.properties @@ -1,4 +1,2 @@ -quarkus.funqy.export=helloHttpWorld -#quarkus.funqy.export=helloHttpWorldAsync +quarkus.funqy.export=helloGCSWorld #quarkus.funqy.export=helloPubSubWorld -#quarkus.funqy.export=helloGCSWorld \ No newline at end of file