<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2010-2020 BSI Business Systems Integration AG.
  ~ All rights reserved. This program and the accompanying materials
  ~ are made available under the terms of the Eclipse Public License v1.0
  ~ which accompanies this distribution, and is available at
  ~ https://www.eclipse.org/legal/epl-v10.html
  ~
  ~ Contributors:
  ~     BSI Business Systems Integration AG - initial API and implementation
  -->
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse.scout.sdk</groupId>
    <artifactId>org.eclipse.scout.sdk</artifactId>
    <version>11.0.20</version>
    <relativePath>../org.eclipse.scout.sdk</relativePath>
  </parent>

  <artifactId>org.eclipse.scout.sdk.core.s.test</artifactId>
  <packaging>jar</packaging>
  <name>${project.groupId}:${project.artifactId}</name>

  <dependencies>
    <dependency>
      <groupId>org.eclipse.scout.sdk</groupId>
      <artifactId>org.eclipse.scout.sdk.core.s</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk</groupId>
      <artifactId>org.eclipse.scout.sdk.core.test</artifactId>
    </dependency>

    <!-- For embedded Maven execution -->
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-embedder</artifactId>
      <exclusions>
        <!-- use jakarta modules -->
        <exclusion>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.annotation</groupId>
          <artifactId>jsr250-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-compat</artifactId>
      <exclusions>
        <!-- use jakarta modules -->
        <exclusion>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.resolver</groupId>
      <artifactId>maven-resolver-connector-basic</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.resolver</groupId>
      <artifactId>maven-resolver-transport-wagon</artifactId>
    </dependency>
    <dependency>
      <groupId>io.takari.aether</groupId>
      <artifactId>aether-connector-okhttp</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.aether</groupId>
          <artifactId>aether-util</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-provider-api</artifactId>
    </dependency>
    <dependency>
      <!-- replace for excluded javax.annotation -->
      <!-- replace for excluded javax.inject -->
      <!-- in fact we would only need: -->
      <!-- jakarta.annotation:jakarta.annotation-api and (org.glassfish.hk2.external:jakarta.inject or jakarta.inject:jakarta.inject-api) -->
      <!-- but we use same as everywhere in scout -->
      <groupId>org.glassfish.jersey.inject</groupId>
      <artifactId>jersey-hk2</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.glassfish.hk2.external</groupId>
          <artifactId>aopalliance-repackaged</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Scout RT Dependencies to test against -->
    <dependency>
      <groupId>org.eclipse.scout.rt</groupId>
      <artifactId>org.eclipse.scout.rt.ui.html.test</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <!-- NLS tests need sources of org.eclipse.scout.rt.ui.html.UiTextContributor -->
      <groupId>org.eclipse.scout.rt</groupId>
      <artifactId>org.eclipse.scout.rt.ui.html</artifactId>
      <scope>test</scope>
      <classifier>sources</classifier>
    </dependency>
    <dependency>
      <!-- NLS tests need sources of org.eclipse.scout.rt.shared.services.common.text.ScoutTextProviderService -->
      <groupId>org.eclipse.scout.rt</groupId>
      <artifactId>org.eclipse.scout.rt.shared</artifactId>
      <scope>test</scope>
      <classifier>sources</classifier>
    </dependency>
    <dependency>
      <!-- NLS tests need sources of org.eclipse.scout.rt.security.ScoutSecurityTextProviderService -->
      <groupId>org.eclipse.scout.rt</groupId>
      <artifactId>org.eclipse.scout.rt.security</artifactId>
      <scope>test</scope>
      <classifier>sources</classifier>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.rt</groupId>
      <artifactId>org.eclipse.scout.rt.server.test</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.rt</groupId>
      <artifactId>org.eclipse.scout.rt.server.jaxws</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.rt</groupId>
      <artifactId>org.eclipse.scout.rt.dataobject</artifactId>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>add-chart-dependency-if-available</id>
      <activation>
        <property>
          <name>org.eclipse.scout.rt_version</name>
          <value>!10.0.0-SNAPSHOT</value>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.eclipse.scout.rt</groupId>
          <artifactId>org.eclipse.scout.rt.chart.ui.html</artifactId>
        </dependency>
      </dependencies>
    </profile>
  </profiles>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <!-- Required because the artifact 'org.eclipse.scout.rt.ui.html' exists twice on the classpath (binary jar & source jar) -->
          <!-- This artifact contains json files in the binary and the source jar which is a resource duplicate. Can be ignored because the json file is not used by the test -->
          <groupId>org.basepom.maven</groupId>
          <artifactId>duplicate-finder-maven-plugin</artifactId>
          <configuration>
            <skip>${master_sanityCheck_skip}</skip>
            <printEqualFiles>false</printEqualFiles>
            <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
            <failBuildInCaseOfDifferentContentConflict>true</failBuildInCaseOfDifferentContentConflict>
            <failBuildInCaseOfEqualContentConflict>true</failBuildInCaseOfEqualContentConflict>
            <checkCompileClasspath>true</checkCompileClasspath>
            <checkRuntimeClasspath>true</checkRuntimeClasspath>
            <checkTestClasspath>true</checkTestClasspath>
            <quiet>false</quiet>
            <preferLocal>true</preferLocal>
            <useResultFile>false</useResultFile>
            <includePomProjects>true</includePomProjects>
            <ignoredResourcePatterns>
              <ignoredResourcePattern>.*json$</ignoredResourcePattern> <!-- Added because of 'org.eclipse.scout.rt.ui.html' -->
              <ignoredResourcePattern>.*ico$</ignoredResourcePattern>
              <ignoredResourcePattern>.*jpg$</ignoredResourcePattern>
              <ignoredResourcePattern>.*png$</ignoredResourcePattern>
              <ignoredResourcePattern>.*gif$</ignoredResourcePattern>
              <ignoredResourcePattern>.*html$</ignoredResourcePattern>
              <ignoredResourcePattern>.*xml$</ignoredResourcePattern>
              <ignoredResourcePattern>.*txt$</ignoredResourcePattern>
              <ignoredResourcePattern>.*.api_description$</ignoredResourcePattern>
              <ignoredResourcePattern>.*options$</ignoredResourcePattern>
              <ignoredResourcePattern>.*properties$</ignoredResourcePattern>
              <ignoredResourcePattern>.*gitkeep$</ignoredResourcePattern>
              <ignoredResourcePattern>.*sql$</ignoredResourcePattern>
              <ignoredResourcePattern>.*xjb$</ignoredResourcePattern>
              <ignoredResourcePattern>.*exsd$</ignoredResourcePattern>
              <ignoredResourcePattern>.*about.ini$</ignoredResourcePattern>
            </ignoredResourcePatterns>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-test-source</id>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
              <sources>
                <source>src/test/client</source>
                <source>src/test/shared</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
