<?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>
    <artifactId>mule-modules</artifactId>
    <groupId>org.mule.runtime</groupId>
    <version>4.8.4</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>mule-module-extensions-support</artifactId>
  <name>Mule Extensions Support</name>
  <description>Default implementation of the Mule Extension API.</description>
  <build>
    <resources>
      <resource>
        <filtering>true</filtering>
        <directory>${basedir}/src/main/resources</directory>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <filtering>true</filtering>
        <directory>${basedir}/src/test/resources</directory>
      </testResource>
    </testResources>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-test-jar</id>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <includes>
                <include>*</include>
                <include>org/mule/runtime/module/extension/internal/resources/test/**</include>
                <include>org/mule/runtime/module/extension/internal/loader/parser/java/test/**</include>
                <include>org/mule/runtime/module/extension/internal/util/test/**</include>
                <include>org/mule/test/**</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <artifactSet>
                <includes>
                  <includes>org.springframework:spring-core</includes>
                </includes>
              </artifactSet>
              <relocations>
                <relocation>
                  <pattern>org.springframework</pattern>
                  <shadedPattern>org.mule.springframework</shadedPattern>
                </relocation>
              </relocations>
              <filters>
                <filter>
                  <artifact>org.springframework:spring-core</artifact>
                  <excludes>
                    <exclude>META-INF/**</exclude>
                  </excludes>
                </filter>
              </filters>
              <shadeTestJar>true</shadeTestJar>
              <minimizeJar>true</minimizeJar>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-api</artifactId>
      <version>1.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-extensions-api-dsql</artifactId>
      <version>1.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-extensions-api</artifactId>
      <version>1.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-extensions-api-persistence</artifactId>
      <version>1.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-core</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-module-deployment-model</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-module-metadata-support</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-artifact-ast</artifactId>
      <version>1.4.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-service-oauth-api</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-service-http-api</artifactId>
      <version>4.8.4</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.sdk</groupId>
      <artifactId>mule-sdk-compatibility-api</artifactId>
      <version>0.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-tracer-customization-api</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-tracer-api</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-tracer-internal-impl</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>io.projectreactor</groupId>
      <artifactId>reactor-core</artifactId>
      <version>3.6.8</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>net.bytebuddy</groupId>
      <artifactId>byte-buddy</artifactId>
      <version>1.14.18</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
      <version>2.12.7</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>jakarta.inject</groupId>
      <artifactId>jakarta.inject-api</artifactId>
      <version>1.0.5</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-api</artifactId>
      <version>1.8.4</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-core-tests</artifactId>
      <version>4.8.4</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-runtime-extension-model</artifactId>
      <version>4.8.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-extensions-api</artifactId>
      <version>1.8.4</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.services</groupId>
      <artifactId>mule-service-weave</artifactId>
      <version>2.8.3</version>
      <classifier>mule-service</classifier>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>metadata-api</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>runtime</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>java-module</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>core-modules</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>yaml-module</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>ndjson-module</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>avro-module</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jsonschema-module</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>xmlschema-module</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>dwb-module</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
        <exclusion>
          <artifactId>scala-library</artifactId>
          <groupId>org.scala-lang</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-dwb-api</artifactId>
      <version>2.8.3</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>dwb-api</artifactId>
          <groupId>org.mule.weave</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-tests-unit</artifactId>
      <version>4.8.4</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>log4j-slf4j2-impl</artifactId>
          <groupId>org.apache.logging.log4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>mule-module-logging</artifactId>
          <groupId>org.mule.runtime.boot</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit</artifactId>
          <groupId>junit</groupId>
        </exclusion>
        <exclusion>
          <artifactId>mockito-core</artifactId>
          <groupId>org.mockito</groupId>
        </exclusion>
        <exclusion>
          <artifactId>hamcrest</artifactId>
          <groupId>org.hamcrest</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-inline</artifactId>
      <version>4.11.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>mockito-core</artifactId>
          <groupId>org.mockito</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <version>3.5.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-tests-allure</artifactId>
      <version>4.8.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-metadata-extension</artifactId>
      <version>4.8.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-vegan-extension</artifactId>
      <version>4.8.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-heisenberg-extension</artifactId>
      <version>4.8.4</version>
      <classifier>mule-plugin</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-marvel-extension</artifactId>
      <version>4.8.4</version>
      <classifier>mule-plugin</classifier>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>mule-heisenberg-extension</artifactId>
          <groupId>org.mule.tests</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-subtypes-extension</artifactId>
      <version>4.8.4</version>
      <classifier>mule-plugin</classifier>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>mule-vegan-extension</artifactId>
          <groupId>org.mule.tests</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-petstore-extension</artifactId>
      <version>4.8.4</version>
      <classifier>mule-plugin</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-values-extension</artifactId>
      <version>4.8.4</version>
      <classifier>mule-plugin</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>provided-dependency</artifactId>
      <version>4.8.4</version>
      <classifier>mule-plugin</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>xmlunit</groupId>
      <artifactId>xmlunit</artifactId>
      <version>1.6</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>xml-apis</artifactId>
          <groupId>xml-apis</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mule.skyscreamer</groupId>
      <artifactId>jsonassert</artifactId>
      <version>1.5.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-tests-model</artifactId>
      <version>4.8.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.runtime</groupId>
      <artifactId>mule-core-tests</artifactId>
      <version>4.8.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.testing.compile</groupId>
      <artifactId>compile-testing</artifactId>
      <version>0.21.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>truth</artifactId>
          <groupId>com.google.truth</groupId>
        </exclusion>
        <exclusion>
          <artifactId>auto-value</artifactId>
          <groupId>com.google.auto.value</groupId>
        </exclusion>
        <exclusion>
          <artifactId>auto-common</artifactId>
          <groupId>com.google.auto</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit</artifactId>
          <groupId>junit</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-test-oauth-extension</artifactId>
      <version>4.8.4</version>
      <classifier>mule-plugin</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mule.tests</groupId>
      <artifactId>mule-sample-data-extension</artifactId>
      <version>4.8.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.qameta.allure</groupId>
      <artifactId>allure-junit4</artifactId>
      <version>2.28.1</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>allure-java-commons</artifactId>
          <groupId>io.qameta.allure</groupId>
        </exclusion>
        <exclusion>
          <artifactId>allure-test-filter</artifactId>
          <groupId>io.qameta.allure</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit</artifactId>
          <groupId>junit</groupId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <properties>
    <formatterConfigPath>../../formatter.xml</formatterConfigPath>
    <surefire.args>-XX:+IgnoreUnrecognizedVMOptions
            --add-modules=net.bytebuddy.agent
            --add-exports=org.mule.runtime.extensions.api/org.mule.runtime.extension.internal.loader=org.mule.runtime.extensions.support
            --add-exports=org.mule.runtime.extensions.api/org.mule.runtime.extension.internal.loader.enricher=org.mule.runtime.extensions.support
            --add-exports=org.mule.runtime.extensions.api/org.mule.runtime.extension.internal.loader.validator=org.mule.runtime.extensions.support
            --add-exports=org.mule.runtime.extensions.api/org.mule.runtime.extension.internal.property=org.mule.runtime.extensions.support
            --add-reads=org.mule.runtime.extensions.support=com.google.gson
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.loader.validation=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.client=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.config=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.config=ALL-UNNAMED
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.connectivity=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.connectivity.oauth=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.connectivity.oauth.authcode=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.execution=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.execution.executor=ALL-UNNAMED
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.resolver=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.resolver=ALL-UNNAMED
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.source=org.mule.runtime.core
            --add-opens=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.runtime.operation=org.mule.runtime.core
            --add-exports=org.mule.runtime.extensions.support/org.mule.runtime.module.extension.internal.type.catalog=org.mule.runtime.core
            --add-exports=org.mule.runtime.extensions.support/org.mule.test.module.extension.internal.util.extension.privileged=org.mule.runtime.core
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.api.processor=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.config=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.config.builders=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.context=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.el=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.exception=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.interception=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.processor.strategy=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.profiling=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.registry=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.internal.serialization=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.privileged.component=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.privileged.exception=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.privileged.processor=ALL-UNNAMED
            --add-opens=org.mule.runtime.core/org.mule.runtime.core.privileged.processor.chain=ALL-UNNAMED
            --add-opens=org.mule.runtime.errors/org.mule.runtime.config.internal.error=ALL-UNNAMED
            --add-exports=org.mule.runtime.artifact.ast/org.mule.runtime.ast.internal.error=org.mule.runtime.extensions.support
            ${surefire.test.unit.open.args}</surefire.args>
    <skipExportTests>false</skipExportTests>
    <javaModuleName>org.mule.runtime.extensions.support</javaModuleName>
  </properties>
</project>
