<?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">
	<parent>
		<groupId>org.mule.tools.devkit</groupId>
		<artifactId>mule-devkit-parent</artifactId>
		<version>3.5.2</version>
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<groupId>org.mule.modules</groupId>
	<artifactId>mule-module-netsuite</artifactId>
	<packaging>mule-module</packaging>
	<name>Mule NetSuite Connector</name>
	<version>5.0.0</version>
	<description>Mule Cloud connector to NetSuite</description>
	<url>http://www.muleforge.org/projects/mule-module-netsuite</url>

	<properties>
		<cxf.version>2.5.9</cxf.version>
		<mule.module.utils.version>1.1.2</mule.module.utils.version>
		<sonar.exclusions>src/main/java/org/mule/module/netsuite/api/model/expression/**/parser/*.java</sonar.exclusions>
		<commons.ws.version>1.1</commons.ws.version>
		<category>Standard</category>
		<licensePath>LICENSE.md</licensePath>
		<devkit.studio.package.skip>false</devkit.studio.package.skip>
		<licm.version>1.1.4</licm.version>
		<connector.test.version>2.0.6</connector.test.version>
        <netsuite.api.version>2015_1</netsuite.api.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.2</version>
                <executions>
                    <execution>
                    	<id>attach-sources</id>
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>${cxf.version}</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                        <configuration>
                        	<sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>${basedir}/src/main/resources/netsuite.wsdl</wsdl>
                                    <autoNameResolution>true</autoNameResolution>
									<extraargs>
										<extraarg>-xjc-Xbg</extraarg>
										<extraarg>-xjc-Xcollection-setter-injector</extraarg>
										<extraarg>-b</extraarg>
										<extraarg>${basedir}/src/main/resources/binding.xml</extraarg>
										<extraarg>-b</extraarg>
										<extraarg>${basedir}/src/main/resources/binding-serializable.xml</extraarg>
										<!-- platform.core -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.core_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.core.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:core_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.core</extraarg>
										<!-- platform.common -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.common_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.common.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:common_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.common</extraarg>
										<!-- platform.faults -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.faults_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.faults.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:faults_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.faults</extraarg>
										<!-- platform.messages -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.messages_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.messages.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:messages_${netsuite.api.version}.platform.webservices.netsuite.com=com.netsuite.webservices.platform.messages</extraarg>
										<!-- platform -->
										<extraarg>-p</extraarg>
										<extraarg>urn:platform_${netsuite.api.version}.webservices.netsuite.com=com.netsuite.webservices.platform</extraarg>

										<!-- activities.scheduling -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.scheduling_${netsuite.api.version}.activities.webservices.netsuite.com=com.netsuite.webservices.activities.scheduling.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:scheduling_${netsuite.api.version}.activities.webservices.netsuite.com=com.netsuite.webservices.activities.scheduling</extraarg>

										<!-- documents.filecabinet -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.filecabinet_${netsuite.api.version}.documents.webservices.netsuite.com=com.netsuite.webservices.documents.filecabinet.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:filecabinet_${netsuite.api.version}.documents.webservices.netsuite.com=com.netsuite.webservices.documents.filecabinet</extraarg>

										<!-- general.communication -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.communication_${netsuite.api.version}.general.webservices.netsuite.com=com.netsuite.webservices.general.communication.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:communication_${netsuite.api.version}.general.webservices.netsuite.com=com.netsuite.webservices.general.communication</extraarg>

										<!-- setup.customization -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.customization_${netsuite.api.version}.setup.webservices.netsuite.com=com.netsuite.webservices.setup.customization.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:customization_${netsuite.api.version}.setup.webservices.netsuite.com=com.netsuite.webservices.setup.customization</extraarg>


										<!-- lists.accounting -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.accounting_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.accounting.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:accounting_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.accounting</extraarg>

										<!-- lists.employees -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.employees_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.employees.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:employees_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.employees</extraarg>

										<!-- lists.marketing -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.marketing_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.marketing.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:marketing_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.marketing</extraarg>

										<!-- lists.relationships -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.relationships_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.relationships.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:relationships_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.relationships</extraarg>

										<!-- lists.supplychain -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.supplychain_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.supplychain.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:supplychain_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.supplychain</extraarg>

										<!-- lists.support -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.support_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.support.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:support_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.support</extraarg>

										<!-- lists.website -->
										<extraarg>-p</extraarg>
										<extraarg>urn:website_${netsuite.api.version}.lists.webservices.netsuite.com=com.netsuite.webservices.lists.website</extraarg>


										<!-- transactions.bank -->
										<extraarg>-p</extraarg>
										<extraarg>urn:bank_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.bank</extraarg>

										<!-- transactions.customers -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.customers_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.customers.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:customers_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.customers</extraarg>

										<!-- transactions.demandplanning -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.demandplanning_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.demandplanning.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:demandplanning_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.demandplanning</extraarg>

										<!-- transactions.employees -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.employees_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.employees.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:employees_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.employees</extraarg>

										<!-- transactions.financial -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.financial_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.financial.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:financial_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.financial</extraarg>

										<!-- transactions.general -->
										<extraarg>-p</extraarg>
										<extraarg>urn:general_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.general</extraarg>

										<!-- transactions.inventory -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.inventory_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.inventory.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:inventory_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.inventory</extraarg>

										<!-- transactions.purchases -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.purchases_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.purchases.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:purchases_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.purchases</extraarg>

										<!-- transactions.sales -->
										<extraarg>-p</extraarg>
										<extraarg>urn:types.sales_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.sales.types</extraarg>
										<extraarg>-p</extraarg>
										<extraarg>urn:sales_${netsuite.api.version}.transactions.webservices.netsuite.com=com.netsuite.webservices.transactions.sales</extraarg>
									</extraargs>
								</wsdlOption>
							</wsdlOptions>
						</configuration>
					</execution>
				</executions>
				<dependencies>
					<!-- Boolean getters -->
					<dependency>
						<groupId>org.apache.cxf.xjcplugins</groupId>
						<artifactId>cxf-xjc-boolean</artifactId>
						<version>2.6.0</version>
					</dependency>
					<!-- Collection Setters -->
					<dependency>
						<groupId>net.java.dev.vcc.thirdparty</groupId>
						<artifactId>collection-setter-injector</artifactId>
						<version>0.5.0-1</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>com.mycila.maven-license-plugin</groupId>
				<artifactId>maven-license-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>**/*.wsdl</exclude>
						<exclude>**/*.xsd</exclude>
						<exclude>target/**</exclude>
						<exclude>**/.mule/*</exclude>
						<exclude>**/.idea/*</exclude>
						<exclude>**/.gitignore</exclude>
						<exclude>**/*.txt</exclude>
						<exclude>**/*.ftl</exclude>
						<exclude>**/*.xml</exclude>
						<exclude>**/*.properties</exclude>
						<exclude>**/*.sample</exclude>
						<exclude>**/*.md</exclude>
						<exclude>**/build-number.txt</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<filtering>false</filtering>
				<directory>src/main/resources/wsdl</directory>
				<excludes>
					<exclude>**/*.wsdl</exclude>
					<exclude>**/*.xsd</exclude>
				</excludes>
			</resource>
		</resources>
	</build>


	<dependencies>
		<dependency>
			<groupId>de.schlichtherle.truelicense</groupId>
			<artifactId>truelicense-core</artifactId>
			<version>1.32</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.mulesoft.licm</groupId>
			<artifactId>licm</artifactId>
			<version>${licm.version}</version>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<groupId>de.schlichtherle</groupId>
					<artifactId>truelicense</artifactId>
				</exclusion>
				<exclusion>
					<groupId>de.schlichtherle</groupId>
					<artifactId>truexml</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- CXF -->
		<dependency>
			<groupId>com.zaubersoftware</groupId>
			<artifactId>commons-ws</artifactId>
			<version>${commons.ws.version}</version>
			<exclusions>
				<exclusion>
					<groupId>net.sf.staccatocommons</groupId>
					<artifactId>staccatissimo-dynamic</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>com.mulesoft.modules</groupId>
			<artifactId>mule-modules-utils</artifactId>
			<version>${mule.module.utils.version}</version>
		</dependency>

		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-scripting</artifactId>
			<version>${mule.version}</version>
			<exclusions>
				<exclusion>
					<groupId>com.sun.xml.bind</groupId>
					<artifactId>jaxb-impl</artifactId>
				</exclusion>
				<exclusion>
					<groupId>javax.xml.bind</groupId>
					<artifactId>jaxb-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-databinding-jaxb</artifactId>
			<version>${cxf.version}</version>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<groupId>com.sun.xml.bind</groupId>
					<artifactId>jaxb-impl</artifactId>
				</exclusion>
				<!-- We use javax.activation -->
				<exclusion>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-activation_1.1_spec</artifactId>
				</exclusion>
				<!-- We use javax.mail -->
				<exclusion>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-javamail_1.4_spec</artifactId>
				</exclusion>
				<!-- We use stax-api -->
				<exclusion>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-stax-api_1.0_spec</artifactId>
				</exclusion>
				<!-- We use javax.xml.ws:jaxws-api -->
				<exclusion>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-jaxws_2.1_spec</artifactId>
				</exclusion>
				<!-- We use slf4j -->
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<!-- <exclusion> -->
				<!-- <groupId>com.sun.xml.bind</groupId> -->
				<!-- <artifactId>jaxb-impl</artifactId> -->
				<!-- </exclusion> -->
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxws</artifactId>
			<version>${cxf.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-ws-security</artifactId>
			<version>${cxf.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-transports-http</artifactId>
			<version>${cxf.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-jexl</artifactId>
			<version>2.1.1</version>
		</dependency>
	</dependencies>

	<profiles>
		<profile>
			<id>allTests</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-surefire-plugin</artifactId>
						<executions>
							<execution>
								<id>default-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/Test*.java</include>
										<include>**/*Test.java</include>
										<include>**/*TestCase.java</include>
										<include>**/MetaDataTestCases.java</include>
										<include>**/RegressionTestSuite.java</include>
									</includes>
									<excludes>
										<exclude>NetSuiteTestDriver.java</exclude>
									</excludes>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>


	<repositories>
		<repository>
			<id>mule-releases</id>
			<name>MuleSoft Releases Repository</name>
			<url>http://repository.mulesoft.org/releases/</url>
			<layout>default</layout>
		</repository>
		<repository>
			<id>mule-snapshots</id>
			<name>Mulesoft Repository Snapshots</name>
			<url>https://repository.mulesoft.org/snapshots/</url>
			<layout>default</layout>
		</repository>

	</repositories>


	<scm>
		<connection>scm:git:git://github.com:mulesoft/netsuite-connector.git</connection>
		<developerConnection>
            scm:git:git@github.com:mulesoft/netsuite-connector.git
        </developerConnection>
		<url>http://github.com/mulesoft/netsuite-connector</url>
	</scm>

</project>
