# Double exports copied from Geronimo to ensure maximal 
# compatibility with the mess of older implementations out there. 
# The JavaJPA contract is recommended to avoid issues here.

Export-Package: \
    javax.persistence;jpa="2.1";version="1.2",\
    javax.persistence;jpa="2.1";version="2.1",\
    javax.persistence.criteria;jpa="2.1";version="1.2",\
    javax.persistence.criteria;jpa="2.1";version="2.1",\
    javax.persistence.metamodel;jpa="2.1";version="1.2",\
    javax.persistence.metamodel;jpa="2.1";version="2.1",\
    javax.persistence.spi;jpa="2.1";version="1.2",\
    javax.persistence.spi;jpa="2.1";version="2.1"
    
Provide-Capability:\
    osgi.contract;osgi.contract="JavaJPA";version:List<Version>="2.1,2,1";\
    uses:="javax.persistence,javax.persistence.criteria,javax.persistence.metamodel,javax.persistence.spi"

# Make the API substitutable with unversioned imports and a contract requirement

Import-Package: \
    !org.apache.geronimo.osgi.registry.api,\
    javax.persistence;version=0.0.0,\
    javax.persistence.criteria;version=0.0.0,\
    javax.persistence.metamodel;version=0.0.0,\
    javax.persistence.spi;version=0.0.0,\
    *

Require-Capability:\
    osgi.contract;filter:="(&(osgi.contract=JavaJPA)(version=2.1)(!(version>=2.2)))",\

Private-Package:\
    org.apache.geronimo.osgi.locator,\
    org.apache.geronimo.specs.jpa
    
Bundle-Activator: org.apache.geronimo.specs.jpa.PersistenceActivator

Bundle-SymbolicName: org.apache.aries.jpa.javax.persistence_2.1
