diff --git a/bundlebee-core/pom.xml b/bundlebee-core/pom.xml index 251b364c..f4d31eea 100644 --- a/bundlebee-core/pom.xml +++ b/bundlebee-core/pom.xml @@ -28,6 +28,13 @@ BundleBee :: Core + + org.apache.geronimo.arthur + arthur-api + ${arthur.version} + provided + + org.yaml snakeyaml diff --git a/bundlebee-core/src/main/java/io/yupiik/bundlebee/core/handlebars/HandlebarsInterpolator.java b/bundlebee-core/src/main/java/io/yupiik/bundlebee/core/handlebars/HandlebarsInterpolator.java index 0f18e87e..c90d7b36 100644 --- a/bundlebee-core/src/main/java/io/yupiik/bundlebee/core/handlebars/HandlebarsInterpolator.java +++ b/bundlebee-core/src/main/java/io/yupiik/bundlebee/core/handlebars/HandlebarsInterpolator.java @@ -20,6 +20,7 @@ import io.yupiik.fusion.framework.handlebars.HandlebarsCompiler; import io.yupiik.fusion.framework.handlebars.compiler.accessor.MapAccessor; +import javax.enterprise.inject.Vetoed; import java.util.Base64; import java.util.HashMap; import java.util.Map; @@ -29,6 +30,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.stream.Collectors.toMap; +@Vetoed public class HandlebarsInterpolator { private final Manifest.Alveolus alveolus; private final AlveolusHandler.LoadedDescriptor descriptor; diff --git a/bundlebee-core/src/main/java/io/yupiik/bundlebee/core/openwebbeans/BundleBeeFilter.java b/bundlebee-core/src/main/java/io/yupiik/bundlebee/core/openwebbeans/BundleBeeFilter.java new file mode 100644 index 00000000..846ecbbd --- /dev/null +++ b/bundlebee-core/src/main/java/io/yupiik/bundlebee/core/openwebbeans/BundleBeeFilter.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2021 - present - Yupiik SAS - https://www.yupiik.com + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package io.yupiik.bundlebee.core.openwebbeans; + +import org.apache.geronimo.arthur.api.RegisterClass; +import org.apache.xbean.finder.filter.Filter; + +/** + * Drop at raw scanning time - and not CDI reflection based scanning time - packages we know we don't need. + *

+ * Most important one is handlebars since it leads to a warning otherwise since without the additional dep it will not load. + */ +@RegisterClass(allPublicConstructors = true) +public class BundleBeeFilter implements Filter { + @Override + public boolean accept(final String clazz) { + return !clazz.startsWith("io.yupiik.bundlebee.core.cli.") + && !clazz.startsWith("io.yupiik.bundlebee.core.configuration.") + && !clazz.startsWith("io.yupiik.bundlebee.core.descriptor.") + && !clazz.startsWith("io.yupiik.bundlebee.core.event.") + && !clazz.startsWith("io.yupiik.bundlebee.core.handlebars.") + && !clazz.startsWith("io.yupiik.bundlebee.core.openwebbeans."); + } +} diff --git a/bundlebee-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties b/bundlebee-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties index 02c1d760..49b6bf43 100644 --- a/bundlebee-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties +++ b/bundlebee-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties @@ -19,3 +19,5 @@ org.apache.webbeans.spi.DefiningClassService = org.apache.webbeans.service.Class org.apache.webbeans.spi.ApplicationBoundaryService = org.apache.webbeans.corespi.se.SimpleApplicationBoundaryService org.apache.webbeans.spi.deployer.skipVetoedOnPackages = true org.apache.webbeans.scanBeansXmlOnly = true +# avoid warnings when some classes are not there +org.apache.xbean.finder.filter.Filter = io.yupiik.bundlebee.core.openwebbeans.BundleBeeFilter