<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>nl.demon.shadowland.freedumbytes.maven.config</groupId>
    <artifactId>setup</artifactId>
    <version>4.3.2</version>
  </parent>

  <groupId>nl.demon.shadowland.freedumbytes.maven.dependencies</groupId>
  <artifactId>bom</artifactId>
  <version>3.1.1</version>
  <packaging>pom</packaging>

  <name>${organizationName} Maven Bill of Materials</name>
  <description>Setup the required versions of the most popular Maven dependencies.</description>
  <url>${projectRoot}</url>
  <inceptionYear>2015</inceptionYear>

  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <scm>
    <connection>${sourceConnection}</connection>
    <developerConnection>${sourceDevConnection}</developerConnection>
    <url>${sourceWebRoot}</url>
    <tag>bom-3.1.1</tag>
  </scm>

  <ciManagement>
    <system>${ciSystem}</system>
    <url>${ciWebRoot}</url>
  </ciManagement>

  <issueManagement>
    <system>${issueSystem}</system>
    <url>${issueWebRoot}</url>
  </issueManagement>

  <distributionManagement>
    <site>
      <id>mvn-sites</id>
      <name>Maven Documentation Sites</name>
      <url>dav:${projectRoot}</url>
    </site>
  </distributionManagement>

  <modules>
    <module>grouping</module>
  </modules>

  <properties>
    <projectRoot>${mavenHost}/bill-of-materials</projectRoot>

    <sourceConnection>scm:git:${gitRepo}/bill-of-materials.git</sourceConnection>
    <sourceDevConnection>scm:git:${gitRepo}/bill-of-materials.git</sourceDevConnection>
    <sourceWebRoot>${fisheyeHost}/browse/bill-of-materials</sourceWebRoot>

    <ciSystem>Jenkins</ciSystem>
    <ciWebRoot>${jenkinsHost}/job/bill-of-materials</ciWebRoot>

    <issueSystem>JIRA</issueSystem>
    <issueWebRoot>${jiraHost}/projects/BOMGRP</issueWebRoot>

    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    <maven.compiler.source>${maven.compiler.target}</maven.compiler.source>
    <maven.compiler.target>${maven.compiler.compilerVersion}</maven.compiler.target>

    <mojoSignatureArtifactId>java18</mojoSignatureArtifactId>
    <ignoreDependencies>true</ignoreDependencies>

    <extraEnforcerRulesMaxJdkVersion>${maven.compiler.target}</extraEnforcerRulesMaxJdkVersion>
    <extraEnforcerRulesFail>true</extraEnforcerRulesFail>

    <javadocVersion>${maven.compiler.target}</javadocVersion>
    <javadocDoclint>none</javadocDoclint>

    <lombokVersion>1.16.18</lombokVersion>
    <commonsLangVersion>2.6</commonsLangVersion>
    <commonsLang3Version>3.7</commonsLang3Version>
    <commonsCodecVersion>1.11</commonsCodecVersion>
    <commonsIOVersion>2.6</commonsIOVersion>
    <guavaVersion>23.6-jre</guavaVersion>

    <springVersion>5.0.2.RELEASE</springVersion>
    <springLDAPVersion>2.3.2.RELEASE</springLDAPVersion>

    <hibernateVersion>5.2.12.Final</hibernateVersion>
    <ehcacheVersion>3.4.0</ehcacheVersion>
    <javassistVersion>3.22.0-GA</javassistVersion>

    <junitVersion>4.12</junitVersion>
    <assertjVersion>3.9.0</assertjVersion>
    <mockitoVersion>2.13.0</mockitoVersion>
    <powerMockVersion>1.7.3</powerMockVersion>
    <cglibVersion>3.2.5</cglibVersion>
    <commonsDbcpVersion>1.4</commonsDbcpVersion>
    <commonsDbcp2Version>2.2.0</commonsDbcp2Version>
    <h2Version>1.4.196</h2Version>
    <hsqldbVersion>2.4.0</hsqldbVersion>
    <dbunitVersion>2.5.4</dbunitVersion>
    <springTestDbunitVersion>1.3.0</springTestDbunitVersion>

    <log4jVersion>1.2.17</log4jVersion>
    <commonsLoggingVersion>1.2</commonsLoggingVersion>
    <slf4jVersion>1.7.25</slf4jVersion>

    <mysqlConnectorJVersion>5.1.45</mysqlConnectorJVersion>
    <hikariCPVersion>2.7.4</hikariCPVersion>
  </properties>

  <profiles>
    <profile>
      <id>openSource</id>

      <distributionManagement>
        <snapshotRepository>
          <id>ossrh</id>
          <name>Open Source Snapshots</name>
          <url>${nexusHost}/content/repositories/snapshots</url>
        </snapshotRepository>
      </distributionManagement>

      <properties>
        <mavenHost>${gitlabHost}</mavenHost>
        <projectRoot>${gitlabHost}/bill-of-materials</projectRoot>
        <organizationHost>${gitlabHost}</organizationHost>

        <nexusHost>${ossrhHost}</nexusHost>
        <sonarHost>${sonarCloudHost}</sonarHost>

        <sourceConnection>scm:git:${gitlabRepo}/bill-of-materials.git</sourceConnection>
        <sourceDevConnection>scm:git:${gitlabRepoSSH}/bill-of-materials.git</sourceDevConnection>
        <sourceWebRoot>${gitlabRepo}/bill-of-materials/tree/master</sourceWebRoot>

        <ciSystem>GitLab CI</ciSystem>
        <ciWebRoot>${gitlabRepo}/bill-of-materials/pipelines</ciWebRoot>

        <issueSystem>GitLab</issueSystem>
        <issueWebRoot>${gitlabRepo}/bill-of-materials/issues</issueWebRoot>

        <maven.source.attach>true</maven.source.attach>
      </properties>
    </profile>
  </profiles>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombokVersion}</version>
      </dependency>

      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commonsLangVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commonsLang3Version}</version>
      </dependency>

      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commonsCodecVersion}</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commonsIOVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guavaVersion}</version>
      </dependency>



      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework.ldap</groupId>
        <artifactId>spring-ldap-core</artifactId>
        <version>${springLDAPVersion}</version>
      </dependency>



      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernateVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernateVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>${hibernateVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>${ehcacheVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>${javassistVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${springVersion}</version>
      </dependency>



      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junitVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertjVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockitoVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito2</artifactId>
        <version>${powerMockVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>${powerMockVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${springVersion}</version>
      </dependency>

      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>${cglibVersion}</version>
      </dependency>

      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib-nodep</artifactId>
        <version>${cglibVersion}</version>
      </dependency>

      <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>${commonsDbcpVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>${commonsDbcp2Version}</version>
      </dependency>

      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${h2Version}</version>
      </dependency>

      <dependency>
        <groupId>org.hsqldb</groupId>
        <artifactId>hsqldb</artifactId>
        <version>${hsqldbVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.dbunit</groupId>
        <artifactId>dbunit</artifactId>
        <version>${dbunitVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.github.springtestdbunit</groupId>
        <artifactId>spring-test-dbunit</artifactId>
        <version>${springTestDbunitVersion}</version>
      </dependency>



      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4jVersion}</version>
      </dependency>

      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commonsLoggingVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>



      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysqlConnectorJVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>${hikariCPVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>
