<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>
  <parent>
    <groupId>org.kie.server</groupId>
    <artifactId>kie-server-services</artifactId>
    <version>7.63.0.Final</version>
  </parent>

  <artifactId>kie-server-services-openshift</artifactId>
  <packaging>jar</packaging>

  <name>KIE :: Execution Server :: Services :: OpenShift</name>
  <description>KIE Execution Server Services</description>

  <properties>
    <java.module.name>org.kie.server.services.openshift</java.module.name>
    <!-- Server mock version 4.7.2 doesn't handle label selectors properly, need to use older version. -->
    <version.kubernetes-client.server-mock>4.6.0</version.kubernetes-client.server-mock>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>io.fabric8</groupId>
        <artifactId>kubernetes-client-bom</artifactId>
        <version>${version.kubernetes-client}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- Override fabric8 dependencies specified from parent pom with newer 
        version -->
      <dependency>
        <groupId>io.fabric8</groupId>
        <artifactId>kubernetes-model</artifactId>
        <version>${version.kubernetes-client}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>io.fabric8</groupId>
        <artifactId>kubernetes-client</artifactId>
        <version>${version.kubernetes-client}</version>
      </dependency>
      <dependency>
        <groupId>io.fabric8</groupId>
        <artifactId>openshift-client</artifactId>
        <version>${version.kubernetes-client}</version>
      </dependency>

      <dependency>
        <groupId>io.fabric8</groupId>
        <artifactId>kubernetes-server-mock</artifactId>
        <version>${version.kubernetes-client.server-mock}</version>
      </dependency>
      <dependency>
        <groupId>io.fabric8</groupId>
        <artifactId>openshift-server-mock</artifactId>
        <version>${version.kubernetes-client.server-mock}</version>
      </dependency>
      <!-- Added back excluded dependency from parent pom due to required 
        by test run -->
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>${version.org.yaml.snakeyaml}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- kie server dependencies -->
    <dependency>
      <groupId>org.kie.server</groupId>
      <artifactId>kie-server-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.kie.server</groupId>
      <artifactId>kie-server-controller-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.kie.soup</groupId>
      <artifactId>kie-soup-commons</artifactId>
    </dependency>
    <dependency>
      <groupId>org.kie.server</groupId>
      <artifactId>kie-server-services-common</artifactId>
    </dependency>
    <!-- log -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>

    <dependency>
      <groupId>com.thoughtworks.xstream</groupId>
      <artifactId>xstream</artifactId>
    </dependency>

    <!-- fabric8 kubernetes and openshift java client dependencies -->
    <dependency>
      <groupId>io.fabric8</groupId>
      <artifactId>kubernetes-model</artifactId>
    </dependency>
    <dependency>
      <groupId>io.fabric8</groupId>
      <artifactId>kubernetes-client</artifactId>
    </dependency>
    <dependency>
      <groupId>io.fabric8</groupId>
      <artifactId>openshift-client</artifactId>
    </dependency>
    <dependency>
      <groupId>io.fabric8</groupId>
      <artifactId>kubernetes-server-mock</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>com.sun</groupId>
          <artifactId>tools</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>io.fabric8</groupId>
      <artifactId>openshift-server-mock</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-yaml</artifactId>
      <scope>test</scope>
    </dependency>


    <dependency>
      <groupId>org.yaml</groupId>
      <artifactId>snakeyaml</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${version.surefire.plugin}</version>
        <configuration>
          <forkCount>1</forkCount>
          <reuseForks>false</reuseForks>
          <environmentVariables>
            <KUBERNETES_MASTER />
            <KUBERNETES_API_VERSION />
            <KUBERNETES_TRUST_CERTIFICATES />
            <KUBERNETES_CERTS_CA_FILE />
            <KUBERNETES_CERTS_CA_DATA />
            <KUBERNETES_CERTS_CLIENT_FILE />
            <KUBERNETES_CERTS_CLIENT_DATA />
            <KUBERNETES_CERTS_CLIENT_KEY_FILE />
            <KUBERNETES_CERTS_CLIENT_KEY_DATA />
            <KUBERNETES_CERTS_CLIENT_KEY_ALGO />
            <KUBERNETES_CERTS_CLIENT_KEY_PASSPHRASE />
            <KUBERNETES_AUTH_BASIC_USERNAME />
            <KUBERNETES_AUTH_BASIC_PASSWORD />
            <KUBERNETES_AUTH_TRYKUBECONFIG />
            <KUBERNETES_AUTH_TRYSERVICEACCOUNT />
            <KUBERNETES_AUTH_TOKEN />
            <KUBERNETES_WATCH_RECONNECTINTERVAL />
            <KUBERNETES_WATCH_RECONNECTLIMIT />
            <KUBERNETES_REQUEST_TIMEOUT />
            <KUBERNETES_NAMESPACE />
            <KUBERNETES_TLS_VERSIONS>TLSv1.2,TLSv1.1,TLSv1</KUBERNETES_TLS_VERSIONS>
          </environmentVariables>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
