<?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>mxgate-sdk-java-root</artifactId>
    <groupId>cn.ymatrix</groupId>
    <version>1.1.2</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>ci</artifactId>
  <build>
    <extensions>
      <extension>
        <groupId>kr.motd.maven</groupId>
        <artifactId>os-maven-plugin</artifactId>
        <version>1.6.2</version>
      </extension>
    </extensions>
    <finalName>mxgate-sdk-ci</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>18</source>
          <target>18</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.3.0</version>
        <executions>
          <execution>
            <id>build-E2ECaseRunnerGRPC</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer />
                <transformer>
                  <mainClass>Main.runner.E2ECaseRunnerGRPC</mainClass>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.handlers</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.schemas</resource>
                </transformer>
              </transformers>
              <finalName>GRPC</finalName>
            </configuration>
          </execution>
          <execution>
            <id>build-E2ECaseRunnerHTTP</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer />
                <transformer>
                  <mainClass>Main.runner.E2ECaseRunnerHTTP</mainClass>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.handlers</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.schemas</resource>
                </transformer>
              </transformers>
              <finalName>HTTP</finalName>
            </configuration>
          </execution>
          <execution>
            <id>build-E2ECaseRunnerCircuitBreakerGRPC</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer />
                <transformer>
                  <mainClass>Main.runner.E2ECaseRunnerCircuitBreakerGRPC</mainClass>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.handlers</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.schemas</resource>
                </transformer>
              </transformers>
              <finalName>CircuitBreakerGRPC</finalName>
            </configuration>
          </execution>
          <execution>
            <id>build-E2ECaseRunnerCircuitBreakerHTTP</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer />
                <transformer>
                  <mainClass>Main.runner.E2ECaseRunnerCircuitBreakerHTTP</mainClass>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.handlers</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.schemas</resource>
                </transformer>
              </transformers>
              <finalName>CircuitBreakerHTTP</finalName>
            </configuration>
          </execution>
          <execution>
            <id>build-E2ECaseRunnerObjectPool</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer />
                <transformer>
                  <mainClass>Main.runner.E2ECaseRunnerObjectPool</mainClass>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.handlers</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.schemas</resource>
                </transformer>
              </transformers>
              <finalName>ObjectPool</finalName>
            </configuration>
          </execution>
          <execution>
            <id>build-E2ECaseRunnerAsyncRequestsGRPC</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer />
                <transformer>
                  <mainClass>Main.runner.E2ECaseRunnerAsyncRequestsGRPC</mainClass>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.handlers</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.schemas</resource>
                </transformer>
              </transformers>
              <finalName>AsyncRequestsGRPC</finalName>
            </configuration>
          </execution>
          <execution>
            <id>build-E2ECaseRunnerAsyncRequestsHTTP</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer />
                <transformer>
                  <mainClass>Main.runner.E2ECaseRunnerAsyncRequestsHTTP</mainClass>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.handlers</resource>
                </transformer>
                <transformer>
                  <resource>META-INF/spring.schemas</resource>
                </transformer>
              </transformers>
              <finalName>AsyncRequestsHTTP</finalName>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>annotations-api</artifactId>
      <version>6.0.53</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>7.6.1</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-api</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jcommander</artifactId>
          <groupId>com.beust</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jquery</artifactId>
          <groupId>org.webjars</groupId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <properties>
    <maven.compiler.target>18</maven.compiler.target>
    <maven.compiler.source>18</maven.compiler.source>
  </properties>
</project>
