<?xml version="1.0" encoding="UTF-8"?>
<!--
 !
 ! Copyright 2006 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.axis2</groupId>
		<artifactId>axis2-parent</artifactId>
		<version>1.2-SNAPSHOT</version>
		<relativePath>../../parent/pom.xml</relativePath>
	</parent>
	<artifactId>axis2.eclipse.codegen.plugin</artifactId>
	<name>Apache Axis 2.0 - tool - Eclipse Codegen Plugin</name>
	<packaging>maven-plugin</packaging>
	<description>The Axis 2 Eclipse Codegen Plugin for wsdl2java and java2wsdl</description>
	<dependencies>
		<dependency>
			<groupId>org.eclipse.core</groupId>
			<artifactId>org.eclipse.core.jobs</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.eclipse.core</groupId>
					<artifactId>org.eclipse.core.commands</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.core</groupId>
					<artifactId>org.eclipse.core.variables</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.core</groupId>
					<artifactId>org.eclipse.core.contenttype</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.core</groupId>
					<artifactId>org.eclipse.core.expressions</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.core</groupId>
					<artifactId>org.eclipse.core.filesystem</artifactId>
				</exclusion>
				<exclusion>
					<groupId> org.eclipse.update</groupId>
					<artifactId> org.eclipse.update.ui</artifactId>
				</exclusion>
				<exclusion>
					<groupId> org.eclipse.update</groupId>
					<artifactId> org.eclipse.update.configurator</artifactId>
				</exclusion>
				<exclusion>
					<groupId> org.eclipse.update</groupId>
					<artifactId> org.eclipse.update.core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.help</groupId>
					<artifactId>org.eclipse.help</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.ant</groupId>
					<artifactId>org.eclipse.ant.core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.eclipse.core</groupId>
			<artifactId>org.eclipse.core.resources</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eclipse.core</groupId>
			<artifactId>org.eclipse.core.runtime</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.eclipse.core</groupId>
					<artifactId>org.eclipse.core.runtime.compatibility</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.core</groupId>
					<artifactId>org.eclipse.core.runtime.compatibility.auth</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.eclipse.equinox</groupId>
			<artifactId>org.eclipse.equinox.common</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.eclipse.equinox</groupId>
					<artifactId>org.eclipse.equinox.registry</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.equinox</groupId>
					<artifactId>org.eclipse.equinox.preferences</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.eclipse.jface</groupId>
			<artifactId>org.eclipse.jface</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eclipse.osgi</groupId>
			<artifactId>org.eclipse.osgi</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eclipse.swt</groupId>
			<artifactId>org.eclipse.swt</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eclipse.swt</groupId>
			<artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eclipse.ui</groupId>
			<artifactId>org.eclipse.ui.ide</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.eclipse.ui</groupId>
					<artifactId>org.eclipse.ui.forms</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.ui</groupId>
					<artifactId>org.eclipse.ui.views</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
		</dependency>
		<dependency>
			<groupId>annogen</groupId>
			<artifactId>annogen</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.ws.commons.axiom</groupId>
			<artifactId>axiom-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.ws.commons.axiom</groupId>
			<artifactId>axiom-dom</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.ws.commons.axiom</groupId>
			<artifactId>axiom-impl</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-kernel</artifactId>
			<version>${version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-codegen</artifactId>
			<version>${version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-adb-codegen</artifactId>
			<version>${version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-java2wsdl</artifactId>
			<version>${version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-adb</artifactId>
			<version>${version}</version>
		</dependency>
		<dependency>
			<groupId>${stax.impl.groupid}</groupId>
			<artifactId>${stax.impl.artifactid}</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.neethi</groupId>
			<artifactId>neethi</artifactId>
		</dependency>
		<dependency>
			<groupId>stax</groupId>
			<artifactId>stax-api</artifactId>
		</dependency>
		<dependency>
			<groupId>wsdl4j</groupId>
			<artifactId>wsdl4j</artifactId>
		</dependency>
		<dependency>
			<groupId>xmlbeans</groupId>
			<artifactId>xbean</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.ws.commons.schema</groupId>
			<artifactId>XmlSchema</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.ant</groupId>
			<artifactId>ant</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.woden</groupId>
			<artifactId>woden</artifactId>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>
	</dependencies>
	<distributionManagement>
		<repository>
			<id>apache-repo</id>
			<name>Maven Central Repository</name>
			<url>scpexe://people.apache.org//www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
		</repository>
		<snapshotRepository>
			<id>apache-snapshots</id>
			<name>Apache Development Repository</name>
			<url>scpexe://people.apache.org//www/people.apache.org/repo/m2-snapshot-repository</url>
		</snapshotRepository>
	</distributionManagement>
	<build>
		<resources>
			<resource>
				<directory>src/main/java</directory>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>${maven.assembly.version}</version>
				<executions>
					<execution>
						<id>distribution-package</id>
						<phase>package</phase>
						<goals>
							<goal>attached</goal>
						</goals>
						<configuration>
							<descriptors>
								<descriptor>${pom.basedir}/eclipse-codegen-plugin-assembly.xml</descriptor>
							</descriptors>
							<finalName>dist</finalName>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<id>package</id>
						<phase>package</phase>
						<configuration>
							<tasks>
								<property name="codegen.plugin.version" value="Axis2_Codegen_Wizard_1.2.0"/>
								<property name="codegen.plugin.zip.name" value="axis2-eclipse-codegen-wizard.zip"/>
								<property name="codegen.plugin.jar.name" value="Axis2CodegenWizard.jar"/>
								<property name="src" value="./src"/>
								<property name="codegen.src.dir" value="../axis2-eclipse-codegen-plugin/src/main/java"/>
								<property name="output" value="../target/eclipse_plugins"/>
								<property name="output.target" value="${output}/release"/>
								<property name="plugin.output.dir" value="${output}/plugin"/>
								<property name="codegen.output.dir" value="${output}/code-gen"/>
								<property name="codegen.plugin.output.dir" value="${plugin.output.dir}/${codegen.plugin.version}"/>
								<property name="source.dir.name" value="src"/>
								<property name="lib.dir.name" value="lib"/>
								<property name="bin.dir.name" value="bin"/>
								<property name="help.dir.name" value="help"/>
								<property name="icons.dir.name" value="icons"/>
								<property name="plugin.project.file.name" value=".project"/>
								<property name="plugin.classpath.file.name" value=".classpath"/>
								<property name="plugin.help.file.name" value="help_toc.xml"/>
								<property name="codegen.resource.dir" value="../conf/codegen"/>
								<property name="codegen.help.resource.file" value="../../../xdocs/tools/1_1/eclipse/wsdl2java-plugin.html"/>
								<property name="codegen.help.images.dir" value="../../../xdocs/tools/1_1/eclipse/images"/>
								<property name="axis2.lib.dir" value="../../../target/lib"/>
								<property name="codegen.resource.dir" value="../conf/codegen"/>
								<delete dir="./target/plugin/${codegen.plugin.version}"/>
								<mkdir dir="./target/plugin/${codegen.plugin.version}"/>
								<delete dir="./target/dist"/>
								<mkdir dir="./target/dist"/>
								<!--Filter tockens for the copy command to filter the versions of external dependencies -->
								<filter token="version_number" value="1.2-SNAPSHOT"/>
								<filter token="activation.version" value="1.0-SNAPSHOT"/>
								<filter token="annogen.version" value="0.1.0"/>
								<filter token="ant.version" value="1.6.5"/>
								<filter token="axiom.version" value="SNAPSHOT"/>
								<filter token="commons.logging.version" value="1.1"/>
								<filter token="neethi.version" value="SNAPSHOT"/>
								<filter token="stax.api.version" value="1.0.1"/>
								<filter token="stax.impl.version" value="asl-3.2.0"/>
								<filter token="xbean.version" value="2.2.0"/>
								<filter token="xmlschema.version" value="1.2"/>
								<filter token="log4j.version" value="1.2.13"/>
								<filter token="wsdl4j.version" value="1.6.2"/>
								<filter token="woden.version" value="1.0-incubating-SNAPSHOT"/>
								<unzip src="./target/axis2.eclipse.codegen.plugin-${pom.version}.jar" dest="./target/plugin/${codegen.plugin.version}"/>
								<!-- Copy to the same position with the filtering on-->
								<!-- Copy to the same position with the filtering on-->
								<copy todir="./target/plugin/${codegen.plugin.version}" filtering="on">
									<fileset dir="${codegen.resource.dir}">
										<include name="plugin.xml"/>
										<include name="build.properties"/>
										<include name="${plugin.classpath.file.name}"/>
									</fileset>
								</copy>
								<!-- copy the help directory -->
								<mkdir dir="./target/plugin/${codegen.plugin.version}/${help.dir.name}"/>
								<mkdir dir="./target/plugin/${codegen.plugin.version}/${help.dir.name}/${icons.dir.name}"/>
								<copy todir="./target/plugin/${codegen.plugin.version}/${help.dir.name}">
									<fileset file="${codegen.help.resource.file}"/>
								</copy>
								<copy todir="./target/plugin/${codegen.plugin.version}/${help.dir.name}/${icons.dir.name}">
									<fileset dir="${codegen.help.images.dir}"/>
								</copy>
								<!-- copy the  icons-->
								<mkdir dir="./target/plugin/${codegen.plugin.version}/${icons.dir.name}"/>
								<copy todir="./target/plugin/${codegen.plugin.version}/${icons.dir.name}">
									<fileset dir="${codegen.resource.dir}/${icons.dir.name}"/>
								</copy>
								<!-- copy the other project files-->
								<copy todir="./target/plugin/${codegen.plugin.version}">
									<fileset file="${codegen.resource.dir}/${plugin.project.file.name}"/>
									<fileset file="${codegen.resource.dir}/${plugin.help.file.name}"/>
								</copy>
								<!-- copy the classes to classes directory-->
								<mkdir dir="./target/plugin/${codegen.plugin.version}/classes"/>
								<copy todir="./target/plugin/${codegen.plugin.version}/classes">
									<fileset dir="./target/plugin/${codegen.plugin.version}">
										<include name="**/org/**"/>
									</fileset>
								</copy>
								<!--Zip the classes to a jar file-->
								<zip destfile="./target/plugin/${codegen.plugin.version}/${codegen.plugin.jar.name}" basedir="./target/plugin/${codegen.plugin.version}/classes" update="true"/>
								<delete dir="./target/plugin/${codegen.plugin.version}/classes"/>
								<!--Zip the eclipse plugin to the target/dist directory -->
								<zip destfile="./target/dist/${codegen.plugin.zip.name}" basedir="./target/plugin" update="true"/>
								<delete dir="./target/temp"/>
								<delete dir="./target/classes"/>
								<delete dir="./target/test-classes"/>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
