<?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">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.mule.runtime</groupId>
    <artifactId>mule</artifactId>
    <version>4.1.4</version>
  </parent>
  <groupId>org.mule.tests</groupId>
  <artifactId>mule-extensions-integration-tests</artifactId>
  <version>4.1.4</version>
  <packaging>pom</packaging>
  <name>Mule Tests</name>

  <modules>
    <module>performance</module>
    <module>integration</module>
    <module>dsl</module>
    <module>soap-connect</module>
    <module>oauth</module>
    <module>schedulers-tests</module>
    <module>mule-test-smart-connectors-parent</module>
    <module>munit-tests</module>
    <module>extensions-xml-support</module>
    <module>logging</module>
  </modules>

  <properties>
    <muleSchedulerServiceTestVersion>1.1.7</muleSchedulerServiceTestVersion>
    <muleHttpServiceTestVersion>1.1.4</muleHttpServiceTestVersion>
    <muleOAuthServiceTestVersion>1.1.5</muleOAuthServiceTestVersion>
    <muleSoapServiceTestVersion>1.1.8</muleSoapServiceTestVersion>
    <muleExtensionTestSoapTestVersion>1.1.2</muleExtensionTestSoapTestVersion>

    <muleSpringModuleTestVersion>1.2.0</muleSpringModuleTestVersion>
    <muleValidationModuleTestVersion>1.2.2</muleValidationModuleTestVersion>
    <muleScriptingModuleTestVersion>1.1.3</muleScriptingModuleTestVersion>
    <muleFileCommonsTestVersion>1.2.0</muleFileCommonsTestVersion>

    <muleHttpConnectorTestVersion>1.3.2</muleHttpConnectorTestVersion>
    <muleFileConnectorTestVersion>1.2.0</muleFileConnectorTestVersion>
    <muleObjectStoreConnectorTestVersion>1.1.1</muleObjectStoreConnectorTestVersion>
    <muleJavaModuleTestVersion>1.2.0</muleJavaModuleTestVersion>
    <muleVmConnectorTestVersion>2.0.0</muleVmConnectorTestVersion>
    <muleAggregatorsModuleTestVersion>1.0.0</muleAggregatorsModuleTestVersion>
    <muleDbConnectorTestVersion>1.4.0</muleDbConnectorTestVersion>
    <muleFtpConnectorTestVersion>1.2.2</muleFtpConnectorTestVersion>
    <muleFileConnectorTestVersion>1.2.0</muleFileConnectorTestVersion>
    <muleJmsConnectorTestVersion>1.3.0</muleJmsConnectorTestVersion>
    <muleWscConnectorTestVersion>1.1.1</muleWscConnectorTestVersion>
    <muleOauthModuleTestVersion>1.1.5</muleOauthModuleTestVersion>
    <muleSocketsConnectorTestVersion>1.1.2</muleSocketsConnectorTestVersion>

    <apacheHttpCoreVersion>4.4.6</apacheHttpCoreVersion>
    <apacheHttpClientVersion>4.5.3</apacheHttpClientVersion>
    <springVersion>4.3.19.RELEASE</springVersion>
    <springSecurityVersion>4.2.8.RELEASE</springSecurityVersion>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <skip>true</skip>
          <skipDeploy>true</skipDeploy>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.mule.services</groupId>
      <artifactId>mule-service-weave</artifactId>
      <classifier>mule-service</classifier>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <repositories>
    <repository>
      <id>mule</id>
      <name>Mule Repository</name>
      <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
    </repository>
    <repository>
      <id>spring-snapshot</id>
      <name>Spring Snapshot Repository</name>
      <url>http://repo.spring.io/snapshot/</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>mule-plugin</id>
      <name>Mule Repository</name>
      <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
    </pluginRepository>
  </pluginRepositories>

  <profiles>
    <profile>
      <id>release</id>
      <properties>
        <skipNoSnapshotsEnforcerPluginRule>false</skipNoSnapshotsEnforcerPluginRule>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <version>${maven.enforcer.plugin.version}</version>
            <executions>
              <execution>
                <id>enforce-no-snapshots-in-deps</id>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <configuration>
                  <rules>
                    <requireReleaseDeps>
                      <message>No Snapshots Allowed in Deps!</message>
                      <excludes>
                        <exclude>com.mulesoft.munit:*</exclude>
                          <exclude>org.mule.weave:*</exclude>
                          <exclude>org.mule.services:*</exclude>
                          <exclude>org.mule.tools.maven:mule-classloader-model</exclude>
                          <exclude>org.mule.modules:mule-module-cors-kernel</exclude>
                      </excludes>
                    </requireReleaseDeps>
                    <requireReleaseVersion>
                      <message>No Snapshots Allowed in Project Version!</message>
                    </requireReleaseVersion>
                    <requirePluginVersions>
                      <message>Best Practice is to always define plugin versions!</message>
                      <unCheckedPluginList>
                        org.apache.maven.plugins:maven-clean-plugin
                      </unCheckedPluginList>
                    </requirePluginVersions>
                  </rules>
                  <skip>${skipNoSnapshotsEnforcerPluginRule}</skip>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
