<?xml version="1.0" encoding="UTF-8"?>
<!-- * Copyright 2001-2009 The Apache Software Foundation. * * Licensed 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.juddi</groupId>
		<artifactId>juddi-parent</artifactId>
		<version>3.3.7-SNAPSHOT</version>
	</parent>
	<artifactId>juddiv3-war-repl</artifactId>
	<packaging>war</packaging>
	<name>jUDDI Replication Services WAR</name>
	<url>http://juddi.apache.org</url>

	<dependencies>
		<dependency>
			<artifactId>uddi-ws</artifactId>
			<groupId>org.apache.juddi</groupId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>commons-configuration</groupId>
			<artifactId>commons-configuration</artifactId>
			
		</dependency>
		    <dependency>
	         <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  			</dependency>
			<dependency>
		<groupId>org.json</groupId>
		<artifactId>json</artifactId>
		<version>20090211</version>
	</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
	</dependencies>
	<build>
		<finalName>juddiv3replication</finalName>
	</build>
	<profiles>
		<!-- the hibernate-jbossws-native profile builds a war for jboss, where 
			hibernate and jbossws are provided by the appserver -->
		<profile>
			<id>hibernate-jbossws-native</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-war-plugin</artifactId>
						<configuration>
							<webResources>
								<resource>
									<directory>JPA/Hibernate-JBoss</directory>
								</resource>
								<resource>
									<directory>JAX-WS/JBossWS-Native</directory>
								</resource>
							</webResources>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<dependencies>
				<dependency>
					<artifactId>juddi-core</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
				</dependency>
				<dependency>
					<groupId>javax.persistence</groupId>
					<artifactId>persistence-api</artifactId>
					<version>1.0</version>
					<scope>provided</scope>
				</dependency>
				
				<dependency>
					<groupId>org.hibernate</groupId>
					<artifactId>hibernate-entitymanager</artifactId>
					<scope>provided</scope>
				</dependency>

			</dependencies>
		</profile>
		<profile>
			<id>hibernate-jbossws-cxf</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-war-plugin</artifactId>
						<configuration>
							<webResources>
								<resource>
									<directory>JPA/Hibernate-JBoss</directory>
								</resource>
								<resource>
									<directory>JAX-WS/JBossWS-CXF</directory>
								</resource>
							</webResources>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<dependencies>
				<dependency>
					<artifactId>juddi-core</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
				</dependency>
                      		<dependency>
					<artifactId>juddi-rest-cxf</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
				</dependency>
				<dependency>
					<groupId>javax.persistence</groupId>
					<artifactId>persistence-api</artifactId>
					<version>1.0</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>org.hibernate</groupId>
					<artifactId>hibernate</artifactId>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>org.hibernate</groupId>
					<artifactId>hibernate-entitymanager</artifactId>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>cglib</groupId>
					<artifactId>cglib-nodep</artifactId>
					<version>2.1_3</version>
					<scope>provided</scope>
				</dependency>
                                 <dependency>
                                    <groupId>org.apache.cxf</groupId>
                                    <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                                    <version>${cxf.version}</version>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.cxf</groupId>
                                    <artifactId>cxf-rt-rs-client</artifactId>
                                    <version>${cxf.version}</version>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.cxf</groupId>
                                    <artifactId>cxf-rt-rs-service-description</artifactId>
                                    <version>${cxf.version}</version>
                                </dependency>
			</dependencies>
		</profile>
		<profile>
			<!-- the hibernate profile builds a war for tomcat, with hibernate and 
				cxf in the war -->
			<id>hibernate</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-war-plugin</artifactId>
						<configuration>
							<webResources>
								<resource>
									<directory>JPA/Hibernate</directory>
								</resource>
								<resource>
									<directory>JAX-WS/CXF</directory>
								</resource>
							</webResources>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<dependencies>
				<dependency>
					<artifactId>juddi-core</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
				</dependency>
                                <dependency>
					<artifactId>juddi-rest-cxf</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
				</dependency>
				
				<dependency>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-rt-frontend-jaxws</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.cxf</groupId>
					<artifactId>cxf-rt-transports-http</artifactId>
					<version>${cxf.version}</version>
					<exclusions>
						<exclusion>
							<groupId>cglib</groupId>
							<artifactId>cglib</artifactId>
						</exclusion>
					</exclusions>
				</dependency>
				<dependency>
					<groupId>org.springframework</groupId>
					<artifactId>spring-context</artifactId>
					<version>${springframework.version}</version>
				</dependency>
				<dependency>
					<groupId>org.springframework</groupId>
					<artifactId>spring-web</artifactId>
					<version>${springframework.version}</version>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.javamail</groupId>
					<artifactId>geronimo-javamail_1.4_mail</artifactId>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<!-- the openjpa profile builds a war for tomcat, with openjpa and cxf 
				in the war -->
			<id>openjpa</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-war-plugin</artifactId>
						<configuration>
							<webResources>
								<resource>
									<directory>JPA/OpenJPA</directory>
								</resource>
								<resource>
									<directory>JAX-WS/CXF</directory>
								</resource>
							</webResources>
						</configuration>
					</plugin>
				</plugins>
			</build>
			<dependencies>
				<dependency>
					<artifactId>juddi-core-openjpa</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
					<exclusions>
						<exclusion>
							<groupId>junit</groupId>
							<artifactId>junit</artifactId>
						</exclusion>
					</exclusions>
				</dependency>
                                 <dependency>
                                    <groupId>org.apache.cxf</groupId>
                                    <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                                    <version>${cxf.version}</version>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.cxf</groupId>
                                    <artifactId>cxf-rt-rs-client</artifactId>
                                    <version>${cxf.version}</version>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.cxf</groupId>
                                    <artifactId>cxf-rt-rs-service-description</artifactId>
                                    <version>${cxf.version}</version>
                                </dependency>
                                <dependency>
					<artifactId>juddi-rest-cxf</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
				</dependency>
				<dependency>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-rt-frontend-jaxws</artifactId>
					<version>${cxf.version}</version>
				</dependency>
				<!--added AO 6/8/2013 support for JSON encoding on REST endpoints -->
				<dependency>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-rt-rs-extension-providers</artifactId>
					<version>${cxf.version}</version>
				</dependency>
				
				<dependency>
					<groupId>org.codehaus.jettison</groupId>
					<artifactId>jettison</artifactId>
					<version>1.3.4</version>
				</dependency>
				<!--END added AO 6/8/2013 support for JSON encoding on REST endpoints -->
				<dependency>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-rt-frontend-jaxrs</artifactId>
					<version>${cxf.version}</version>
				</dependency>
				<dependency>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-rt-transports-http</artifactId>
					<version>${cxf.version}</version>
					<exclusions>
						<exclusion>
							<groupId>cglib</groupId>
							<artifactId>cglib</artifactId>
						</exclusion>
					</exclusions>
				</dependency>
				<dependency>
					<groupId>org.springframework</groupId>
					<artifactId>spring-context</artifactId>
					<version>${springframework.version}</version>
				</dependency>
				<dependency>
					<groupId>org.springframework</groupId>
					<artifactId>spring-web</artifactId>
					<version>${springframework.version}</version>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.javamail</groupId>
					<artifactId>geronimo-javamail_1.4_mail</artifactId>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<!-- the openjpa-axis2 profile builds a war for tomcat, with openjpa and 
				axis2 in the war -->
			<id>axis2</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-war-plugin</artifactId>
						<configuration>
							<webResources>
								<resource>
									<directory>JPA/OpenJPA</directory>
								</resource>
								<resource>
									<directory>JAX-WS/Axis2</directory>
								</resource>
							</webResources>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>default-cli</id>
								<configuration>
									<target name="axis2-servicejars">
										<dependencyfilesets prefix="mydeps." />
										<mkdir dir="${basedir}/target/juddiv3/WEB-INF/servicejars" />
										<copy todir="${basedir}/target/juddiv3/WEB-INF/servicejars">
											<fileset refid="mydeps.org.apache.juddi:juddi-core-openjpa:jar" />
										</copy>
									</target>
								</configuration>
								<phase>compile</phase>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<dependencies>
				<!-- providing this through ant in the servicejars directory -->
				<dependency>
					<artifactId>juddi-core-openjpa</artifactId>
					<groupId>org.apache.juddi</groupId>
					<version>${project.version}</version>
					<exclusions>
						<exclusion>
							<groupId>junit</groupId>
							<artifactId>junit</artifactId>
						</exclusion>
					</exclusions>
				</dependency>
				<!-- and then add the axis2 jars -->
				<dependency>
					<groupId>org.apache.axis2</groupId>
					<artifactId>axis2</artifactId>
					<version>1.6.2</version>
				</dependency>
				<dependency>
					<groupId>org.apache.axis2</groupId>
					<artifactId>axis2-jaxws</artifactId>
					<version>1.6.2</version>
				</dependency>
				<dependency>
					<groupId>org.apache.axis2</groupId>
					<artifactId>axis2-transport-http</artifactId>
					<version>1.6.2</version>
				</dependency>
				<dependency>
					<groupId>org.apache.axis2</groupId>
					<artifactId>axis2-transport-local</artifactId>
					<version>1.6.2</version>
				</dependency>
				<dependency>
					<groupId>org.apache.xmlbeans</groupId>
					<artifactId>xmlbeans</artifactId>
					<version>2.4.0</version>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.javamail</groupId>
					<artifactId>geronimo-javamail_1.4_mail</artifactId>
				</dependency>
			</dependencies>
		</profile>
		<profile>
            <id>jboss7up</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>

                        <configuration>
                            <packagingExcludes>
                                WEB-INF/lib/hibernate*.jar,
                                WEB-INF/lib/cglib*.jar,
                                WEB-INF/lib/log4j*.jar,
                                WEB-INF/lib/stax*.jar,
                                WEB-INF/lib/commons-log*.jar,
                                WEB-INF/classes/commons*,
                                WEB-INF/classes/log*
                            </packagingExcludes>
                            <webResources>
                                <resource>
                                    <directory>JPA/Hibernate-JBossAS7Up</directory>
                                </resource>
                                <resource>
                                    <directory>JAX-WS/CXF-JBossAS7Up</directory>
                                </resource>
                            </webResources>
                            
                        </configuration>
                    </plugin>
                </plugins>
            </build>
            <dependencies>
                <dependency>
                    <artifactId>juddi-core</artifactId>
                    <groupId>org.apache.juddi</groupId>
                    <version>${project.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>junit</groupId>
                            <artifactId>junit</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-core</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-entitymanager</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-jpa</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <artifactId>juddi-rest-cxf</artifactId>
                    <groupId>org.apache.juddi</groupId>
                    <version>${project.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>org.apache.cxf</groupId>
                            <artifactId>cxf-rt-rs-extension-providers</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>cglib</groupId>
                            <artifactId>cglib-nodep</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-core</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-entitymanager</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-jpa</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                
            </dependencies>
        </profile>
	</profiles>
</project>
