<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://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>
  <groupId>com.divami</groupId>
  <artifactId>ims-web</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Ims-Web</name>
  <description>Ims Web</description>
  <packaging>jar</packaging>
     
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.18</version>
        <relativePath/>
  </parent>
  <dependencies>

        <!-- Core Spring Boot -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
             <exclusions>                                                                                                   
	          <exclusion>                                                                                                
	              <groupId>org.springframework.boot</groupId>                                                            
	              <artifactId>spring-boot-starter-logging</artifactId>                                                   
	          </exclusion>                                                                                               
	      </exclusions>
        </dependency>

        <!-- Web (optional, remove if not needed) -->
        <dependency>
            <groupId>org.springframework.boot</groupId> 
            <artifactId>spring-boot-starter-web</artifactId>
             <exclusions>                                                                                                   
	          <exclusion>                                                                                                
	              <groupId>org.springframework.boot</groupId>                                                            
	              <artifactId>spring-boot-starter-logging</artifactId>                                                   
	          </exclusion>                                                                                               
	      </exclusions>
        </dependency>

        <!-- Testing -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>com.divami.ims.model</groupId>
            <artifactId>ims-model</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

		<!-- Migration -->
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<exclusions>
				<!-- Exclude Commons Logging in favor of SLF4j -->
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
		<!-- Security -->
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
		</dependency>
		

		<!-- AspectJ --> <!-- this is not needed, it gives error, due to change in spring version 
			to 4.3.3 -->
		<!-- <dependency> -->
		<!-- <groupId>org.aspectj</groupId> -->
		<!-- <artifactId>aspectjrt</artifactId> -->
		<!-- <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> 
			<version>${org.aspectj-version}</version> </dependency> -->

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
		</dependency>
		
		<!-- GSON jar for converting JSON to Java object and vice versa -->
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>
		<!-- Logging dependencies -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-slf4j-impl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-1.2-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-jcl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-web</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>


		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
		</dependency>
		

		<!-- @Inject -->
		

		<!-- Servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
		
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<!-- <dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.1</version>
		</dependency> -->

		

		<!-- Jersey 2.x -->

		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-client</artifactId>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-multipart</artifactId>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-json-jackson</artifactId>
		</dependency>

		<!-- Jackson dependency to convert object to or from JSON -->
		
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>
		
		<!-- Test -->
		
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<artifactId>hamcrest-core</artifactId>
					<groupId>org.hamcrest</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.jayway.jsonpath</groupId>
			<artifactId>json-path</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.jayway.jsonpath</groupId>
			<artifactId>json-path-assert</artifactId>
			<scope>test</scope>
		</dependency>
        <!-- Errors-->
        
		
        <!-- version -->
	        <dependency>
				<groupId>io.jsonwebtoken</groupId>
				<artifactId>jjwt</artifactId>
				<version>0.9.1</version> 
			</dependency>
	
			<!-- Validation -->
			<!--
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>6.2.5.Final</version> 
			</dependency>
			-->
			
			<!--
			<dependency>
				<groupId>javax.el</groupId>
				<artifactId>javax.el-api</artifactId>
				<version>3.0.0</version>   
			</dependency>
			-->
			
			<dependency>
				<groupId>org.glassfish.web</groupId>
				<artifactId>javax.el</artifactId>
				<version>2.2.6</version>  
			</dependency>
			
	        <dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib</artifactId>
				<version>3.3.0</version>  
			</dependency>
			
			<!-- Apache Tiles -->
			<!-- 
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-core</artifactId>
				<version>${apachetiles.version}</version>
			</dependency>
			 <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-extras</artifactId> 
				<version>${apachetiles.version}</version> </dependency> 
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-api</artifactId>
				<version>${apachetiles.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-servlet</artifactId>
				<version>${apachetiles.version}</version>
			</dependency>
			-->
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-jsp</artifactId>
				<version>${apachetiles.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.inject</groupId>
				<artifactId>javax.inject</artifactId>
				<version>1</version>   
			</dependency>
			
			<dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>jsp-api</artifactId>
				<version>2.2</version>
				<scope>provided</scope>
			</dependency>
			
			<!-- Apache Commons file upload -->
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>1.5</version>
			</dependency>
			<!-- Apache Commons IO -->
			<dependency>
				<groupId>commons-io</groupId>      
				<artifactId>commons-io</artifactId>
				<version>2.11.0</version>   
			</dependency>
			<dependency>
				<groupId>org.json</groupId>
				<artifactId>json</artifactId>
				<version>20231013</version> 
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-all</artifactId>
				<version>1.3</version>
				<scope>test</scope>
			</dependency>
        <!-- Remove -->
	        <!--
	        
	        <dependency>
				<groupId>asm</groupId>
				<artifactId>asm-all</artifactId>
			</dependency>
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
			</dependency> 
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
			</dependency> 
			<dependency>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
			</dependency>
			-->
        <!-- Replace -->
        
        
 </dependencies>
 
    
     <properties>
        <java.version>17</java.version>
        <spring-framework.version>5.3.39</spring-framework.version>
        <apachetiles.version>3.0.8</apachetiles.version>
        <jersey.version>2.25.1</jersey.version>
    </properties>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>