<?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>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>3.2.0</version>
                <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>net.karmayogibharat</groupId>
        <artifactId>common-util</artifactId>
        <version>1.0.0</version>
        <packaging>jar</packaging>

        <name>Common Util</name>
        <description>Common Utility for iGOT services</description>
        <url>https://github.com/yourusername/cb-common-util</url>

        <licenses>
                <license>
                        <name>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>karthik-tarento</id>
                        <name>Karthikeyan Rajendran</name>
                        <email>karthikeyan.rajendran@tarento.com</email>
                </developer>
        </developers>

        <scm>
                <connection>scm:git:git://github.com/karthik-tarento/cb-common-util.git</connection>
                <developerConnection>scm:git:ssh://github.com:karthik-tarento/cb-common-util.git</developerConnection>
                <url>https://github.com/karthik-tarento/cb-common-util/tree/cbrelease-4.8.30</url>
        </scm>
        <properties>
                <java.version>17</java.version>
                <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <lombok.version>1.18.34</lombok.version>
        </properties>
        <dependencies>
        <!-- Spring Boot Starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <!-- Spring Boot Configuration Processor (optional) -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- Lombok (optional, for reducing boilerplate code) -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <optional>true</optional>
        </dependency>

        <!-- Jackson for JSON processing -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

        <!-- Apache Commons Collections -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>4.4</version>
        </dependency>

        <!-- Spring Web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Test Dependencies -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- Cassandra Driver Dependencies -->
        <dependency>
                        <groupId>com.datastax.oss</groupId>
                        <artifactId>java-driver-core</artifactId>
                        <version>4.15.0</version>
                </dependency>
                <dependency>
                        <groupId>com.datastax.oss</groupId>
                        <artifactId>java-driver-query-builder</artifactId>
                        <version>4.0.0</version>
        </dependency>
    </dependencies>

        <distributionManagement>
                <repository>
                        <id>central</id>
                        <name>Maven Central Repository</name>
                        <url>https://central.sonatype.com/api/v1/publisher</url>
                </repository>
        </distributionManagement>

        <build>
                <plugins>
                        <!-- Maven Compiler Plugin -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-compiler-plugin</artifactId>
                                <version>3.11.0</version>
                                <configuration>
                                        <source>17</source>
                                        <target>17</target>
                                </configuration>
                        </plugin>

                        <!-- Maven Source Plugin - for publishing sources -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-source-plugin</artifactId>
                                <version>3.3.0</version>
                                <executions>
                                        <execution>
                                                <id>attach-sources</id>
                                                <goals>
                                                        <goal>jar-no-fork</goal>
                                                </goals>
                                        </execution>
                                </executions>
                        </plugin>

                        <!-- Maven Javadoc Plugin - for publishing javadocs -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-javadoc-plugin</artifactId>
                                <version>3.6.0</version>
                                <executions>
                                        <execution>
                                                <id>attach-javadocs</id>
                                                <goals>
                                                        <goal>jar</goal>
                                                </goals>
                                        </execution>
                                </executions>
                                <configuration>
                                        <doclint>none</doclint>
                                </configuration>
                        </plugin>

                        <!-- Maven Surefire Plugin - for running tests -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
                                <version>3.1.2</version>
                        </plugin>

                        <!-- GPG Plugin - for signing artifacts (required by Maven Central) -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-gpg-plugin</artifactId>
                                <version>3.1.0</version>
                                <executions>
                                        <execution>
                                                <id>sign-artifacts</id>
                                                <phase>verify</phase>
                                                <goals>
                                                        <goal>sign</goal>
                                                </goals>
                                        </execution>
                                </executions>
                        </plugin>

                        <!-- Central Publishing Maven Plugin -->
                        <plugin>
                                <groupId>org.sonatype.central</groupId>
                                <artifactId>central-publishing-maven-plugin</artifactId>
                                <version>0.6.0</version>
                                <extensions>true</extensions>
                                <configuration>
                                        <publishingServerId>central</publishingServerId>
                                        <autoPublish>false</autoPublish>
                                        <waitUntil>published</waitUntil>
                                </configuration>
                        </plugin>
                </plugins>
        </build>

</project>
