<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>io.github.isys-dcore</groupId>
  <artifactId>generic-auto-crud</artifactId>
  <version>0.5.13</version>
<!--  <packaging>jar</packaging>-->
  <name>generic-auto-crud</name>
  <url>https://github.com/ISYS-Dcore/generic-auto-crud</url>
  <description>
    This project is a library for speedup spring boot api crud development with Java.
    This project is a library for speedup spring boot api crud development with Java.
    USE THIS IN PRODUCTION BY YOUR OWN RISK. IT WAS CREATED FOR PERSONAL PROJECTS BUT WORKS WELL.
  </description>

  <licenses>
    <license>
        <name>The Apache License, Version 2.0</name>
        <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>SombraDmf</id>
      <name>Domingos Masta</name>
      <email>e1000014692@gmail.com</email>
      <organization>ISYS - Dcore</organization>
      <organizationUrl>https://github.com/ISYS-Dcore</organizationUrl>
    </developer>
  </developers>
  <scm>
    <connection>scm:git:git@github.com:ISYS-Dcore/generic-auto-crud.git</connection>
    <developerConnection>scm:git@github.com:ISYS-Dcore/generic-auto-crud.git</developerConnection>
    <url>https://github.com/ISYS-Dcore/generic-auto-crud/tree/main</url>
    <tag>generic-auto-crud:v${project.version}</tag>
  </scm>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <junit.version>4.13.2</junit.version>
    <jakarta.version>3.1.0</jakarta.version>
    <jakarta.security.version>4.0.0</jakarta.security.version>
    <lombok.version>1.18.30</lombok.version>
    <hibernate.version>6.4.4.Final</hibernate.version>
    <rsql-parser.version>2.1.0</rsql-parser.version>
    <apache-tomcat.version>11.0.21</apache-tomcat.version>
    <apache-commons.version>1.14.1</apache-commons.version>
    <json-smart.version>2.5.2</json-smart.version>
  </properties>

  <dependencies>
<!-- BEGIN of Spring Framework dependencies-->
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-jpa</artifactId>
      <version>3.5.4</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>7.0.7</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>7.0.7</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-mongodb</artifactId>
      <version>4.0.3</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <!-- Use the version compatible with your Spring Boot setup -->
        <version>7.0.5</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.hateoas</groupId>
      <artifactId>spring-hateoas</artifactId>
      <version>2.5.1</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-test</artifactId>
      <version>3.5.14</version>
      <scope>test</scope>
    </dependency>
    <!-- END of Spring Framework dependencies-->
<!-- BEGIN Test Dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    <!-- END Test Dependencies -->
    <!-- BEGIN MAP Dependencies -->
    <dependency>
      <groupId>org.mapstruct</groupId>
      <artifactId>mapstruct</artifactId>
      <version>1.5.5.Final</version>
    </dependency>
    <dependency>
      <groupId>org.mapstruct</groupId>
      <artifactId>mapstruct-processor</artifactId>
      <version>1.5.5.Final</version>
      <scope>provided</scope>
    </dependency>
    <!-- END of MAP Dependencies -->
<!--    BEGIN of Jakarta Dependencies-->
    <dependency>
      <groupId>jakarta.validation</groupId>
      <artifactId>jakarta.validation-api</artifactId>
      <version>${jakarta.version}</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>jakarta.platform</groupId>
      <artifactId>jakarta.jakartaee-api</artifactId>
      <version>9.1.0</version> <!-- Use 10.0.0 for Jakarta EE 10 -->
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jakarta.persistence</groupId>
      <artifactId>jakarta.persistence-api</artifactId>
      <version>${jakarta.version}</version>
    </dependency>
    <dependency>
      <groupId>jakarta.security.enterprise</groupId>
      <artifactId>jakarta.security.enterprise-api</artifactId>
      <version>${jakarta.security.version}</version>
    </dependency>
<!--    END of Jakarta Dependencies-->
<!--    BEGIN of Others generics Dependencies-->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
    </dependency>

    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>${hibernate.version}</version>
    </dependency>
    <dependency>
      <groupId>cz.jirutka.rsql</groupId>
      <artifactId>rsql-parser</artifactId>
      <version>${rsql-parser.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-core</artifactId>
      <version>${apache-tomcat.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-csv</artifactId>
      <version>${apache-commons.version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.18.3</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.21.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.18.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>RELEASE</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>3.0</version> <!-- Or the latest version -->
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest</artifactId>
      <version>3.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.9.24</version>
    </dependency>
    <!--    END of Others generics Dependencies-->
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <version>3.2.3</version>
        <executions>
          <execution>
            <id>sign-artifacts</id>
            <phase>verify</phase>
            <goals>
              <goal>sign</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <keyname>47F64EB33576A16A45D0F01184DA1D4C881BCA9E</keyname>
          <gpgArguments>
            <argument>--pinentry-mode</argument>
            <argument>loopback</argument>
          </gpgArguments>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.3.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.6.3</version>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.sonatype.central</groupId>
        <artifactId>central-publishing-maven-plugin</artifactId>
        <version>0.4.0</version>
        <extensions>true</extensions>
        <configuration>
          <autoPublish>true</autoPublish>
          <deploymentName>v${project.version}</deploymentName>
          <publishingServerId>central</publishingServerId>
          <tokenAuth>true</tokenAuth>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
