<?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>4</version>
  </parent>

  <groupId>org.apache.servicemix</groupId>
  <artifactId>components-pom</artifactId>
  <version>5</version>
  <packaging>pom</packaging>

  <name>ServiceMix :: Components POM</name>
  <description>This pom provides the common bits for all ServiceMix components, as well as providing a reactor build for those components.</description>

  <prerequisites>
    <maven>2.0.6</maven>
  </prerequisites>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/components/components-pom/tags/components-pom-5</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/components/components-pom/tags/components-pom-5</developerConnection>
    <url>http://svn.apache.org/viewcvs.cgi/servicemix/components/components-pom/tags/components-pom-5</url>
  </scm>

  <properties>
    <previous.releases>3.1.2,3.2,3.2.1,3.2.2,3.2.3,2008.01,2009.01,2009.02</previous.releases>

    <servicemix-legal-version>1.0</servicemix-legal-version>
    <servicemix-specs-version>1.4.0</servicemix-specs-version>
    <servicemix-utils-version>1.2.0</servicemix-utils-version>
    <servicemix-shared-version>2010.01</servicemix-shared-version>
    <servicemix-version>3.3.1</servicemix-version>

    <!-- Common runtime dependencies -->
    <spring-version>2.5.6</spring-version>
    <commons-logging-version>1.1.1</commons-logging-version>
    <geronimo-jta-api-version>1.1.1</geronimo-jta-api-version>
    <jencks.version>2.2</jencks.version>
    <slf4j.version>1.5.8</slf4j.version>
    <log4j.version>1.2.14</log4j.version>

    <!-- Common XML Parsers -->
    <stax-api-version>1.0.1</stax-api-version>
    <jaxb-api-version>2.1</jaxb-api-version>
    <jaxb-impl-version>2.1.12</jaxb-impl-version>
    <jaxb-xjc-version>2.1.12</jaxb-xjc-version>
    <woodstox-version>4.0.7</woodstox-version>
    <xalan-version>2.7.0</xalan-version>
    <xercesImpl-version>2.8.1</xercesImpl-version>
    <xml-apis-version>1.3.04</xml-apis-version>
    <xmlParserAPIs-version>2.2.1</xmlParserAPIs-version>
    <wsdl4j-version>1.6.2</wsdl4j-version>

    <!-- For testing -->
    <easymock-version>2.4</easymock-version>
    <junit-version>4.5</junit-version>
    <pax-exam-version>1.2.0</pax-exam-version>

    <!-- Tooling -->
    <jbi-maven-plugin-version>4.3</jbi-maven-plugin-version>

    <servicemix.osgi.export>${servicemix.osgi.export.pkg}*;version=${project.version}</servicemix.osgi.export>
    <servicemix.osgi.export.pkg>org.apache.servicemix</servicemix.osgi.export.pkg>
    <servicemix.osgi.import>*</servicemix.osgi.import>
    <!-- by default, only java.* packages are available from the JRE - this adds the other ones -->
    <servicemix.osgi.dynamic.import>javax.*,org.w3c.*,org.xml.*</servicemix.osgi.dynamic.import>
    <servicemix.osgi.private />
    <servicemix.osgi.bundles />

  </properties>

  <dependencyManagement>
    <dependencies>

      <dependency>
        <groupId>org.apache.servicemix.specs</groupId>
        <artifactId>org.apache.servicemix.specs.jbi-api-1.0</artifactId>
        <version>${servicemix-specs-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.servicemix</groupId>
        <artifactId>servicemix-utils</artifactId>
        <version>${servicemix-utils-version}</version>
      </dependency>   
      <dependency>
         <groupId>org.apache.servicemix</groupId>
         <artifactId>servicemix-shared</artifactId>
         <version>${servicemix-shared-version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.servicemix</groupId>
         <artifactId>servicemix-common</artifactId>
         <version>${servicemix-shared-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.servicemix</groupId>
        <artifactId>servicemix-core</artifactId>
        <version>${servicemix-version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jmx</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.jencks</groupId>
            <artifactId>jencks</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Keep the most common dependencies here to help avoid conflicts across components -->
      <!-- But if we put too much stuff here we will have to release this pom often, since we would need
           a release every time a dependency changes -->
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging-version}</version>
        <optional>true</optional>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>avalon-framework</groupId>
            <artifactId>avalon-framework</artifactId>
          </exclusion>
          <exclusion>
            <groupId>logkit</groupId>
            <artifactId>logkit</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring-version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</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-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-jms</artifactId>
        <version>${spring-version}</version>
      </dependency>

      <dependency>
        <groupId>stax</groupId>
        <artifactId>stax-api</artifactId>
        <version>${stax-api-version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb-api-version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.xml</groupId>
            <artifactId>jsr173</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>${jaxb-impl-version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.xml</groupId>
            <artifactId>jsr173</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.jws</groupId>
            <artifactId>jsr181-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-xjc</artifactId>
        <version>${jaxb-xjc-version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jsr173_api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.codehaus.woodstox</groupId>
        <artifactId>woodstox-core-asl</artifactId>
        <version>${woodstox-version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>wsdl4j</groupId>
        <artifactId>wsdl4j</artifactId>
        <version>${wsdl4j-version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>${xalan-version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>${xercesImpl-version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>${xml-apis-version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xmlParserAPIs</artifactId>
        <version>${xmlParserAPIs-version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jta_1.1_spec</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.jencks</groupId>
        <artifactId>jencks</artifactId>
        <version>${jencks.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
          <scope>provided</scope>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>${slf4j.version}</version>
          <scope>provided</scope>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>jcl104-over-slf4j</artifactId>
          <version>${slf4j.version}</version>
          <scope>provided</scope>
      </dependency>
      <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>${log4j.version}</version>
          <scope>provided</scope>
      </dependency>
      
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>${easymock-version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit-version}</version>
        <scope>test</scope>
      </dependency>
      
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam</artifactId>
        <version>${pax-exam-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-junit</artifactId>
        <version>${pax-exam-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-container-default</artifactId>
        <version>${pax-exam-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-junit-extender-impl</artifactId>
        <version>${pax-exam-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.compendium</artifactId>
        <version>4.0.1</version>
        <scope>compile</scope>
        <optional>true</optional>
      </dependency>
      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.core</artifactId>
        <version>4.0.1</version>
        <scope>test</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>


  <build>
    <defaultGoal>install</defaultGoal>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
      </resource>
      <resource>
        <directory>target/generated</directory>
        <includes>
          <include>**/*</include>
        </includes>
      </resource>
    </resources>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.0-beta-7</version>
          <configuration>
            <useReleaseProfile>false</useReleaseProfile>
            <preparationGoals>clean verify install</preparationGoals>
            <goals>deploy</goals>
            <arguments>-Prelease,deploy</arguments>
            <autoVersionSubmodules>true</autoVersionSubmodules>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.4.3</version>
          <configuration>
            <useFile>true</useFile>
            <forkMode>once</forkMode>
            <childDelegation>false</childDelegation>
            <argLine>-Xmx512M</argLine>
            <workingDirectory>${basedir}</workingDirectory>
            <systemProperties>
              <property>
                <name>log4j.configuration</name>
                <value>log4j-tests.properties</value>
              </property>
            </systemProperties>
            <includes>
              <include>**/*Test.*</include>
            </includes>
            <excludes>
              <exclude>**/*$*</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.servicemix.tooling</groupId>
          <artifactId>jbi-maven-plugin</artifactId>
          <version>${jbi-maven-plugin-version}</version>
          <extensions>true</extensions>
          <configuration>
             <generatedDescriptorLocation>${project.build.directory}/jbi</generatedDescriptorLocation>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.1-alpha-1</version>
          <configuration>
            <warSourceDirectory>src/webapp/</warSourceDirectory>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.xbean</groupId>
          <artifactId>maven-xbean-plugin</artifactId>
          <version>3.4.1</version>
        </plugin>
        <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>maven-jetty-plugin</artifactId>
          <version>6.1.6</version>
        </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>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.3</version>
          <configuration>
            <downloadSources>true</downloadSources>
            <downloadJavadocs>false</downloadJavadocs>
            <outputDirectory>${basedir}/eclipse-classes</outputDirectory>
          </configuration>
        </plugin>
        <plugin>
            <groupId>org.ops4j.pax.exam</groupId>
            <artifactId>maven-paxexam-plugin</artifactId>
            <version>${pax-exam-version}</version>
      </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.servicemix</groupId>
        <artifactId>servicemix-build</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <goals>
              <goal>spring.schemas</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.1</version>
        <executions>
          <execution>
            <id>copy-legal</id>
            <phase>generate-sources</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>
        <dependencies>
          <dependency>
            <groupId>org.apache.servicemix.legal</groupId>
            <artifactId>legal</artifactId>
            <version>${servicemix-legal-version}</version>
            <type>xml</type>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <version>1.0</version>
        <dependencies>
          <dependency>
            <groupId>org.apache.servicemix</groupId>
            <artifactId>servicemix-build</artifactId>
            <version>1.0</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>std-packaging</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/maven-shared-archive-resources</outputDirectory>
              <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>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <configuration>
              <tasks>
                <copy todir="${project.build.directory}/${project.artifactId}-${project.version}-installer">
                  <fileset dir="${project.build.directory}/maven-shared-archive-resources" />
                </copy>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.0.0</version>
        <configuration>
          <instructions>
            <Bundle-Name>${project.name}</Bundle-Name>
            <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
            <Export-Package>${servicemix.osgi.export}</Export-Package>
            <Import-Package>${servicemix.osgi.import}</Import-Package>
            <DynamicImport-Package>${servicemix.osgi.dynamic.import}</DynamicImport-Package>
            <Private-Package>${servicemix.osgi.private}</Private-Package>
            <Require-Bundle>${servicemix.osgi.bundles}</Require-Bundle>
            <Spring-Context>*;publish-context:=false;create-asynchronously:=true</Spring-Context>
          </instructions>
          <supportedProjectTypes>
            <supportedProjectType>jar</supportedProjectType>
            <supportedProjectType>bundle</supportedProjectType>
            <supportedProjectType>jbi-component</supportedProjectType>
            <supportedProjectType>jbi-shared-library</supportedProjectType>
          </supportedProjectTypes>
          <unpackBundle>true</unpackBundle>
        </configuration>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <useDefaultManifestFile>true</useDefaultManifestFile>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <minmemory>128m</minmemory>
          <maxmemory>512</maxmemory>
          <breakiterator>true</breakiterator>
          <quiet>true</quiet>
          <verbose>false</verbose>
          <source>1.5</source>
          <!--
          FIXME: This worked in m1, but m2 complains about it being an invalid flag
          <additionalparam>-J-Djava.awt.headless=true</additionalparam>
          -->
          <linksource>true</linksource>
          <links>
            <!-- JSE -->
            <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
            <link>http://java.sun.com/j2se/1.4.2/docs/api/</link>
            <link>http://java.sun.com/j2se/1.3/docs/api/</link>
            <!-- JEE -->
            <link>http://java.sun.com/j2ee/1.4/docs/api/</link>
            <link>http://java.sun.com/j2ee/sdk_1.3/techdocs/api/</link>
            <!-- Libraries -->
            <link>http://jakarta.apache.org/commons/collections/apidocs</link>
            <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
            <link>http://www.junit.org/junit/javadoc/</link>
            <link>http://logging.apache.org/log4j/docs/api/</link>
            <link>http://jakarta.apache.org/regexp/apidocs/</link>
            <link>http://jakarta.apache.org/velocity/api/</link>
          </links>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.0</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.0</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.1</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>1.0.0</version>
      </plugin>
    </plugins>
  </reporting>
  <profiles>
    <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>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.0-alpha-4</version>
            <inherited>true</inherited>
            <executions>
              <execution>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <!-- We want to deploy the artifact to a staging location for perusal -->
          <plugin>
            <inherited>true</inherited>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
              <updateReleaseInfo>true</updateReleaseInfo>
            </configuration>
          </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>
                    <version>2.4</version>
                    <configuration>
                        <source>1.5</source>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
    <profile>
      <!-- default profile enables checkstyle and Xlint stuff -->
      <id>sourcecheck</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.2</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.servicemix</groupId>
                <artifactId>servicemix-build</artifactId>
                <version>1.0</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>validate</id>
                <phase>validate</phase>
                <configuration>
                  <configLocation>smx-checkstyle.xml</configLocation>
                  <consoleOutput>true</consoleOutput>
                  <failsOnError>true</failsOnError>
                  <linkXRef>false</linkXRef>
                  <suppressionsLocation>smx-checkstyle-suppressions.xml</suppressionsLocation>
                  <sourceDirectory>${basedir}/src</sourceDirectory>
                  <headerLocation>smx-checkstyle-header.txt</headerLocation>
                </configuration>
                <goals>
                  <goal>checkstyle</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>2.4</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.servicemix</groupId>
                <artifactId>servicemix-build</artifactId>
                <version>1.0</version>
              </dependency>
            </dependencies>
            <configuration>
              <rulesets>
                <ruleset>smx-pmd-ruleset.xml</ruleset>
              </rulesets>
              <targetJdk>1.5</targetJdk>
              <linkXRef>false</linkXRef>
              <includeTests>true</includeTests>
              <verbose>true</verbose>
              <excludeRoots>
                <excludeRoot>${basedir}/src/main/generated</excludeRoot>
              </excludeRoots>
            </configuration>
            <executions>
              <execution>
                <id>validate</id>
                <phase>validate</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>setup.eclipse</id>
      <build>
        <defaultGoal>process-test-sources</defaultGoal>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <configuration>
              <buildcommands>
                <java.lang.String>org.eclipse.jdt.core.javabuilder</java.lang.String>
                <java.lang.String>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</java.lang.String>
                <java.lang.String>net.sourceforge.pmd.runtime.pmdBuilder</java.lang.String>
              </buildcommands>
              <projectnatures>
                <nature>org.eclipse.jdt.core.javanature</nature>
                <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
                <nature>net.sourceforge.pmd.runtime.pmdNature</nature>
              </projectnatures>
            </configuration>
            <executions>
              <execution>
                <id>setup.eclipse.project</id>
                <phase>process-test-sources</phase>
                <goals>
                  <goal>eclipse</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.servicemix</groupId>
                <artifactId>servicemix-build</artifactId>
                <version>1.0</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>setup.workspace</id>
                <phase>validate</phase>
                <configuration>
                  <tasks>
                    <whichresource resource="/smx-eclipse-pmd" property="pmd.url" />
                    <whichresource resource="/smx-pmd-ruleset.xml" property="pmdruleset.url" />
                    <whichresource resource="/smx-eclipse-checkstyle" property="eclipse.checkstyle.url" />
                    <get src="${pmdruleset.url}" dest=".ruleset" />
                    <get src="${pmd.url}" dest=".pmd" />
                    <get src="${eclipse.checkstyle.url}" dest=".checkstyle" />
                  </tasks>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </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>
                <!-- left around after creating the site -->
                <exclude>**/cobertura.ser</exclude>
                <!-- left around after some unit tests -->
                <exclude>**/derby.log</exclude>
                <exclude>**/camel-ftp/res/**/*</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>
      <repositories>
          <!--This is a hack to short circuit the jencks 2.1 problem with servicemix.org repo
              It can probably be deleted if we update to jencks 2.2 in ServiceMix 3.3.x -->
        <repository>
          <id>servicemix-repo</id>
          <name>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>
        <repository>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots />
          <id>Codehaus Snapshots</id>
          <url>http://snapshots.repository.codehaus.org/</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots />
          <id>Codehaus Snapshots</id>
          <url>http://snapshots.repository.codehaus.org/</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

</project>
