diff --git a/api/bnd.bnd b/api/bnd.bnd index 83941087..28e34b2a 100644 --- a/api/bnd.bnd +++ b/api/bnd.bnd @@ -1,12 +1,26 @@ -exportcontents: \ org.eclipse.microprofile.* -Import-Package: \ - javax.enterprise.util;version="[1.1,3)", \ - * - Bundle-SymbolicName: org.eclipse.microprofile.config # For reproducible builds -noextraheaders: true -snapshot: SNAPSHOT + +-contract: *;effective:=active +-define-contract: \ + osgi.contract;\ + osgi.contract=JavaCDI;\ + version:List='2.0,1.1';\ + uses:='\ + javax.decorator,\ + javax.enterprise.context,\ + javax.enterprise.context.spi,\ + javax.enterprise.event,\ + javax.enterprise.inject,\ + javax.enterprise.inject.spi,\ + javax.enterprise.util',\ + osgi.contract;\ + osgi.contract=JavaInject;\ + version:Version='1.0';\ + uses:='javax.inject' \ No newline at end of file diff --git a/api/pom.xml b/api/pom.xml index b952c564..567e3421 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -24,7 +24,7 @@ - 5.0.0 + 5.0.1 org.eclipse.microprofile.config microprofile-config-api @@ -43,6 +43,24 @@ 1.1.0 provided + + biz.aQute.bnd + biz.aQute.bnd.annotation + ${bnd.version} + provided + + + org.osgi + org.osgi.annotation.bundle + 1.0.0 + provided + + + org.osgi + org.osgi.service.cdi + 1.0.0 + provided + diff --git a/api/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java b/api/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java index f146d760..419f5471 100644 --- a/api/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java +++ b/api/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java @@ -24,6 +24,8 @@ import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static org.osgi.annotation.bundle.Requirement.Resolution.OPTIONAL; +import static org.osgi.service.cdi.CDIConstants.CDI_EXTENSION_PROPERTY; import java.lang.annotation.Retention; import java.lang.annotation.Target; @@ -31,6 +33,8 @@ import javax.enterprise.util.Nonbinding; import javax.inject.Qualifier; +import org.osgi.annotation.bundle.Requirement; + /** *

* Binds the injection point with a configured value. @@ -100,6 +104,8 @@ @Qualifier @Retention(RUNTIME) @Target({METHOD, FIELD, PARAMETER, TYPE}) +@Requirement(namespace = CDI_EXTENSION_PROPERTY, name = "org.eclipse.microprofile.config", effective = "active") +@Requirement(namespace = CDI_EXTENSION_PROPERTY, name = "org.eclipse.microprofile.config", resolution = OPTIONAL) public @interface ConfigProperty { String UNCONFIGURED_VALUE="org.eclipse.microprofile.config.configproperty.unconfigureddvalue"; /** diff --git a/api/src/main/java/org/eclipse/microprofile/config/inject/package-info.java b/api/src/main/java/org/eclipse/microprofile/config/inject/package-info.java index 28661dc9..20752ffc 100644 --- a/api/src/main/java/org/eclipse/microprofile/config/inject/package-info.java +++ b/api/src/main/java/org/eclipse/microprofile/config/inject/package-info.java @@ -42,8 +42,8 @@ * * @author Mark Struberg * @author Emily Jiang - * + * */ -@org.osgi.annotation.versioning.Version("1.0") +@org.osgi.annotation.versioning.Version("1.0.1") package org.eclipse.microprofile.config.inject; diff --git a/api/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java b/api/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java index 9ee6dc9e..41c62a13 100644 --- a/api/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java +++ b/api/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java @@ -25,6 +25,8 @@ import org.eclipse.microprofile.config.Config; +import aQute.bnd.annotation.spi.ServiceConsumer; + /** * The service provider for implementations of the MicroProfile Configuration specification. *

@@ -36,6 +38,7 @@ * @author Romain Manni-Bucau * @author Emily Jiang */ +@ServiceConsumer(value = ConfigProviderResolver.class, effective = "active") public abstract class ConfigProviderResolver { /** * Construct a new instance.