<?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.servicemix</groupId>
    <artifactId>servicemix-pom</artifactId>
    <version>2</version>
  </parent>

  <groupId>org.apache.servicemix.features</groupId>
  <artifactId>features</artifactId>
  <packaging>pom</packaging>
  <version>4.1.0-SNAPSHOT</version>
  <name>Apache ServiceMix Features</name>
  <inceptionYear>2005</inceptionYear>

  <modules>
    <module>branding</module>
    <module>activemq</module>
    <module>camel</module>
    <module>war</module>
    <module>cxf</module>
    <module>examples</module>
    <module>assembly</module>
  </modules>

  <scm>
      <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/smx4/features/trunk</connection>
      <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/smx4/features/trunk</developerConnection>
      <url>http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/</url>
  </scm>
  <issueManagement>
      <system>jira</system>
      <url>http://issues.apache.org/activemq/browse/SMX4</url>
  </issueManagement>

  <prerequisites>
      <maven>2.0.7</maven>
  </prerequisites>

  <properties>
      <maven.assembly.version>2.2-beta-4</maven.assembly.version>
      <xfire.maven.plugin>4.1</xfire.maven.plugin>
      <abdera.version>0.4.0-incubating_1</abdera.version>
      <activemq.version>5.2.0</activemq.version>
      <acegi.version>1.0.0</acegi.version>
      <ant.version>1.7.0_1</ant.version>
      <antlr.version>3.0.1_1</antlr.version>
      <antlr-runtime.version>3.0.1_1</antlr-runtime.version>
      <aopalliance.version>1.0_1</aopalliance.version>
      <asm.version>2.2.3_1</asm.version>
      <bnd.version>0.0.227</bnd.version>
      <cglib.version>2.1_3_2</cglib.version>
      <camel.version>1.6.0</camel.version>
      <commons.management.version>1.0</commons.management.version>
      <commons-beanutils.version>1.7.0_1</commons-beanutils.version>
      <commons-collections.version>3.2.1</commons-collections.version>
      <commons-csv.version>1.0-r706899_1</commons-csv.version>
      <commons-dbcp.version>1.2.2_3</commons-dbcp.version>
      <commons.httpclient.version>3.1_1</commons.httpclient.version>
      <commons-io.version>1.3.2_1</commons-io.version>
      <commons-codec.version>1.2_1</commons-codec.version>
      <commons-jxpath.version>1.2_1</commons-jxpath.version>
      <commons.logging.version>1.1.1</commons.logging.version>
      <commons.net.version>1.4.1_1</commons.net.version>
      <commons.pool.version>1.4</commons.pool.version>
      <cxf.version>2.2.3</cxf.version>
      <dom4j.version>1.6_1</dom4j.version>
      <drools.version>4.0.7_1</drools.version>
      <depends.maven.plugin.version>1.1</depends.maven.plugin.version>
      <fastinfoset.version>1.2.2_1</fastinfoset.version>
      <features.maven.plugin.version>1.1</features.maven.plugin.version>
      <felix.bundlerepository.version>1.2.0</felix.bundlerepository.version>
      <felix.compendium.version>1.2.0</felix.compendium.version>
      <felix.configadmin.version>1.0.4</felix.configadmin.version>
      <felix.core.version>1.2.0</felix.core.version>
      <felix.osgi.version>1.2.0</felix.osgi.version>
      <felix.plugin.version>1.4.1</felix.plugin.version>
      <felix.prefs.version>1.0.2</felix.prefs.version>
      <flatpack.version>3.1.1_1</flatpack.version>
      <geronimo.annotation.version>1.1.1</geronimo.annotation.version>
      <geronimo.ejb3.version>1.0.1</geronimo.ejb3.version>
      <geronimo.el.version>1.0.1</geronimo.el.version>
      <geronimo.interceptor.version>1.0.1</geronimo.interceptor.version>
      <geronimo.jacc.version>1.0.1</geronimo.jacc.version>
      <geronimo.jaxrpc.version>2.0.0</geronimo.jaxrpc.version>
      <geronimo.j2ee.connector.version>2.0.0</geronimo.j2ee.connector.version>
      <geronimo.j2ee.management.version>1.0.1</geronimo.j2ee.management.version>
      <geronimo.jms.version>1.1.1</geronimo.jms.version>
      <geronimo.jta.version>1.1.1</geronimo.jta.version>
      <geronimo.jpa.version>1.1.1</geronimo.jpa.version>
      <geronimo.saaj.version>1.0.0</geronimo.saaj.version>
      <geronimo.servlet.version>1.1.2</geronimo.servlet.version>
      <geronimo.stax.version>1.0.1</geronimo.stax.version>
      <geronimo.wsmetadata.version>1.1.2</geronimo.wsmetadata.version>
      <geronimo.transaction.version>2.2-r634076</geronimo.transaction.version>
      <geronimo.connector.version>2.2-r634076</geronimo.connector.version>
      <groovy.version>1.5.6_1</groovy.version>
      <howl.version>1.0.1-1_1</howl.version>
      <httpcore.version>4.0-alpha6_1</httpcore.version>
      <hamcrest.version>1.2-dev1_1</hamcrest.version>
      <ibatis.version>2.3.4.726_1</ibatis.version>
      <irclib.version>1.10_1</irclib.version>
      <isorelax.version>20050913_1</isorelax.version>
      <jackrabbit.version>1.5.3</jackrabbit.version>
      <jasper.version>6.0.14_1</jasper.version>
      <jaxb.api.version>2.1</jaxb.api.version>
      <jaxb.impl.version>2.1.6_1</jaxb.impl.version>
      <jaxws.api.version>2.1</jaxws.api.version>
      <jaxrs.api.version>1.0</jaxrs.api.version>
      <javax.mail.version>1.4.1_1-SNAPSHOT</javax.mail.version>
      <jcr-api.version>1.0_1</jcr-api.version>
      <jdt.core.version>3.2.3_1</jdt.core.version>
      <jdom.version>1.1_1</jdom.version>
      <jencks.version>2.1_1</jencks.version>
      <jetty.version>6.1.14</jetty.version>
      <jetty.bundle.version>6.1.14_1</jetty.bundle.version>
      <jexcelapi.version>2.4.2_1</jexcelapi.version>
      <jettison.version>1.0.1_1</jettison.version>
      <jing.version>20030619_1</jing.version>
      <jline.version>0.9.94</jline.version>
      <jruby.version>1.1.2_1</jruby.version>
      <joda-time.version>1.5.2_1</joda-time.version>
      <josql.version>1.5_1</josql.version>
      <jsch.version>0.1.31_1</jsch.version>
      <jsmpp.version>2.0_1</jsmpp.version>
      <juel.version>2.1.0_1</juel.version>
      <junit.version>4.4</junit.version>
      <junit.bundle.version>4.4_1</junit.bundle.version>
      <log4j.version>1.2.14</log4j.version>
      <mina.version>1.1.6_1</mina.version>
      <mina.original.version>1.1.6</mina.original.version>
      <neethi.version>2.0.4_1</neethi.version>
      <ognl.version>2.7.3_1</ognl.version>
      <easymock.version>2.4</easymock.version>
      <oscache.version>2.4_1</oscache.version>
      <oscore.version>2.2.4_1</oscore.version>
      <osworkflow.version>2.7.0_1</osworkflow.version>
      <oro.version>2.0.8_1</oro.version>
      <openejb.version>3.0-beta-2</openejb.version>
      <openjpa.version>1.0.1</openjpa.version>
      <openjpa.bundle.version>1.2.0_1</openjpa.bundle.version>
      <pax.logging.version>1.1.1</pax.logging.version>
      <pax.url.version>0.3.3</pax.url.version>
      <pax.web.version>0.5.2</pax.web.version>
      <pax.web.extender.version>0.5.0</pax.web.extender.version>
      <propertyset.version>1.3_1</propertyset.version>
      <qpid.version>1.0-incubating-M2.1_1</qpid.version>
      <quartz.version>1.6.1_1</quartz.version>
      <rhino.version>1.7R1_1</rhino.version>
      <saaj.impl.version>1.3_1</saaj.impl.version>
      <saxon.version>9.1.0.1_1</saxon.version>
      <scriptengines.version>1.1</scriptengines.version>
      <servicemix3.version>3.3</servicemix3.version>
      <servicemix-utils.version>1.1.0</servicemix-utils.version>
      <servicemix.legal.version>1.0</servicemix.legal.version>
      <servicemix.kernel.version>1.1.0</servicemix.kernel.version>
      <servicemix.nmr.version>1.1.0-SNAPSHOT</servicemix.nmr.version>
      <servicemix.specs.version>1.3.0</servicemix.specs.version>

      <servicemix-shared-version>2009.01</servicemix-shared-version>
      <servicemix-quartz-version>2009.01</servicemix-quartz-version>  
      <servicemix-jms-version>2009.01</servicemix-jms-version>
      <servicemix-jsr181-version>2009.01</servicemix-jsr181-version>
      <servicemix-http-version>2009.01</servicemix-http-version>
      <servicemix-mail-version>2009.01</servicemix-mail-version>
      <servicemix-osworkflow-version>2009.01</servicemix-osworkflow-version>
      <servicemix-wsn2005-version>2009.01</servicemix-wsn2005-version>
      <servicemix-bean-version>2009.01</servicemix-bean-version>
      <servicemix-eip-version>2009.01</servicemix-eip-version>
      <servicemix-script-version>2009.01</servicemix-script-version>
      <servicemix-scripting-version>2009.01</servicemix-scripting-version>
      <servicemix-validation-version>2009.01</servicemix-validation-version>
      <servicemix-ftp-version>2009.01</servicemix-ftp-version>
      <servicemix-xmpp-version>2009.01</servicemix-xmpp-version>
      <servicemix-saxon-version>2009.01</servicemix-saxon-version>
      <servicemix-truezip-version>2009.01</servicemix-truezip-version>
      <servicemix-camel-version>2009.01</servicemix-camel-version>
      <servicemix-cxf-bc-version>2009.02-SNAPSHOT</servicemix-cxf-bc-version>
      <servicemix-cxf-se-version>2009.02-SNAPSHOT</servicemix-cxf-se-version>
      <servicemix-drools-version>2009.01</servicemix-drools-version>
      <servicemix-file-version>2009.01</servicemix-file-version>
      <servicemix-snmp-version>2009.01</servicemix-snmp-version>
      <servicemix-smpp-version>2009.01</servicemix-smpp-version>
      <servicemix-vfs-version>2009.01</servicemix-vfs-version>
      <servicemix-jbi-plugin-version>4.1</servicemix-jbi-plugin-version>

      <smack.version>3.0.4_1</smack.version>
      <snmp4j.version>1.8.1_1</snmp4j.version>
      <spring.version>2.5.6</spring.version>
      <spring.integration.version>1.0.0.RC2</spring.integration.version>
      <spring.osgi.version>1.2.0-rc1</spring.osgi.version>
      <stringtemplate.version>3.2_1</stringtemplate.version>
      <velocity.version>1.6.2_1-SNAPSHOT</velocity.version>
      <wsdl4j.version>1.6.1_1</wsdl4j.version>
      <woodstox.version>3.2.7_1</woodstox.version>
      <xstream.version>1.2.2</xstream.version>
      <xstream.bundle.version>1.3_1</xstream.bundle.version>
      <xbean.version>3.5</xbean.version>
      <xmlbeans.version>2.4.0_2</xmlbeans.version>
      <xmlschema.version>1.4.5</xmlschema.version>
      <xmlsec.version>1.4.3_1-SNAPSHOT</xmlsec.version>
      <opensaml.version>1.1_1</opensaml.version>
      <xmlresolver.version>1.2_1</xmlresolver.version>
      <xpp3.version>1.1.4c_1</xpp3.version>
      <werken-xpath.version>0.9.4_1</werken-xpath.version>
      <wss4j.version>1.5.8</wss4j.version>
      <sonar.skippedModules>examples</sonar.skippedModules>
  </properties>

  <repositories>
      <!-- Default repository -->
      <repository>
          <id>central</id>
          <name>Default maven repo</name>
          <url>http://repo1.maven.org/maven2</url>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>     
              <enabled>false</enabled>
          </snapshots>     
      </repository>
       <!-- ServiceMix repo -->
       <repository>
           <id>servicemix</id>
           <name>Apache ServiceMix Repository</name>
           <url>http://svn.apache.org/repos/asf/servicemix/m2-repo</url>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>     
               <enabled>false</enabled>
           </snapshots>     
       </repository>
       <!-- ASF M2 snapshot repo -->
       <repository>
          <id>apache-snapshots</id>
          <name>Apache m2 Snapshots Repository</name>
          <url>http://repository.apache.org/content/groups/snapshots-group</url>
          <releases>
              <enabled>false</enabled>
          </releases>
          <snapshots>     
              <enabled>true</enabled>
          </snapshots>     
       </repository>
       <!-- OPS4j repository -->
       <repository>
           <id>ops4j</id>
           <name>OPS4j repo</name>
           <url>http://repository.ops4j.org/maven2</url>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>     
               <enabled>false</enabled>
           </snapshots>     
       </repository>
       <!-- Java.net repo -->
       <repository>
          <id>java.net</id>
          <url>http://download.java.net/maven/1/</url>
          <layout>legacy</layout>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>     
              <enabled>false</enabled>
          </snapshots>     
        </repository>
       <repository>
            <id>java.net.2</id>
            <name>Java Net 2 Repository</name>
            <url>http://download.java.net/maven/2</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>     
                <enabled>false</enabled>
            </snapshots>     
        </repository>
       <!--jboss repo for drools lib--> 
       <repository>
            <id>jboss</id>
            <name>Jboss Repository</name>
            <url>http://repository.jboss.org/maven2</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>     
                <enabled>false</enabled>
            </snapshots>     
       </repository>
       <!-- Spring milestones repository -->
       <!-- TODO: remove this repo when spring-dm 1.2.0 is out -->
       <repository>
           <id>spring-milestone</id>
           <name>Spring Portfolio Milestone Repository</name>
           <url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
       </repository>
   </repositories>

  <pluginRepositories>
      <!-- ServiceMix repo -->
      <pluginRepository>
          <id>servicemix</id>
          <name>Apache ServiceMix Repository</name>
          <url>http://svn.apache.org/repos/asf/servicemix/m2-repo</url>
      </pluginRepository>
      <!-- Snapshot repo -->
      <pluginRepository>
          <id>snapshots</id>
          <name>Snapshots Repository</name>
          <url>http://repository.apache.org/content/groups/snapshots-group</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
      </pluginRepository>
  </pluginRepositories>

  <dependencyManagement>
    <dependencies>
      <dependency>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.compendium</artifactId>
          <version>${felix.compendium.version}</version>
          <exclusions>
            <exclusion>
              <groupId>org.apache.felix</groupId>
              <artifactId>org.osgi.foundation</artifactId>
            </exclusion>
            <exclusion>
              <groupId>org.apache.felix</groupId>
              <artifactId>javax.servlet</artifactId>
            </exclusion>
          </exclusions>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>${spring.version}</version>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
          <version>${spring.version}</version>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>${spring.version}</version>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>${spring.version}</version>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
      </dependency>
      <dependency>
          <groupId>org.springframework.osgi</groupId>
          <artifactId>spring-osgi-extender</artifactId>
          <version>${spring.osgi.version}</version>
      </dependency>
      <dependency>
          <groupId>org.springframework.osgi</groupId>
          <artifactId>spring-osgi-core</artifactId>
          <version>${spring.osgi.version}</version>
      </dependency>
      <dependency>
          <groupId>org.springframework.osgi</groupId>
          <artifactId>spring-osgi-io</artifactId>
          <version>${spring.osgi.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.mina</groupId>
          <artifactId>mina-core</artifactId>
          <version>${mina.original.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.mina</groupId>
          <artifactId>mina-filter-ssl</artifactId>
          <version>${mina.original.version}</version>
      </dependency>
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>${junit.version}</version>
      </dependency>
      <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>${log4j.version}</version>
      </dependency>
      <dependency>
          <groupId>jline</groupId>
          <artifactId>jline</artifactId>
          <version>${jline.version}</version>
      </dependency>
      <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
          <version>${commons.logging.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-jms_1.1_spec</artifactId>
          <version>${geronimo.jms.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-jta_1.1_spec</artifactId>
          <version>${geronimo.jta.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-servlet_1.5_spec</artifactId>
          <version>${geronimo.servlet.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
          <version>${geronimo.j2ee.connector.version}</version>
      </dependency>
      <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jaxws_2.1_spec</artifactId>
                <version>1.0</version>
      </dependency>
      <dependency>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
          <version>${geronimo.j2ee.management.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>activemq-core</artifactId>
          <version>${activemq.version}</version>
          <exclusions>
              <exclusion>
                  <groupId>org.apache.activemq</groupId>
                  <artifactId>activeio-core</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.apache.geronimo.specs</groupId>
                  <artifactId>geronimo-j2ee-management_1.0_spec</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>javax.xml</groupId>
                  <artifactId>jaxb-api</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-bundle</artifactId>
          <version>${cxf.version}</version>
          <exclusions>
              <exclusion>
                  <groupId>bouncycastle</groupId>
                  <artifactId>bcprov-jdk14</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>net.java.dev.stax-utils</groupId>
                  <artifactId>stax-utils</artifactId>
              </exclusion>
              <exclusion>
                      <groupId>org.codehaus.jra</groupId>
                      <artifactId>jra</artifactId>
              </exclusion>
              <exclusion>
                      <groupId>xml-apis</groupId>
                      <artifactId>xml-apis</artifactId>
              </exclusion>
              <exclusion>
                      <groupId>jaxen</groupId>
                      <artifactId>jaxen</artifactId>
              </exclusion>
              <exclusion>
                      <groupId>opensaml</groupId>
                      <artifactId>opensaml</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      <dependency>
          <groupId>org.jencks</groupId>
          <artifactId>jencks</artifactId>
          <!-- do not use ${jencks.version} for this - is SMX4 OSGi bundle version -->
          <version>2.1</version>
          <exclusions>
              <exclusion>
                  <groupId>org.apache.geronimo.specs</groupId>
                  <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>jencks</groupId>
                  <artifactId>xapool-without-pool</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
          <version>${jetty.version}</version>
          <exclusions>
              <exclusion>
                  <groupId>org.mortbay.jetty</groupId>
                  <artifactId>servlet-api-2.5</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-client</artifactId>
          <version>${jetty.version}</version>
      </dependency>
      <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-sslengine</artifactId>
          <version>${jetty.version}</version>
      </dependency>
      <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-util</artifactId>
          <version>${jetty.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.xbean</groupId>
          <artifactId>xbean-spring</artifactId>
          <version>${xbean.version}</version>
      </dependency>
      <dependency>
          <groupId>org.easymock</groupId>
          <artifactId>easymock</artifactId>
          <version>${easymock.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
      <defaultGoal>install</defaultGoal>

      <pluginManagement>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-release-plugin</artifactId>
                  <version>2.0-beta-7</version>
                  <configuration>
                      <preparationGoals>clean,verify,install</preparationGoals>
                      <autoVersionSubmodules>true</autoVersionSubmodules>
                  </configuration>
              </plugin>
              <plugin>
                  <groupId>org.apache.servicemix.tooling</groupId>
                  <artifactId>jbi-maven-plugin</artifactId>
                  <version>${servicemix-jbi-plugin-version}</version>
                  <extensions>true</extensions>
              </plugin>
              <plugin>
                  <groupId>org.apache.felix</groupId>
                  <artifactId>maven-bundle-plugin</artifactId>
                  <version>${felix.plugin.version}</version>
                  <extensions>true</extensions>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>2.0.2</version>
                  <configuration>
                      <source>1.5</source>
                      <target>1.5</target>
                      <maxmem>256M</maxmem>
                      <fork>${compiler.fork}</fork>
                  </configuration>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-idea-plugin</artifactId>
                  <version>2.1</version>
                  <configuration>
                      <downloadSources>true</downloadSources>
                      <downloadJavadocs>true</downloadJavadocs>
                  </configuration>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>2.3.1</version>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>2.3.1</version>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-assembly-plugin</artifactId>
                  <version>${maven.assembly.version}</version>
              </plugin>
          </plugins>
      </pluginManagement>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-dependency-plugin</artifactId>
              <version>2.0</version>
              <executions>
                  <execution>
                      <id>copy-legal</id>
                      <phase>generate-resources</phase>
                      <goals>
                          <goal>copy</goal>
                      </goals>
                      <configuration>
                          <artifactItems>
                              <artifactItem>
                                  <groupId>org.apache.servicemix.legal</groupId>
                                  <artifactId>legal</artifactId>
                                   <version>${servicemix.legal.version}</version>
                                  <type>xml</type>
                                  <outputDirectory>target/legal/</outputDirectory>
                              </artifactItem>
                          </artifactItems>
                          <stripVersion>true</stripVersion>
                      </configuration>
                  </execution>
	          </executions>
	      </plugin>
          <plugin>
              <artifactId>maven-remote-resources-plugin</artifactId>
              <version>1.0</version>
              <executions>
                  <execution>
                      <goals>
                          <goal>process</goal>
                      </goals>
                      <configuration>
                          <resourceBundles>
                              <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                          </resourceBundles>
                          <supplementalModels>
                              <supplementalModel>target/legal/legal.xml</supplementalModel>
                          </supplementalModels>
                          <properties>
                              <addLicense>true</addLicense>
                              <addArtifact>true</addArtifact>
                              <projectName>Apache ServiceMix</projectName>
                          </properties>
                      </configuration>
                  </execution>
              </executions>
          </plugin>
      </plugins>
  </build>

  <reporting>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-javadoc-plugin</artifactId>
              <version>2.3</version>
          </plugin>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jxr-plugin</artifactId>
              <version>2.0</version>
          </plugin>
      </plugins>
  </reporting>

  <profiles>
      <profile>
          <id>fastinstall</id>
          <properties>
              <maven.test.skip>true</maven.test.skip>
          </properties>
      </profile>
      <profile>
          <id>rat</id>
          <build>
              <plugins>
                  <plugin>
                      <groupId>org.codehaus.mojo</groupId>
                      <artifactId>rat-maven-plugin</artifactId>
                      <version>1.0-alpha-3</version>
                      <executions>
                          <execution>
                              <phase>verify</phase>
                              <goals>
                                  <goal>check</goal>
                              </goals>
                          </execution>
                      </executions>
                      <configuration>
                          <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
                          <excludes>
                              <exclude>**/target/**/*</exclude>
                              <!-- IDEA files -->
                              <exclude>**/*.iml</exclude>
                              <exclude>**/*.ipr</exclude>
                              <exclude>**/*.iws</exclude>
                              <!-- Eclipse files -->
                              <exclude>**/.*</exclude>
                              <exclude>**/eclipse-classes/**/*</exclude>
                          </excludes>
                      </configuration>
                  </plugin>
              </plugins>
          </build>
      </profile>
      <profile>
          <id>release</id>
          <build>
              <plugins>
                  <!-- We want to deploy the artifact to a staging location for perusal -->
                  <plugin>
                      <inherited>true</inherited>
                      <artifactId>maven-deploy-plugin</artifactId>
                      <version>2.3</version>
                      <configuration>
                          <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
                          <updateReleaseInfo>true</updateReleaseInfo>
                      </configuration>
                  </plugin>
                  <!-- We want to sign the artifact, the POM, and all attached artifacts -->
                  <plugin>
                      <artifactId>maven-gpg-plugin</artifactId>
                      <version>1.0-alpha-4</version>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>sign</goal>
                              </goals>
                          </execution>
                      </executions>
                  </plugin>
              </plugins>
          </build>
      </profile>
      <profile>
          <id>setup.eclipse</id>
          <modules>
              <module>assembly</module>
          </modules>
          <properties>
              <eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
          </properties>
          <build>
              <defaultGoal>eclipse:eclipse</defaultGoal>
              <plugins>
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-eclipse-plugin</artifactId>
                      <inherited>false</inherited>
                      <executions>
                          <execution>
                              <id>setup.eclipse.workspace</id>
                              <phase>process-test-sources</phase>
                              <goals>
                                  <goal>add-maven-repo</goal>
                              </goals>
                              <configuration>
                                  <workspace>${eclipse.workspace.dir}</workspace>
                              </configuration>
                          </execution>
                      </executions>
                  </plugin>
              </plugins>
          </build>
      </profile>
      <profile>
          <id>deploy</id>
          <build>
              <defaultGoal>deploy</defaultGoal>
              <plugins>
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-source-plugin</artifactId>
                      <version>2.0.4</version>
                      <executions>
                          <execution>
                              <id>attach-sources</id>
                              <goals>
                                  <goal>jar</goal>
                              </goals>
                          </execution>
                      </executions>
                  </plugin>
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-javadoc-plugin</artifactId>
                      <executions>
                          <execution>
                              <id>attach-javadocs</id>
                              <goals>
                                  <goal>jar</goal>
                              </goals>
                          </execution>
                      </executions>
                  </plugin>
              </plugins>
          </build>
      </profile>
      <profile>
          <id>ibmjdk</id>
          <activation>
              <property>
                  <name>java.vendor</name>
                  <value>IBM Corporation</value>
              </property>
          </activation>
          <build>
              <plugins>
                  <!--
                      Need to add a xerces dependency to cxf-codegen-plugin
                      when using the ibm jdk to work around error:
                      org.apache.xerces.impl.dv.DVFactoryException:
                      DTD factory class 
                      org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl
                      does not extend from DTDDVFactory.
                      Can remove this when we upgrade to a cxf.version which
                      includes this in the cxf-codegen-plugin pom.
                  -->
                  <plugin>
                      <groupId>org.apache.cxf</groupId>
                      <artifactId>cxf-codegen-plugin</artifactId>
                      <version>${cxf.version}</version>
                      <dependencies>
                          <dependency>
                              <groupId>xerces</groupId>
                              <artifactId>xercesImpl</artifactId>
                              <version>2.8.1</version>
                          </dependency>
                      </dependencies>
                  </plugin>
              </plugins>
          </build>
      </profile>
  </profiles>

</project>
