blob: 7a40e22de1c304f7e6ff99533bad39e493e741dc [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
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</groupId>
<artifactId>apache</artifactId>
<version>17</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.camel</groupId>
<artifactId>camel</artifactId>
<version>2.17.0</version>
<packaging>pom</packaging>
<name>Camel</name>
<description>Camel build POM</description>
<url>http://camel.apache.org</url>
<inceptionYear>2007</inceptionYear>
<prerequisites>
<maven>3.1.1</maven>
</prerequisites>
<properties>
<!-- enforce to require using at least this maven version -->
<maven-enforcer-require-maven-version>3.1.1</maven-enforcer-require-maven-version>
<!-- unify the encoding for all the modules -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<site-repo-url>scpexe://people.apache.org/www/camel.apache.org/maven/</site-repo-url>
<jdk.version>1.7</jdk.version>
<compiler.fork>false</compiler.fork>
<maven-compiler-plugin-version>3.5.1</maven-compiler-plugin-version>
<maven-surefire-plugin-version>2.19.1</maven-surefire-plugin-version>
<!-- eclipse plugin need the jaxb in this pom.xml file -->
<!-- Make sure to keep JAXB version up to date in parent/pom.xml in the bottom of the file -->
<jaxb-version>2.2.11</jaxb-version>
<errorprone-version>2.5</errorprone-version>
</properties>
<mailingLists>
<mailingList>
<name>Development List</name>
<subscribe>dev-subscribe@camel.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@camel.apache.org</unsubscribe>
<post>dev@camel.apache.org</post>
</mailingList>
<mailingList>
<name>User List</name>
<subscribe>users-subscribe@camel.apache.org</subscribe>
<unsubscribe>users-unsubscribe@camel.apache.org</unsubscribe>
<post>users@camel.apache.org</post>
</mailingList>
<mailingList>
<name>Commits List</name>
<subscribe>commits-subscribe@camel.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@camel.apache.org</unsubscribe>
<post>commits@camel.apache.org</post>
</mailingList>
</mailingLists>
<developers>
<developer>
<name>The Apache Camel Team</name>
<email>dev@camel.apache.org</email>
<url>http://camel.apache.org</url>
<organization>Apache Software Foundation</organization>
<organizationUrl>http://apache.org/</organizationUrl>
<properties>
<picUrl>http://camel.apache.org/banner.data/apache-camel-7.png</picUrl>
</properties>
</developer>
</developers>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/CAMEL</url>
</issueManagement>
<distributionManagement>
<site>
<id>apache.website</id>
<url>${site-repo-url}</url>
</site>
</distributionManagement>
<!-- Comment out the snapshot repositories as we don't need them now -->
<repositories>
<repository>
<id>apache.snapshots</id>
<url>http://repository.apache.org/snapshots/</url>
<name>Apache Snapshot Repo</name>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<url>http://repository.apache.org/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
<modules>
<module>parent</module>
<module>etc</module>
<module>buildingtools</module>
<module>camel-core</module>
<module>components</module>
<module>tooling</module>
<module>platforms</module>
<module>tests</module>
<module>examples</module>
</modules>
<scm>
<connection>scm:git:http://git-wip-us.apache.org/repos/asf/camel.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/camel.git</developerConnection>
<url>https://fisheye6.atlassian.com/browse/~br=master/camel-git</url>
<tag>camel-2.17.0</tag>
</scm>
<build>
<defaultGoal>install</defaultGoal>
<!-- enforce maven version -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>${maven-enforcer-require-maven-version}</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.10</version>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-buildtools</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<version>2.2.1</version>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-buildtools</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<excludes>
<exclude>**/README</exclude>
<exclude>**/README.txt</exclude>
<exclude>**/README.md</exclude>
<exclude>**/ReadMe.md</exclude>
<exclude>**/resources/**/*.xsd</exclude>
<exclude>**/webapp/js/**/*</exclude>
<exclude>**/test/resources/**/*</exclude>
<exclude>**/test/data*/**/*</exclude>
<exclude>.gitignore</exclude>
<exclude>.git/**/*</exclude>
<exclude>**/*.adoc</exclude>
<exclude>**/*.md</exclude>
<!-- tooling/camel-manual/src/styles/print.css use a different license -->
<exclude>**/src/styles/print.css</exclude>
<!-- tooling for component docs -->
<exclude>**/component-header.mvel</exclude>
<exclude>**/component-options.mvel</exclude>
<exclude>**/endpoint-options.mvel</exclude>
<!-- cxf does not handle comments here -->
<exclude>**/src/main/resources/META-INF/cxf/cxf.extension</exclude>
<exclude>**/src/main/resources/META-INF/cxf/bus-extensions.txt</exclude>
<!-- ignore the api signatures files -->
<exclude>**/src/signatures/*.txt</exclude>
<!-- camel website and user-manual -->
<exclude>**/node/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/npm-shrinkwrap.json</exclude>
<exclude>**/package.json</exclude>
<exclude>**/user-manual/**</exclude>
<!-- generated files -->
<exclude>**/target/**/*</exclude>
<exclude>**/eclipse-classes/**/*</exclude>
<exclude>**/.*</exclude>
<exclude>**/.settings/**/*</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/.idea/**/*</exclude>
<exclude>**/avro/**/*.avpr</exclude>
<exclude>**/OSGI-INF/bundle.info</exclude>
<exclude>**/test_rsa*</exclude>
<exclude>**/data*/**/*.xml</exclude>
<exlucde>**/*.log</exlucde>
<exclude>**/id_file</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>**/grape.json</exclude>
<exclude>**/Dropbox_API_Terms_and_Conditions.txt</exclude>
<exclude>**/MerchandiseRestResource.apxc</exclude>
<exclude>**/file-sig-api.txt</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<!-- see http://jira.codehaus.org/browse/MRELEASE-812 -->
<version>2.4.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
<configuration>
<localCheckout>true</localCheckout>
<pushChanges>true</pushChanges>
<tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
<useReleaseProfile>false</useReleaseProfile>
<preparationGoals>clean install</preparationGoals>
<goals>deploy</goals>
<!-- The profile we want to use when doing the release -->
<arguments>-Prelease,enable-schemagen,apt,sourcecheck,hibernate</arguments>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>assembly</id>
<activation>
<property>
<name>!noassembly</name>
</property>
</activation>
<modules>
<module>apache-camel</module>
</modules>
</profile>
<profile>
<id>setup.eclipse</id>
<!-- set up the eclipse workspace and generate the .classpath and .project
files for modules -->
<properties>
<eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
<maven.test.skip.exec>true</maven.test.skip.exec>
</properties>
<build>
<defaultGoal>package</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin-version}</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<maxmem>512M</maxmem>
<fork>${compiler.fork}</fork>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<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>configure-workspace</goal>
</goals>
<configuration>
<workspace>${eclipse.workspace.dir}</workspace>
<workspaceCodeStylesURL>file:etc/eclipse/CamelCodeFormatter.xml</workspaceCodeStylesURL>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<id>setup.workspace</id>
<phase>validate</phase>
<configuration>
<target>
<path id="ecp.ws.path" location="${eclipse.workspace.dir}" />
<property name="full.eclipse.workspace" refid="ecp.ws.path" />
<path path="${basedir}/etc" id="etc.path" />
<path id="buildtools.classpath">
<fileset dir="${basedir}/buildingtools/target" includes="*.jar" />
<pathelement location="${basedir}/buildingtools/target/classes" />
<pathelement location="${basedir}/buildingtools/src/main/resources" />
</path>
<whichresource resource="/camel-eclipse-pmd" property="pmd.url" classpathref="buildtools.classpath" />
<whichresource resource="/camel-pmd-ruleset.xml" property="pmdruleset.url" classpathref="buildtools.classpath" />
<whichresource resource="/camel-eclipse-checkstyle" property="eclipse.checkstyle.url" classpathref="buildtools.classpath" />
<whichresource resource="/camel-checkstyle.xml" property="checkstyle.url" classpathref="buildtools.classpath" />
<mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings" />
<mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core" />
<mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/net.sourceforge.pmd.eclipse" />
<get src="${checkstyle.url}" dest="${full.eclipse.workspace}/camel-checkstyle.xml" />
<!-- Add checkstyle config -->
<copy file="${basedir}/etc/eclipse/template.checkstyle-config.xml" tofile="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml" overwrite="no">
<filterset>
<filter token="CHECKSTYLE_CONFIG_FILE" value="${full.eclipse.workspace}/camel-checkstyle.xml" />
<filter token="APACHE_HEADER_FILE" value="${full.eclipse.workspace}/apache-header.txt" />
</filterset>
</copy>
<xslt style="${basedir}/etc/eclipse/addcheckstyle.xsl" in="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml" out="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml.new">
<param name="checkstyleconfig" expression="${full.eclipse.workspace}/camel-checkstyle.xml" />
</xslt>
<copy file="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml.new" tofile="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml" overwrite="yes" />
<!-- Add code format rules -->
<concat destfile="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs" append="true" fixlastline="true">
<filelist dir="${basedir}/etc/eclipse" files="org.eclipse.jdt.core.prefs" />
</concat>
<loadfile property="eclipse.code.format" srcFile="${basedir}/etc/eclipse/CamelCodeFormatter.xml" />
<loadfile property="eclipse.code.templates" srcFile="${basedir}/etc/eclipse/codetemplates.xml" />
<loadfile property="eclipse.camel.java.code.templates" srcFile="${basedir}/etc/eclipse/camel_java_templates.xml" />
<loadfile property="eclipse.camel.xml.code.templates" srcFile="${basedir}/etc/eclipse/camel_xml_templates.xml" />
<propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs">
<entry key="formatter_profile" value="Camel Java Conventions" />
<entry key="org.eclipse.jdt.ui.formatterprofiles" value="${eclipse.code.format}" />
<entry key="org.eclipse.jdt.ui.text.custom_code_templates" value="${eclipse.code.templates}" />
<!-- Add Camel templates for Java DSL -->
<entry key="org.eclipse.jdt.ui.text.custom_templates" value="${eclipse.camel.java.code.templates}" />
<!-- Add import order -->
<entry key="org.eclipse.jdt.ui.importorder" value="java;javax;org.w3c;org.xml;w3c;" />
<!-- Sort order -->
<entry key="org.eclipse.jdt.ui.visibility.order" value="B,R,D,V," />
<entry key="outlinesortoption" value="T,SF,F,SI,I,C,SM,M," />
<entry key="org.eclipse.jdt.ui.enable.visibility.order" value="true" />
</propertyfile>
<propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs">
<entry key="eclipse.preferences.version" value="1" />
<!-- Add Camel templates for Spring DSL -->
<entry key="org.eclipse.wst.sse.ui.custom_templates" value="${eclipse.camel.xml.code.templates}" />
</propertyfile>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- When not on the Mac, we need to add tools.jar to the antrun plugin
for schemagen to work -->
<id>not-mac</id>
<activation>
<os>
<family>!mac</family>
</os>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-jxc</artifactId>
<version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-trax</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>integration</id>
<!--The profile for running the unit and integration test -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin-version}</version>
<configuration>
<forkedProcessTimeoutInSeconds>300</forkedProcessTimeoutInSeconds>
<childDelegation>false</childDelegation>
<useFile>true</useFile>
<failIfNoTests>false</failIfNoTests>
<runOrder>alphabetical</runOrder>
<systemPropertyVariables>
<derby.stream.error.file>target/derby.log</derby.stream.error.file>
<java.awt.headless>${java.awt.headless}</java.awt.headless>
</systemPropertyVariables>
<includes>
<include>**/*Test.*</include>
<include>**/*IntegrationTest.*</include>
</includes>
</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>
<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>
<configuration>
<additionalparam>${javadoc.opts}</additionalparam>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>source-jar</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<activation>
<property>
<name>release</name>
</property>
</activation>
<build>
<plugins>
<!-- 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>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<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>
<configuration>
<additionalparam>${javadoc.opts}</additionalparam>
</configuration>
</execution>
</executions>
</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>
<configuration>
<passphrase>${gpg.passphrase}</passphrase>
<useAgent>${gpg.useagent}</useAgent>
</configuration>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>doclint-java8-disable</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<javadoc.opts>-Xdoclint:none</javadoc.opts>
</properties>
</profile>
</profiles>
</project>