<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>

  <groupId>org.openecomp.sdc.be</groupId>
  <artifactId>common-be</artifactId>

  <parent>
    <groupId>org.openecomp.sdc</groupId>
    <artifactId>sdc-main</artifactId>
    <version>1.7.0-SNAPSHOT</version>
  </parent>

  <dependencies>
    <!--JUnit Jupiter Engine to depend on the JUnit5 engine and JUnit 5 API -->
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>${junitJupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <!--JUnit Jupiter Engine to depend on the JUnit4 engine and JUnit 4 API  -->
    <dependency>
      <groupId>org.junit.vintage</groupId>
      <artifactId>junit-vintage-engine</artifactId>
      <version>${junitJupiter.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <!-- Common of SD&C -->
    <dependency>
      <groupId>org.openecomp.sdc</groupId>
      <artifactId>common-app-api</artifactId>
      <version>${project.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>${lang3.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>${guava.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.functionaljava</groupId>
      <artifactId>functionaljava</artifactId>
      <version>${functionaljava.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest</artifactId>
      <version>${hamcrest.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>${hamcrest.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${junitJupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-junit-jupiter</artifactId>
      <version>${mockitoJupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>${mockito.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.onap.sdc.common</groupId>
      <artifactId>onap-tosca-datatype</artifactId>
      <version>${tosca.datatype.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.onap.sdc.sdc-tosca</groupId>
      <artifactId>sdc-tosca</artifactId>
      <version>${sdc-tosca-parser.version}</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.bean-matchers</groupId>
      <artifactId>bean-matchers</artifactId>
      <version>${bean-matchers.version}</version>
      <scope>test</scope>
    </dependency>

    <!-- Togglz core module (mandatory) -->
    <dependency>
      <groupId>org.togglz</groupId>
      <artifactId>togglz-core</artifactId>
      <version>${togglz.version}</version>
    </dependency>

    <!-- Togglz for Servlet environments (mandatory for webapps) -->
    <dependency>
      <groupId>org.togglz</groupId>
      <artifactId>togglz-servlet</artifactId>
      <version>${togglz.version}</version>
    </dependency>

    <!-- Togglz Admin Console -->
    <dependency>
      <groupId>org.togglz</groupId>
      <artifactId>togglz-console</artifactId>
      <version>${togglz.version}</version>
    </dependency>

    <!-- Togglz for testing -->
    <dependency>
      <groupId>org.togglz</groupId>
      <artifactId>togglz-testing</artifactId>
      <version>${togglz.version}</version>
      <scope>test</scope>
    </dependency>

  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${maven-jar-plugin.version}</version>
        <executions>
          <execution>
            <id>default-jar</id>
            <phase>package</phase>
            <goals>
              <goal>jar</goal>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.github.sylvainlaurent.maven</groupId>
        <artifactId>yaml-json-validator-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>validate</id>
            <phase>validate</phase>
            <goals>
              <goal>validate</goal>
            </goals>
            <configuration>
              <validationSets>
                <validationSet>
                  <includes>
                    <include>src/main/resources/**/*.y*ml</include>
                    <include>src/test/resources/**/*.y*ml</include>
                  </includes>
                </validationSet>
                <validationSet>
                  <includes>
                    <include>src/main/resources/**/*.json</include>
                    <include>src/test/resources/**/*.json</include>
                  </includes>
                </validationSet>
              </validationSets>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>