<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--
    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.
-->
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.deltaspike.core</groupId>
        <artifactId>core-project</artifactId>
        <version>1.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>org.apache.deltaspike.core</groupId>
    <artifactId>deltaspike-core-api</artifactId>
    <packaging>bundle</packaging>

    <name>Apache DeltaSpike Core-API</name>

    <properties>
        <deltaspike.osgi.export.pkg>
            org.apache.deltaspike.core.*
        </deltaspike.osgi.export.pkg>
        <deltaspike.osgi.import>
            !org.apache.deltaspike.core.*,
            *
        </deltaspike.osgi.import>
        <deltaspike.osgi.provide.capability>
            org.ops4j.pax.cdi.extension; extension=deltaspike-core-api
        </deltaspike.osgi.provide.capability>
    </properties>

</project>

