diff --git a/log4j-conversant/src/test/java/org/apache/logging/log4j/conversant/test/DisruptorRecyclerFactoryProviderTest.java b/log4j-conversant/src/test/java/org/apache/logging/log4j/conversant/test/DisruptorRecyclerFactoryProviderTest.java index 3d2f6053474..d5ba0d63232 100644 --- a/log4j-conversant/src/test/java/org/apache/logging/log4j/conversant/test/DisruptorRecyclerFactoryProviderTest.java +++ b/log4j-conversant/src/test/java/org/apache/logging/log4j/conversant/test/DisruptorRecyclerFactoryProviderTest.java @@ -18,6 +18,8 @@ import static org.assertj.core.api.Assertions.assertThat; +import aQute.bnd.annotation.Cardinality; +import aQute.bnd.annotation.spi.ServiceConsumer; import java.util.Comparator; import java.util.List; import java.util.ServiceLoader; @@ -27,6 +29,7 @@ import org.apache.logging.log4j.util.ServiceLoaderUtil; import org.junit.jupiter.api.Test; +@ServiceConsumer(value = RecyclerFactoryProvider.class, resolution = Cardinality.MULTIPLE) class DisruptorRecyclerFactoryProviderTest { @Test diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java index 9d9c2fc427d..a2e181b72b2 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/CoreDefaultBundle.java @@ -16,6 +16,8 @@ */ package org.apache.logging.log4j.core.impl; +import aQute.bnd.annotation.Cardinality; +import aQute.bnd.annotation.spi.ServiceConsumer; import java.util.Comparator; import java.util.List; import java.util.Map; @@ -83,6 +85,7 @@ * @see LogEventFactory * @see StrSubstitutor */ +@ServiceConsumer(value = RecyclerFactoryProvider.class, cardinality = Cardinality.MULTIPLE) public final class CoreDefaultBundle { @SingletonFactory diff --git a/log4j-jctools/src/test/java/org/apache/logging/log4j/jctools/JCToolsRecyclerFactoryProviderTest.java b/log4j-jctools/src/test/java/org/apache/logging/log4j/jctools/JCToolsRecyclerFactoryProviderTest.java index e5d121db0f2..37bfac52c12 100644 --- a/log4j-jctools/src/test/java/org/apache/logging/log4j/jctools/JCToolsRecyclerFactoryProviderTest.java +++ b/log4j-jctools/src/test/java/org/apache/logging/log4j/jctools/JCToolsRecyclerFactoryProviderTest.java @@ -18,6 +18,8 @@ import static org.assertj.core.api.Assertions.assertThat; +import aQute.bnd.annotation.Cardinality; +import aQute.bnd.annotation.spi.ServiceConsumer; import java.util.Comparator; import java.util.List; import java.util.ServiceLoader; @@ -26,6 +28,7 @@ import org.apache.logging.log4j.util.ServiceLoaderUtil; import org.junit.jupiter.api.Test; +@ServiceConsumer(value = RecyclerFactoryProvider.class, cardinality = Cardinality.MULTIPLE) class JCToolsRecyclerFactoryProviderTest { @Test diff --git a/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java b/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java index 985f5251279..dcce4778ca5 100644 --- a/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java +++ b/log4j-kit/src/test/java/org/apache/logging/log4j/kit/recycler/internal/RecyclerFactoryTestUtil.java @@ -16,6 +16,8 @@ */ package org.apache.logging.log4j.kit.recycler.internal; +import aQute.bnd.annotation.Cardinality; +import aQute.bnd.annotation.spi.ServiceConsumer; import java.util.HashMap; import java.util.Map; import java.util.ServiceLoader; @@ -27,6 +29,7 @@ import org.apache.logging.log4j.util.ServiceLoaderUtil; import org.jspecify.annotations.Nullable; +@ServiceConsumer(value = RecyclerFactoryProvider.class, cardinality = Cardinality.MULTIPLE) final class RecyclerFactoryTestUtil { private RecyclerFactoryTestUtil() {} diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/DI.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/DI.java index 07d968b98fb..ebdb53190a3 100644 --- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/DI.java +++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/DI.java @@ -16,6 +16,8 @@ */ package org.apache.logging.log4j.plugins.di; +import aQute.bnd.annotation.Cardinality; +import aQute.bnd.annotation.spi.ServiceConsumer; import java.lang.annotation.Annotation; import java.util.ArrayList; import java.util.Comparator; @@ -36,6 +38,7 @@ * {@link ConfigurableInstanceFactory} using bindings registered before and after standard * {@link ConfigurableInstanceFactoryPostProcessor} service provider classes are invoked. */ +@ServiceConsumer(value = ConfigurableInstanceFactoryPostProcessor.class, cardinality = Cardinality.MULTIPLE) public final class DI { private DI() { throw new IllegalStateException("Utility class"); diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/spi/ConfigurableInstanceFactoryPostProcessor.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/spi/ConfigurableInstanceFactoryPostProcessor.java index d46ce87541c..430c50a001b 100644 --- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/spi/ConfigurableInstanceFactoryPostProcessor.java +++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/spi/ConfigurableInstanceFactoryPostProcessor.java @@ -16,7 +16,6 @@ */ package org.apache.logging.log4j.plugins.di.spi; -import aQute.bnd.annotation.spi.ServiceConsumer; import java.util.ServiceLoader; import org.apache.logging.log4j.plugins.Ordered; import org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory; @@ -27,7 +26,6 @@ * {@link Ordered} annotation on the class for overriding the order it will be invoked. */ @FunctionalInterface -@ServiceConsumer(ConfigurableInstanceFactoryPostProcessor.class) public interface ConfigurableInstanceFactoryPostProcessor { /** diff --git a/src/changelog/.3.x.x/3250_declare_uses.xml b/src/changelog/.3.x.x/3250_declare_uses.xml new file mode 100644 index 00000000000..22a802a108c --- /dev/null +++ b/src/changelog/.3.x.x/3250_declare_uses.xml @@ -0,0 +1,8 @@ + + + + Add missing `uses` declarations in module descriptor. +