<?xml version="1.0"  encoding="UTF-8"?>
<!--
  ~ Copyright 2024 Apollo Authors
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
-->
<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/maven-v4_0_0.xsd">
	<parent>
		<groupId>com.ctrip.framework.apollo</groupId>
		<artifactId>apollo</artifactId>
		<version>${revision}</version>
		<relativePath>../pom.xml</relativePath>
	</parent>
	<modelVersion>4.0.0</modelVersion>
	<artifactId>apollo-configservice</artifactId>
	<name>Apollo ConfigService</name>
	<properties>
		<github.path>${project.artifactId}</github.path>
	</properties>
	<dependencies>
		<!-- apollo -->
		<dependency>
			<groupId>com.ctrip.framework.apollo</groupId>
			<artifactId>apollo-biz</artifactId>
		</dependency>
		<!-- end of apollo -->
		<!-- eureka -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
			<exclusions>
				<exclusion>
					<artifactId>spring-cloud-starter-netflix-archaius</artifactId>
					<groupId>org.springframework.cloud</groupId>
				</exclusion>
				<exclusion>
					<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
					<groupId>org.springframework.cloud</groupId>
				</exclusion>
				<exclusion>
					<artifactId>ribbon-eureka</artifactId>
					<groupId>com.netflix.ribbon</groupId>
				</exclusion>
				<exclusion>
					<artifactId>aws-java-sdk-core</artifactId>
					<groupId>com.amazonaws</groupId>
				</exclusion>
				<exclusion>
					<artifactId>aws-java-sdk-ec2</artifactId>
					<groupId>com.amazonaws</groupId>
				</exclusion>
				<exclusion>
					<artifactId>aws-java-sdk-autoscaling</artifactId>
					<groupId>com.amazonaws</groupId>
				</exclusion>
				<exclusion>
					<artifactId>aws-java-sdk-sts</artifactId>
					<groupId>com.amazonaws</groupId>
				</exclusion>
				<exclusion>
					<artifactId>aws-java-sdk-route53</artifactId>
					<groupId>com.amazonaws</groupId>
				</exclusion>
				<!-- duplicated with spring-security-core -->
				<exclusion>
					<groupId>org.springframework.security</groupId>
					<artifactId>spring-security-crypto</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey.contribs</groupId>
			<artifactId>jersey-apache-client4</artifactId>
		</dependency>
		<!-- end of eureka -->
		<dependency>
			<groupId>com.alibaba.nacos</groupId>
			<artifactId>nacos-api</artifactId>
			<version>${nacos-discovery-api.version}</version>
		</dependency>
		<!-- JDK 1.8+ -->
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
		</dependency>
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-impl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jaxb</groupId>
			<artifactId>jaxb-runtime</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
		</dependency>
		<!-- end of JDK 1.8+ -->
		<!-- JDK 11+ -->
		<dependency>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
		</dependency>
		<!-- end of JDK 11+ -->
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<finalName>${project.artifactId}-${project.version}-${package.environment}</finalName>
							<appendAssemblyId>false</appendAssemblyId>
							<descriptors>
								<descriptor>src/assembly/assembly-descriptor.xml</descriptor>
							</descriptors>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>1.2.2</version>
				<configuration>
					<imageName>apolloconfig/${project.artifactId}</imageName>
					<imageTags>
						<imageTag>${project.version}</imageTag>
						<imageTag>latest</imageTag>
					</imageTags>
					<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
					<serverId>docker-hub</serverId>
					<buildArgs>
						<VERSION>${project.version}</VERSION>
					</buildArgs>
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>*.zip</include>
						</resource>
					</resources>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>nacos-discovery</id>
			<dependencies>
				<dependency>
					<groupId>com.alibaba.boot</groupId>
					<artifactId>nacos-discovery-spring-boot-starter</artifactId>
				</dependency>
				<dependency>
					<groupId>com.alibaba</groupId>
					<artifactId>fastjson</artifactId>
				</dependency>
			</dependencies>
		</profile>
	</profiles>

</project>
