<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.entake.particle</groupId>
    <artifactId>dependencies</artifactId>
    <version>3.4.2</version>
    <packaging>pom</packaging>

    <name>particle-dependencies</name>
	<description>Parent Dependency POM that extends Spring Boot for the Particle Framework</description>
	<url>https://github.com/entake-org/particle-dependencies</url>

	<licenses>
		<license>
		  <name>The Apache Software License, Version 2.0</name>
		  <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

	<developers>
		<developer>
            <name>Nick DiMola</name>
            <email>nick@entake.io</email>
            <organization>Entake</organization>
            <organizationUrl>https://entake.io</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:https://github.com/entake-org/particle-dependencies.git</connection>
		<developerConnection>scm:git:ssh://github.com:entake-org/particle-dependencies.git</developerConnection>
		<url>https://github.com/entake-org/particle-dependencies/tree/main</url>
	</scm>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>21</java.version>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>

        <!-- Spring Boot Version -->
        <spring-boot.version>3.4.2</spring-boot.version>

        <!-- Managed Dependency Versions -->
        <nimbus-jose-jwt.version>10.0.1</nimbus-jose-jwt.version>
        <smartystreets.version>3.18.3</smartystreets.version>
        <dynamodb.version>1.12.765</dynamodb.version>
        <apache-poi.version>5.4.0</apache-poi.version>
        <jooq.version>3.19.18</jooq.version>
        <commons-io-version>2.18.0</commons-io-version>
        <commons-lang3-version>3.17.0</commons-lang3-version>
        <modelmapper.version>3.2.2</modelmapper.version>
        <kotlin-reflect.version>2.1.10</kotlin-reflect.version>
        <webp-imageio.version>0.1.6</webp-imageio.version>
        <json-flattener.version>0.17.1</json-flattener.version>
        <s3-wagon.version>1.3.3</s3-wagon.version>
        <jacoco.version>0.8.12</jacoco.version>
        <clamav-client.version>1.0.1</clamav-client.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.2</version>
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>nimbus-jose-jwt</artifactId>
                <version>${nimbus-jose-jwt.version}</version>
            </dependency>

			<dependency>
				<groupId>com.smartystreets.api</groupId>
				<artifactId>smartystreets-java-sdk</artifactId>
				<version>${smartystreets.version}</version>
			</dependency>

            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-dynamodb</artifactId>
                <version>${dynamodb.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${apache-poi.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${apache-poi.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq</artifactId>
                <version>${jooq.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io-version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3-version}</version>
            </dependency>

            <dependency>
                <groupId>org.modelmapper</groupId>
                <artifactId>modelmapper</artifactId>
                <version>${modelmapper.version}</version>
            </dependency>

            <dependency>
                <groupId>org.sejda.imageio</groupId>
                <artifactId>webp-imageio</artifactId>
                <version>${webp-imageio.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-reflect</artifactId>
                <version>${kotlin-reflect.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.wnameless.json</groupId>
                <artifactId>json-flattener</artifactId>
                <version>${json-flattener.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.seahen</groupId>
                <artifactId>maven-s3-wagon</artifactId>
                <version>${s3-wagon.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-meta-extensions-liquibase</artifactId>
                <version>${jooq.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
            </dependency>

            <dependency>
                <groupId>fi.solita.clamav</groupId>
                <artifactId>clamav-client</artifactId>
                <version>${clamav-client.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

	<build>
		<plugins>
			<plugin>
                <inherited>false</inherited>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>1.5</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>0.5.0</version>
                <extensions>true</extensions>
                <configuration>
                    <publishingServerId>central</publishingServerId>
                    <autoPublish>true</autoPublish>
                </configuration>
            </plugin>
		</plugins>
	</build>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>
</project>
