<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.mule.modules</groupId>
  <artifactId>mule-module-workday</artifactId>
  <version>3.1.0</version>
  <packaging>mule-module</packaging>
  <name>Mule Workday Connector</name>
  <description>Mule Workday Connector</description>

  <parent>
    <groupId>org.mule.tools.devkit</groupId>
    <artifactId>mule-devkit-parent</artifactId>
    <version>3.4.3</version>
  </parent>

  <properties>
    <workday.version>v22.0</workday.version>
    <utils.version>1.1.2</utils.version>
    <cxf.version>2.5.1</cxf.version>
    <ws.version>1.0.1</ws.version>
    <category>Standard</category>
    <mule.module.cxf.version>3.4.0</mule.module.cxf.version>
    <licensePath>LICENSE.md</licensePath>
    <sonar.exclusions>org/mule/modules/workday/staffing/config/spring,org/mule/modules/workday/staffing/config,org/mule/modules/workday/payroll/config/spring,org/mule/modules/workday/payroll/config,org/mule/modules/workday/cash/config/spring,org/mule/modules/workday/cash/config</sonar.exclusions>
    <devkit.studio.package.skip>false</devkit.studio.package.skip>
  </properties>

  <build>
    <plugins>
      <plugin>
        <artifactId>cxf-codegen-plugin</artifactId>
        <groupId>org.apache.cxf</groupId>
        <version>${cxf.version}</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <configuration>
              <wsdlOptions>
	              <wsdlOption>
	                  <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Absence_Management.wsdl</wsdl>
	                  <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.absence</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
	              </wsdlOption>
	              <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Benefits_Administration.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.benefits</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
	              <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Cash_Management.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.cashmanagement</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Compensation.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.compensation</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/External_Integrations.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.external</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Financial_Management.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.financial</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Human_Resources.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.hr</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Identity_Management.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.identity</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Integrations.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.integrations</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Payroll_Interface.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.payrollinterface</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Payroll.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.payroll</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Performance_Management.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.performancemanagement</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Professional_Services_Automation.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.professionalservices</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                          <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Notification.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.notification</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Recruiting.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.recruiting</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Resource_Management.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.resource</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                          <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Revenue_Management.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.revenue</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                          <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Staffing.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.staffing</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                        <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Talent.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.talent</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                          <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Time_Tracking.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.timetracking</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                          <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
                  <wsdlOption>
                      <wsdl>${basedir}/src/main/resources/wsdl/${workday.version}/Workforce_Planning.wsdl</wsdl>
                      <extraargs>
                          <extraarg>-p</extraarg>
                          <extraarg>com.workday.timetracking</extraarg>
                          <extraarg>-xjc-Xbg</extraarg>
                          <extraarg>-xjc-Xcollection-setter-injector</extraarg>
                          <extraarg>-exceptionSuper</extraarg>
                          <extraarg>java.lang.RuntimeException</extraarg>
                      </extraargs>
                      <bindingFiles>
                          <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                      </bindingFiles>
                  </wsdlOption>
              </wsdlOptions>
            </configuration>
            <goals>
              <goal>wsdl2java</goal>
            </goals>
          </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>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.17</version>
          <configuration>
              <forkMode>pertest</forkMode>
              <argLine>-Xms1024m -Xmx2048m -XX:PermSize=1024m -XX:MaxPermSize=1024m</argLine>
              <testFailureIgnore>false</testFailureIgnore>
              <skip>false</skip>
          </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
          <filtering>false</filtering>
          <directory>src/main/resources/wsdl</directory>
          <excludes>
              <exclude>**/*.wsdl</exclude>
          </excludes>
      </resource>
    </resources>
  </build>

  <dependencies>
    <dependency>
      <groupId>com.zaubersoftware</groupId>
      <artifactId>commons-ws</artifactId>
      <version>${ws.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-databinding-jaxb</artifactId>
        <version>${cxf.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-cxf</artifactId>
        <version>${mule.module.cxf.version}</version>
        <scope>provided</scope>
    </dependency>
	<dependency>
		<groupId>org.mule.modules</groupId>
		<artifactId>mule-connector-test</artifactId>
		<version>2.0.5</version>
	</dependency>
  </dependencies>

  <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 Snapshots Repository</name>
      <url>http://repository.mulesoft.org/snapshots/</url>
      <layout>default</layout>
    </repository>
  </repositories>

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

</project>
