<?xml version="1.0" encoding="UTF-8"?>

  <!-- ====================================================================== -->
  <!--                                                                        -->
  <!--  JBoss, the OpenSource J2EE webOS                                      -->
  <!--                                                                        -->
  <!--  Distributable under LGPL license.                                     -->
  <!--  See terms of license at http://www.gnu.org.                           -->
  <!--                                                                        -->
  <!-- ====================================================================== -->

  <!-- $Id: pom.xml 100521 2010-02-05 15:05:16Z thomas.diesler@jboss.com $ -->

  <!-- 
     Set these VM properties in your IDE debugger
     
     -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target}
     -Dlog4j.configuration=log4j-console.xml
  -->

<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">
  <modelVersion>4.0.0</modelVersion>

  <name>JBossOSGi Core Framework</name>
  <groupId>org.jboss.osgi.runtime</groupId>
  <artifactId>jboss-osgi-framework</artifactId>
  <packaging>bundle</packaging>

  <version>1.0.0.Alpha3</version>

  <parent>
    <groupId>org.jboss.osgi</groupId>
    <artifactId>jboss-osgi-parent</artifactId>
    <version>1.0.4</version>
  </parent>

  <!-- Subversion -->
  <scm>
    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha3</connection>
    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha3</developerConnection>
    <url>http://fisheye.jboss.com/qsearch/JBossOSGi/tags/jboss-osgi-framework-1.0.0.Alpha3</url>
  </scm>
  
  <!-- Properties -->
  <properties>
    <version.apache.felix.configadmin>1.0.10</version.apache.felix.configadmin>
    <version.apache.felix.log>1.0.0</version.apache.felix.log>
    <version.apache.felix.metatype>1.0.2</version.apache.felix.metatype>
    <version.drools>5.0.1</version.drools>
    <version.jboss.classloading>2.2.0.Alpha1</version.jboss.classloading>
    <version.jboss.deployers>2.2.0.Alpha1</version.jboss.deployers>
    <version.jboss.kernel>2.2.0.Alpha5</version.jboss.kernel>
    <version.jboss.logging>2.1.0.GA</version.jboss.logging>
    <version.jboss.mdr>2.2.0.Alpha1</version.jboss.mdr>
    <version.jboss.osgi.apache.xerces>2.9.1.SP3</version.jboss.osgi.apache.xerces>
    <version.jboss.osgi.common>1.0.3</version.jboss.osgi.common>
    <version.jboss.osgi.common.core>2.2.13.GA</version.jboss.osgi.common.core>
    <version.jboss.osgi.deployment>1.0.1</version.jboss.osgi.deployment>
    <version.jboss.osgi.husky>1.0.3</version.jboss.osgi.husky>
    <version.jboss.osgi.jaxb>2.1.10.SP3</version.jboss.osgi.jaxb>
    <version.jboss.osgi.jmx>1.0.3</version.jboss.osgi.jmx>
    <version.jboss.osgi.reflect>2.2.0</version.jboss.osgi.reflect>
    <version.jboss.osgi.runtime.deployers>1.0.4</version.jboss.osgi.runtime.deployers>
    <version.jboss.osgi.spi>1.0.4</version.jboss.osgi.spi>
    <version.jboss.osgi.xml.binding>2.0.2.Beta4</version.jboss.osgi.xml.binding>
    <version.jboss.test>1.1.4.GA</version.jboss.test>
    <version.ops4j.pax.web>0.7.2</version.ops4j.pax.web>
    <version.osgi>4.2.0</version.osgi>
  </properties>

  <dependencies>
    <dependency>
      <groupId>biz.aQute</groupId>
      <artifactId>bnd</artifactId>
    </dependency>
    <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-compiler</artifactId>
      <version>${version.drools}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.cl</groupId>
      <artifactId>jboss-classloader</artifactId>
      <version>${version.jboss.classloading}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.cl</groupId>
      <artifactId>jboss-classloading</artifactId>
      <version>${version.jboss.classloading}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.cl</groupId>
      <artifactId>jboss-classloading-vfs</artifactId>
      <version>${version.jboss.classloading}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-client</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-client-spi</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-core</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-core-spi</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-impl</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-structure-spi</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-vfs-spi</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-vfs</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-jmx</artifactId>
      <version>${version.jboss.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.kernel</groupId>
      <artifactId>jboss-kernel</artifactId>
      <version>${version.jboss.kernel}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.kernel</groupId>
      <artifactId>jboss-jmx-aop-mc-int</artifactId>
      <version>${version.jboss.kernel}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.kernel</groupId>
      <artifactId>jboss-jmx-mc-int</artifactId>
      <version>${version.jboss.kernel}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.kernel</groupId>
      <artifactId>jboss-dependency</artifactId>
      <version>${version.jboss.kernel}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.logging</groupId>
      <artifactId>jboss-logging-spi</artifactId>
      <version>${version.jboss.logging}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss</groupId>
      <artifactId>jboss-mdr</artifactId>
      <version>${version.jboss.mdr}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi</groupId>
      <artifactId>jboss-osgi-spi</artifactId>
      <version>${version.jboss.osgi.spi}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.runtime</groupId>
      <artifactId>jboss-osgi-deployers</artifactId>
      <version>${version.jboss.osgi.runtime.deployers}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.runtime</groupId>
      <artifactId>jboss-osgi-deployment</artifactId>
      <version>${version.jboss.osgi.deployment}</version>
    </dependency>

    <!-- Provided Dependencies -->
    <dependency>
      <groupId>org.jboss.logging</groupId>
      <artifactId>jboss-logging-log4j</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- OSGi Dependencies -->
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>${version.osgi}</version>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>${version.osgi}</version>
    </dependency>

    <!-- Test dependencies -->
    <dependency>
      <groupId>org.jboss.test</groupId>
      <artifactId>jboss-test</artifactId>
      <version>${version.jboss.test}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.jboss</groupId>
          <artifactId>jboss-common-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging-spi</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Test bundles dependencies -->
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.configadmin</artifactId>
      <version>${version.apache.felix.configadmin}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.compendium</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.log</artifactId>
      <version>${version.apache.felix.log}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.compendium</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.metatype</artifactId>
      <version>${version.apache.felix.metatype}</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.compendium</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-apache-xerces</artifactId>
      <version>${version.jboss.osgi.apache.xerces}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-common</artifactId>
      <version>${version.jboss.osgi.common}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-common-core</artifactId>
      <version>${version.jboss.osgi.common.core}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-husky</artifactId>
      <version>${version.jboss.osgi.husky}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-jaxb</artifactId>
      <version>${version.jboss.osgi.jaxb}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-jmx</artifactId>
      <version>${version.jboss.osgi.jmx}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-reflect</artifactId>
      <version>${version.jboss.osgi.reflect}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-xml-binding</artifactId>
      <version>${version.jboss.osgi.xml.binding}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.ops4j.pax.web</groupId>
      <artifactId>pax-web-jetty-bundle</artifactId>
      <version>${version.ops4j.pax.web}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>bundles</id>
            <phase>test-compile</phase>
            <goals>
              <goal>directory-single</goal>
            </goals>
            <configuration>
              <finalName>test-libs</finalName>
              <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
              <appendAssemblyId>false</appendAssemblyId>
              <descriptors>
                <descriptor>scripts/assembly-bundles.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
          <execution>
            <id>all</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>scripts/assembly-all.xml</descriptor>
              </descriptors>
              <archive>
                <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
              </archive>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>build-test-jars</id>
            <phase>test-compile</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <tasks>
                <property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
                <property name="tests.output.dir" value="${project.build.directory}" />
                <ant antfile="scripts/antrun-test-jars.xml" />
              </tasks>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>javacc-maven-plugin</artifactId>
        <version>2.4</version>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>javacc</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-idea-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>org.jboss.osgi.framework</Bundle-SymbolicName>
            <Bundle-Name>JBossOSGi Framework</Bundle-Name>
            <Bundle-Version>${version}</Bundle-Version>
            <Export-Package>
              org.osgi.framework;version="1.5",
              org.osgi.framework.launch;version="1.0",
              org.osgi.framework.hooks.service;version="1.0",
              org.osgi.service.packageadmin;version="1.2",
              org.osgi.service.startlevel;version="1.1",
              org.osgi.util.tracker;version="1.4"
             </Export-Package>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <argLine>-Xmx512m</argLine>
          <systemProperties>
            <property>
              <name>log4j.output.dir</name>
              <value>${project.build.directory}</value>
            </property>
            <property>
              <name>org.jboss.osgi.framework.launch.bootstrapPath</name>
              <value>bootstrap/jboss-osgi-bootstrap.xml</value>
            </property>
            <property>
              <name>org.jboss.osgi.husky.Invoker</name>
              <value>org.jboss.osgi.husky.internal.OSGiInvoker</value>
            </property>
            <property>
              <name>test.archive.directory</name>
              <value>${project.build.directory}/test-libs</value>
            </property>
          </systemProperties>
          <excludes>
            <!-- excludes listed here need to have a jira issue associated 
            <exclude>org/jboss/test/osgi/service/ServiceMixUnitTestCase.class</exclude>
            -->
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
