<?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">

	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.apache.camel</groupId>
		<artifactId>examples</artifactId>
		<version>2.7.3</version>
	</parent>

	<artifactId>camel-example-cxf</artifactId>
	<packaging>bundle</packaging>
	<name>Camel :: Example :: CXF</name>
	<description>An example which demonstrates the use of the Camel CXF component
  </description>

	<properties>
		<camel.osgi.export.pkg>
			org.apache.camel.example.*
     </camel.osgi.export.pkg>
		<camel.osgi.import.additional>
			META-INF.cxf,
			org.apache.activemq.xbean,org.apache.activemq.broker,org.apache.activemq.pool
     </camel.osgi.import.additional>
	 <camel.osgi.private.pkg>
			org.apache.hello_world_soap_http,
			org.apache.hello_world_soap_http.types
     </camel.osgi.private.pkg>
		<!-- to avoid us import bunch of cxf package -->
		<camel.osgi.dynamic>*</camel.osgi.dynamic>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-core</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-spring</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-cxf</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-jetty</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-transports-http-jetty</artifactId>
			<version>${cxf-version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-bindings-soap</artifactId>
			<version>${cxf-version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-transports-jms</artifactId>
			<version>${cxf-version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxrs</artifactId>
			<version>${cxf-version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.activemq</groupId>
			<artifactId>activemq-core</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.geronimo.specs</groupId>
			<artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
			<version>2.0.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.xbean</groupId>
			<artifactId>xbean-spring</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>xerces</groupId>
			<artifactId>xercesImpl</artifactId>
		</dependency>

        <!-- logging -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>

		<!-- testing -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-test</artifactId>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<profiles>
		<profile>
			<id>HttpToJMS</id>
			<properties>
				<!--
					Starting the camel-cxf example of routing the SOAP over http
					message to SOAP over JMS Server
				-->
				<target.main.class>org.apache.camel.example.cxf.CamelCxfExample</target.main.class>
			</properties>
		</profile>
		<profile>
			<id>CamelTransport</id>
			<properties>
				<!-- Starting the camel-cxf example of using Camel transport of CXF -->
				<target.main.class>org.apache.camel.example.camel.transport.CamelTransportExample</target.main.class>
			</properties>
		</profile>
		<profile>
			<id>WebServiceProvider</id>
			<properties>
				<!--
					Starting the camel-cxf example of how to use the JAXWS
					WebServiceProvider API
				-->
				<target.main.class>org.apache.camel.example.cxf.provider.CamelCxfExample</target.main.class>
			</properties>
		</profile>
		<profile>
			<id>JAXRS</id>
			<properties>
				<!-- Starting the camel-cxf example of JAXRS -->
				<target.main.class>org.apache.camel.example.cxf.jaxrs.CamelRouterBuilder</target.main.class>
			</properties>
		</profile>
		<profile>
			<id>HttpToJMS.Client</id>
			<properties>
				<!--
					Starting the camel-cxf example client of routing the SOAP over http
					message to SOAP over JMS Server
				-->
				<target.main.class>org.apache.camel.example.cxf.Client</target.main.class>
			</properties>
		</profile>
		<profile>
			<id>CamelTransport.Client</id>
			<properties>
				<!--
					Starting the camel-cxf example client of using Camel transport of
					CXF
				-->
				<target.main.class>org.apache.camel.example.camel.transport.Client</target.main.class>
			</properties>
		</profile>
		<profile>
			<id>WebServiceProvider.Client</id>
			<properties>
				<!--
					Starting the camel-cxf example client of how to use the JAXWS
					WebServiceProvider API
				-->
				<target.main.class>org.apache.camel.example.cxf.provider.Client</target.main.class>
			</properties>
		</profile>
		<profile>
			<id>JAXRS.Client</id>
			<properties>
				<!-- Starting the camel-cxf example client of JAXRS -->
				<target.main.class>org.apache.camel.example.cxf.jaxrs.Client</target.main.class>
			</properties>
		</profile>
	</profiles>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<phase>process-resources</phase>
						<goals>
							<goal>resources</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-artifacts</id>
						<phase>package</phase>
						<goals>
							<goal>attach-artifact</goal>
						</goals>
						<configuration>
							<artifacts>
								<artifact>
									<file>target/classes/features.xml</file>
									<type>xml</type>
									<classifier>features</classifier>
								</artifact>
							</artifacts>
						</configuration>
					</execution>
				</executions>
			</plugin>


			<plugin>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-codegen-plugin</artifactId>
				<version>${cxf-version}</version>
				<executions>
					<execution>
						<id>generate-sources</id>
						<phase>generate-sources</phase>
						<configuration>
							<sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
							<wsdlOptions>
								<wsdlOption>
									<wsdl>${basedir}/src/main/resources/wsdl/hello_world.wsdl</wsdl>
								</wsdlOption>
							</wsdlOptions>
						</configuration>
						<goals>
							<goal>wsdl2java</goal>
						</goals>
					</execution>
				</executions>
			</plugin>


			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<forkMode>once</forkMode>
					<childDelegation>false</childDelegation>
					<useFile>true</useFile>
					<includes>
						<include>**/*Test.*</include>
					</includes>
					<systemProperties>
						<property>
							<name>java.util.logging.config.file</name>
							<value>${basedir}/target/test-classes/logging.properties</value>
						</property>
					</systemProperties>
				</configuration>
			</plugin>

			<!-- Allows the example to be run via 'mvn compile exec:java' -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<configuration>
					<mainClass>${target.main.class}</mainClass>
					<includePluginDependencies>false</includePluginDependencies>
					<systemProperties>
						<property>
							<key>java.util.logging.config.file</key>
							<value>logging.properties</value>
						</property>
					</systemProperties>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>
