<!--
  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.
-->
<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">
    <parent>
        <groupId>org.apache.felix</groupId>
        <artifactId>felix-parent</artifactId>
        <version>2.1</version>
        <relativePath>../../../pom/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <packaging>bundle</packaging>
    <name>Apache Felix iPOJO</name>
    <artifactId>org.apache.felix.ipojo</artifactId>
    <version>1.12.1</version>

    <properties>
        <!--
           1.8.2:
           * change in the MethodInterceptor interface (FELIX-3144)
           * change in the Factory interface (FELIX-3190)

           1.8.4:
           * change in ComponentTypeDescription (FELIX-3560)

           1.10.0:
           * next minor version

           1.11.0:
           * several changes - annotations, enum, refactoring of the dependency handler

           1.11.1:
           * minor changes such as synchronization protocols

           1.11.2:
           * add the InstanceBundleContextAware interface

           1.12.0:
           * change in the manipulator (frame / java 8 support). Despite it's not really an API change, it breaks
           the compatibility.

           1.12.1:
           * small changes in the API
        -->
        <ipojo.package.version>1.12.1</ipojo.package.version>
        <ipojo.extender.version>1.12.1</ipojo.extender.version>
    </properties>

    <description>
        iPOJO Core bundle
    </description>
    <url>
        http://ipojo.org
    </url>

    <dependencies>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
            <version>4.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.compendium</artifactId>
            <version>4.2.0</version>
          <scope>provided</scope>
        </dependency>
        <!-- We use the FilterImpl of Felix in tests -->
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.framework</artifactId>
            <version>4.2.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.ipojo.metadata</artifactId>
            <version>1.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.ipojo.annotations</artifactId>
            <version>1.12.1</version>
        </dependency>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm-all</artifactId>
            <version>5.0.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-tree</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.9.5</version>
        <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.easytesting</groupId>
          <artifactId>fest-assert</artifactId>
          <version>1.4</version>
          <scope>test</scope>
      </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <target>1.5</target>
                    <source>1.5</source>
                    <testTarget>1.5</testTarget>
                    <testSource>1.5</testSource>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.3.7</version>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>package-main-artifact</id>
                        <phase>package</phase>
                        <goals>
                            <goal>bundle</goal>
                        </goals>
                        <configuration>
                            <instructions>
                                <Bundle-Name>Apache Felix iPOJO</Bundle-Name>
                                <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
                                <Bundle-SymbolicName>org.apache.felix.ipojo;singleton:=true</Bundle-SymbolicName>
                                <Bundle-Description>iPOJO Core Framework</Bundle-Description>
                                <Bundle-Activator>org.apache.felix.ipojo.extender.internal.Extender</Bundle-Activator>
                                <Bundle-DocURL>
                                    http://felix.apache.org/documentation/subprojects/apache-felix-ipojo.html
                                </Bundle-DocURL>
                                <IPOJO-Extension>
                                    component:org.apache.felix.ipojo.ComponentFactory,
                                    handler:org.apache.felix.ipojo.HandlerManagerFactory
                                </IPOJO-Extension>
                                <Import-Package>
                                    org.osgi.framework;version="[1.3,2)", <!-- To support KF 2 -->
                                    org.osgi.framework.wiring;version="[1.0,2.0)";resolution:=optional,
                                    org.osgi.service.cm;version="[1.3,2)",
                                    org.osgi.service.log;version="[1.3,2)",
                                    org.osgi.util.tracker;version="[1.4,2)", <!-- BundleTracker is in R4.2 -->
                                    !sun.io,
                                    !net.sourceforge.cobertura.*, <!--  To support code coverage -->
                                    !org.objectweb.asm.signature,
                                    !org.objectweb.asm.tree
                                </Import-Package>
                                <Private-Package>
                                    org.apache.felix.ipojo.handlers.architecture,
                                    org.apache.felix.ipojo.handlers.lifecycle.callback,
                                    org.apache.felix.ipojo.handlers.lifecycle.controller,
                                    org.apache.felix.ipojo.handlers.context,
                                    org.apache.felix.ipojo.extender.internal*,
                                    org.objectweb.asm;-split-package:=merge-last,
                                    org.objectweb.asm.commons;-split-package:=merge-last,
                                    org.apache.felix.ipojo.metadata,
                                    org.apache.felix.ipojo.dependency.impl
                                </Private-Package>
                                <Export-Package>
                                    org.apache.felix.ipojo; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.configuration; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.metadata; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.architecture; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.extender;
                                    version="${ipojo.package.version}";-split-package:=merge-first,
                                    org.apache.felix.ipojo.extender.builder; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.extender.queue; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.extender.queue.debug; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.parser; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.util; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.handlers.dependency; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.handlers.providedservice.*; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.handlers.configuration; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.context; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.dependency.interceptors; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.annotations; version="${ipojo.package.version}",
                                    <!-- Compendium packages -->
                                    org.osgi.service.cm; version=1.3,
                                    org.osgi.service.log; version=1.3
                                </Export-Package>

                                <!-- OSGi Extender Namespace -->
                                <Provide-Capability>osgi.extender;
                                    osgi.extender="org.apache.felix.ipojo";
                                    version:Version="${ipojo.extender.version}"
                                </Provide-Capability>
                                <_donotcopy>(CVS|.svn|.+.bak|~.+|metadata.xml)</_donotcopy>
                            </instructions>
                        </configuration>
                    </execution>
                    <execution>
                        <id>package-bare-artifact</id>
                        <phase>package</phase>
                        <goals>
                            <goal>bundle</goal>
                        </goals>
                        <configuration>
                            <classifier>bare</classifier>
                            <instructions>
                                <Bundle-Name>Apache Felix iPOJO</Bundle-Name>
                                <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
                                <Bundle-SymbolicName>org.apache.felix.ipojo;singleton:=true</Bundle-SymbolicName>
                                <Bundle-Description>iPOJO Core Framework</Bundle-Description>
                                <Bundle-Activator>org.apache.felix.ipojo.extender.internal.Extender</Bundle-Activator>
                                <Bundle-DocURL>
                                    http://felix.apache.org/documentation/subprojects/apache-felix-ipojo.html
                                </Bundle-DocURL>
                                <IPOJO-Extension>
                                    component:org.apache.felix.ipojo.ComponentFactory,
                                    handler:org.apache.felix.ipojo.HandlerManagerFactory
                                </IPOJO-Extension>
                                <Import-Package>
                                    org.osgi.framework;version="[1.3,2)", <!-- To support KF 2 -->
                                    org.osgi.framework.wiring;version="[1.0,2.0)";resolution:=optional,
                                    org.osgi.service.cm;version="[1.3,2)",
                                    org.osgi.service.log;version="[1.3,2)",
                                    org.osgi.util.tracker;version="[1.4,2)", <!-- BundleTracker is in R4.2 -->
                                    !sun.io,
                                    !net.sourceforge.cobertura.*, <!--  To support code coverage -->
                                    !org.objectweb.asm.signature,
                                    !org.objectweb.asm.tree
                                </Import-Package>
                                <Private-Package>
                                    org.apache.felix.ipojo.handlers.architecture,
                                    org.apache.felix.ipojo.handlers.lifecycle.callback,
                                    org.apache.felix.ipojo.handlers.lifecycle.controller,
                                    org.apache.felix.ipojo.handlers.context,
                                    org.apache.felix.ipojo.extender.internal*,
                                    org.objectweb.asm;-split-package:=merge-last,
                                    org.objectweb.asm.commons;-split-package:=merge-last,
                                    org.apache.felix.ipojo.metadata,
                                    org.apache.felix.ipojo.dependency.impl
                                </Private-Package>
                                <Export-Package>
                                    org.apache.felix.ipojo; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.configuration; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.metadata; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.architecture; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.extender;
                                    version="${ipojo.package.version}";-split-package:=merge-first,
                                    org.apache.felix.ipojo.extender.builder; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.extender.queue; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.extender.queue.debug; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.parser; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.util; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.handlers.dependency; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.handlers.providedservice.*; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.handlers.configuration; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.context; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.dependency.interceptors; version="${ipojo.package.version}",
                                    org.apache.felix.ipojo.annotations; version="${ipojo.package.version}"
                                    <!-- the bare bundle does not includes any packages form the compendium -->
                                </Export-Package>

                                <!-- OSGi Extender Namespace -->
                                <Provide-Capability>osgi.extender;
                                    osgi.extender="org.apache.felix.ipojo";
                                    version:Version="${ipojo.extender.version}"
                                </Provide-Capability>
                                <_donotcopy>(CVS|.svn|.+.bak|~.+|metadata.xml)</_donotcopy>
                            </instructions>
                        </configuration>
                    </execution>
                </executions>

            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-ipojo-plugin</artifactId>
                <version>1.12.0</version>
                <executions>
                    <execution>
                        <id>main-artifact-manipulation</id>
                        <goals>
                            <goal>ipojo-bundle</goal>
                        </goals>
                        <configuration>
                            <ignoreAnnotations>true</ignoreAnnotations>
                        </configuration>
                    </execution>
                    <execution>
                        <id>bare-artifact-manipulation</id>
                        <goals>
                            <goal>ipojo-bundle</goal>
                        </goals>
                        <configuration>
                            <!--<classifier>bare</classifier>-->
                            <input-classifier>bare</input-classifier>
                            <ignoreAnnotations>true</ignoreAnnotations>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.10</version>
                <configuration>
                    <enableRulesSummary>false</enableRulesSummary>
                    <violationSeverity>warning</violationSeverity>
                    <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!-- check src only (except remote resources additions) -->
                    <includes>
                        <include>src/**</include>
                    </includes>
                    <excludes>
                        <exclude>src/main/appended-resources/**</exclude>
                        <exclude>**/manipulation/MANIFEST.MF</exclude> <!-- This file is used by tests -->
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <version>1.7</version>
                <configuration>
                    <signature>
                        <groupId>org.codehaus.mojo.signature</groupId>
                        <artifactId>java15</artifactId>
                        <version>1.0</version>
                    </signature>
                </configuration>
                <executions>
                    <execution>
                        <phase>test</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.ipojo.runtime-project-1.12.1/org.apache.felix.ipojo</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.ipojo.runtime-project-1.12.1/org.apache.felix.ipojo</developerConnection>
    <url>http://svn.apache.org/viewvc/felix/releases/?root=Apache-SVN/org.apache.felix.ipojo.runtime-project-1.12.1/org.apache.felix.ipojo</url>
  </scm>
</project>
