blob: 9c3c33a83773c1630ff035672569f13f1be95171 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
Bundle-Activator: org.apache.aries.tx.control.jpa.local.impl.Activator
# Export the OSGi APIs we use so that this is an easily deployable bundle
Export-Package: org.osgi.service.transaction.control.jdbc, \
org.osgi.service.transaction.control.jpa, \
org.osgi.service.cm, \
org.osgi.service.jdbc, \
org.osgi.service.jpa
# We embed Hikari CP to avoid dependency fanout
Private-Package: org.apache.aries.tx.control.jpa.*, \
org.apache.aries.tx.control.resource.common.impl, \
com.zaxxer.hikari, \
com.zaxxer.hikari.metrics, \
com.zaxxer.hikari.pool, \
com.zaxxer.hikari.util
# Ensure that the API is exported substitutably, and that we don't pull
# in any unused pieces of Hikari
Import-Package: !com.codahale.*, \
!com.zaxxer.hikari.metrics.dropwizard, \
!com.zaxxer.hikari.metrics.micrometer, \
!io.micrometer.core.instrument, \
!javassist.*, \
org.osgi.service.transaction.control, \
org.osgi.service.transaction.control.jdbc, \
org.osgi.service.transaction.control.jpa, \
org.osgi.service.cm, \
org.osgi.service.jdbc, \
org.osgi.service.jpa, \
*
Provide-Capability: \
osgi.service;objectClass="org.osgi.service.transaction.control.jpa.JPAEntityManagerProvider";osgi.local.enabled="true";uses:="org.osgi.service.transaction.control.jpa", \
osgi.service;objectClass="org.osgi.service.transaction.control.jpa.JPAEntityManagerProviderFactory";osgi.local.enabled="true";uses:="org.osgi.service.transaction.control.jpa"
# This Resource Provider is able to work with JPA 2.0 or 2.1, but may need enhancement
# for future versions, hence we prohibit versions of the contract greater than 2.1.x
# Because of this complexity we can't just use -contract: JavaJPA.
Require-Capability: \
osgi.contract;filter:="(&(osgi.contract=JavaJPA)(|(version=2)(version=2.1))(!(version>=2.2)))",\
osgi.service;filter:="(objectClass=org.osgi.service.jdbc.DataSourceFactory)";resolution:="optional";effective:="active", \
osgi.service;filter:="(objectClass=org.osgi.service.jpa.EntityManagerFactoryBuilder)";resolution:="optional";effective:="active"