<?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">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.4.5</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>org.directtruststandards</groupId>
	<artifactId>timplus-server-boot</artifactId>
	<version>1.0.0</version>
	<name>Spring boot application of the TIM+ core server.</name>
	<description>Spring boot application of the TIM+ core server.</description>

	<properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>2020.0.2</spring-cloud.version>
	</properties>
	<repositories>
        <repository>
            <id>atlassian-packages</id>
            <name>Atlassian Packages </name>
            <url>https://packages.atlassian.com/maven-public/</url>
        </repository>
        <repository>
            <id>igniterealtime</id>
            <name>igniterealtime</name>
            <url>https://igniterealtime.org/repo</url>
       </repository>                 
    </repositories>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>		
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter</artifactId>
		    <exclusions>
		        <exclusion>
		            <groupId>org.apache.logging.log4j</groupId>
		            <artifactId>log4j-to-slf4j</artifactId>
		        </exclusion>
		    </exclusions>					
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
		</dependency>
		<dependency>
		    <groupId>org.springframework.cloud</groupId>
		    <artifactId>spring-cloud-starter-bootstrap</artifactId>
		</dependency>		
	   	<!-- Flyway for db maintainance 		-->	
		<dependency>
			<groupId>org.flywaydb</groupId>
			<artifactId>flyway-core</artifactId>
		</dependency>		
		<dependency>
			<groupId>org.directtruststandards</groupId>
			<artifactId>timplus-server-core</artifactId>
			<version>1.0.0</version>			
		</dependency>	
		<dependency>
			<groupId>org.directtruststandards</groupId>
			<artifactId>timplus-cluster</artifactId>
			<version>1.0.0</version>			
		</dependency>	
		<dependency>
			<groupId>org.directtruststandards</groupId>
			<artifactId>timplus-cluster-redis</artifactId>
			<version>1.0.0</version>			
		</dependency>	
		<dependency>
			<groupId>org.directtruststandards</groupId>
			<artifactId>timplus-cluster-scs</artifactId>
			<version>1.0.0</version>			
		</dependency>	
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
		</dependency>								
		<dependency>
		    <groupId>opensymphony</groupId>
		    <artifactId>sitemesh</artifactId>
		    <version>2.4.2</version>
		</dependency>				
	    <dependency>
	    	<groupId>commons-io</groupId>
	    	<artifactId>commons-io</artifactId>
	    	<version>2.6</version>
	    </dependency>
	    <dependency>
	    	<groupId>rome</groupId>
	    	<artifactId>rome-fetcher</artifactId>
	    	<version>1.0</version>
	    </dependency>		    		    				
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
		    <groupId>com.h2database</groupId>
		    <artifactId>h2</artifactId>
		    <scope>test</scope>
		</dependency>		
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
	        <dependency>
	            <groupId>io.pivotal.spring.cloud</groupId>
	            <artifactId>spring-cloud-services-dependencies</artifactId>
	            <version>3.1.6.RELEASE</version>
	            <type>pom</type>
	            <scope>import</scope>
	        </dependency>			        		
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
	            <configuration>    
	                <mainClass>org.directtruststandards.timplus.server.boot.TIMPlusServerApplication</mainClass>
	            </configuration>				
			</plugin>
			<plugin>
			   <groupId>org.apache.felix</groupId>
			   <artifactId>maven-bundle-plugin</artifactId>
			   <version>4.2.0</version>
			   <extensions>true</extensions>
			</plugin>	
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>testCompile</goal>
						</goals>
						<phase>compile</phase>
					</execution>
				</executions>
				<configuration>
				    <fork>true</fork>
					<optimize>true</optimize>
					<showDeprecation>true</showDeprecation>
					<encoding>UTF-8</encoding>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>	
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>			
		    <plugin>
		      	<groupId>org.apache.maven.plugins</groupId> 
		        <artifactId>maven-javadoc-plugin</artifactId>
		        <version>2.9.1</version>
		        <configuration>
				    <additionalparam>-Xdoclint:none</additionalparam>
					<charset>UTF-8</charset>
					<docencoding>UTF-8</docencoding>
					<docfilessubdirs>true</docfilessubdirs>
					<detectJavaApiLink>true</detectJavaApiLink>
					<detectLinks>true</detectLinks>
					<source>1.8</source>
					<show>public</show> 
		            <excludePackageNames>
		            </excludePackageNames>   	                      	          
		        </configuration>
		        <executions>
		            <execution>
		                <phase>package</phase>
		                <id>attach-javadocs</id>
		                <goals>
		                  <goal>jar</goal>
		                </goals>
		            </execution>
		        </executions>		        
		    </plugin>  		
		    <plugin>
	             <groupId>org.apache.maven.plugins</groupId>
	             <artifactId>maven-gpg-plugin</artifactId>
	            <executions>
	               <execution>
	                  <id>sign-artifacts</id>
	                     <phase>package</phase>
	                     <goals>
	                        <goal>sign</goal>
	                     </goals>
	              </execution>
	            </executions>
	        </plugin>								
		</plugins>
	</build>
  <distributionManagement>
    <snapshotRepository>
        <id>sonatype-snapshot</id>
        <name>Sonatype OSS Maven SNAPSHOT Repository</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        <uniqueVersion>false</uniqueVersion>
     </snapshotRepository>
     <repository>
        <id>sonatype-release</id>
        <name>Sonatype OSS Maven Release Repositor</name>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        <uniqueVersion>false</uniqueVersion>
     </repository>		    
  </distributionManagement>
</project>
