<?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/xsd/maven-4.0.0.xsd">

  <parent>
    <groupId>com.almis.ade</groupId>
    <artifactId>ade</artifactId>
    <version>2.2.5</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <artifactId>ade-dependencies</artifactId>
  <packaging>pom</packaging>
  <name>ADE Dependencies (V${project.version})</name>
  <description>ADE Dependencies</description>

  <properties>
    <ade.version>${revision}</ade.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>17</java.version>

    <!-- Sonar configuration -->
    <sonar.branch>ADE V${project.version}</sonar.branch>
    <sonar.scm.url>scm:git:https://gitlab.com/awe-team/ade.git</sonar.scm.url>
    <sonar.scm.enabled>true</sonar.scm.enabled>
    <sonar.links.homepage>https://gitlab.com/awe-team/ade</sonar.links.homepage>
    <sonar.links.issue>https://gitlab.com/awe-team/ade/issues</sonar.links.issue>
    <sonar.links.scm>https://gitlab.com/awe-team/ade.git</sonar.links.scm>
    <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
    <sonar.jacoco.itReportPath>${project.basedir}/target/jacoco-it.exec</sonar.jacoco.itReportPath>
    <sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
    <sonar.jacoco.jar>${project.basedir}/target/lib/jacocoagent.jar</sonar.jacoco.jar>

    <!-- Sonar properties -->
    <application.folder>.</application.folder>
    <sonar.sources>src</sonar.sources>
    <sonar.inclusions>src/main/java/**</sonar.inclusions>
    <sonar.language>java</sonar.language>
    <sonar.jacoco.reportPath>target/jacoco.exec</sonar.jacoco.reportPath>

    <!-- dependency versions -->
    <dynamicreports.version>6.20.1</dynamicreports.version>
    <jasperreportsVersion>6.21.3</jasperreportsVersion>
    <spring-boot.version>3.3.4</spring-boot.version>
    <jaxb-api.version>2.3.1</jaxb-api.version>
    <batik-bridge.version>1.17</batik-bridge.version>
    <lombok.version>1.18.28</lombok.version>
    <hibernate-validator.version>8.0.1.Final</hibernate-validator.version>
    <barbecue.version>1.5-beta1</barbecue.version>
    <jxl.version>2.6.12</jxl.version>
    <ant.version>1.9.16</ant.version>
    <jfreechart.version>1.5.5</jfreechart.version>
    <jcommon.version>1.0.24</jcommon.version>
    <org.apache.commons.version>4.4</org.apache.commons.version>
  </properties>

  <dependencyManagement>
    <dependencies>

      <!-- spring boot -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring-boot.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>${jfreechart.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jcommon</artifactId>
        <version>${jcommon.version}</version>
      </dependency>

      <!-- https://mvnrepository.com/artifact/net.sourceforge.dynamicreports/dynamicreports -->
      <dependency>
        <groupId>net.sourceforge.dynamicreports</groupId>
        <artifactId>dynamicreports-core</artifactId>
        <version>${dynamicreports.version}</version>
        <exclusions>
          <exclusion>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.jfree</groupId>
            <artifactId>jfreechart</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.jfree</groupId>
            <artifactId>jcommon</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-bridge</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>itext</artifactId>
            <groupId>com.lowagie</groupId>
          </exclusion>
          <exclusion>
            <artifactId>org.apache.commons</artifactId>
            <groupId>commons-collections4</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- -->
      <dependency>
        <artifactId>org.apache.commons</artifactId>
        <groupId>commons-collections4</groupId>
        <version>${org.apache.commons.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>${jasperreportsVersion}</version>
      </dependency>

      <!-- Needed by transitive dependency on dynamicreports
      which is not supported for java versions > 8 :( -->
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb-api.version}</version>
      </dependency>

      <!-- Current package versions -->
      <dependency>
        <groupId>com.almis.ade</groupId>
        <artifactId>ade-spring-boot-starter</artifactId>
        <version>${ade.version}</version>
      </dependency>

      <dependency>
        <groupId>com.almis.ade</groupId>
        <artifactId>ade-core</artifactId>
        <version>${ade.version}</version>
      </dependency>

      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-bridge</artifactId>
        <version>${batik-bridge.version}</version>
      </dependency>

      <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>${hibernate-validator.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sourceforge.barbecue</groupId>
        <artifactId>barbecue</artifactId>
        <version>${barbecue.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sourceforge.jexcelapi</groupId>
        <artifactId>jxl</artifactId>
        <version>${jxl.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>${ant.version}</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <!-- Java compiler -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
        </configuration>

      </plugin>
      <!-- Sonar -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>2.6</version>
      </plugin>
    </plugins>
  </build>

</project>