<?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>

	<artifactId>cldr-code</artifactId>

	<name>CLDR Code</name>

	<url>https://unicode.org/cldr</url>

	<properties>
		<mainClass>org.unicode.cldr.tool.Main</mainClass>
	</properties>

	<scm>
		<connection>scm:git:https://github.com/unicode-org/cldr.git</connection>
	</scm>

	<parent>
		<groupId>org.unicode.cldr</groupId>
		<artifactId>cldr-all</artifactId>
		<version>45.0</version>
	</parent>

	<dependencies>
		<dependency>
			<groupId>com.ibm.icu</groupId>
			<artifactId>icu4j</artifactId>
		</dependency>

		<dependency>
			<groupId>com.ibm.icu</groupId>
			<artifactId>utilities-for-cldr</artifactId>
		</dependency>

		<!-- test -->
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
		</dependency>

		<dependency>
			<groupId>com.google.myanmartools</groupId>
			<artifactId>myanmar-tools</artifactId>
		</dependency>

		<!-- for XSD generation -->
		<dependency>
			<groupId>org.relaxng</groupId>
			<artifactId>trang</artifactId>
		</dependency>
		<!-- for semver -->
		<dependency>
			<groupId>com.vdurmont</groupId>
			<artifactId>semver4j</artifactId>
		</dependency>
	</dependencies>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
		       <directory>${project.basedir}/../..</directory>
			   <!-- This is put here so that it can be read by CldrUtility, even outside of a jar -->
		       <targetPath>${project.build.directory}/classes/org/unicode/cldr/util/data</targetPath>
				<includes>
					<include>LICENSE</include>
				</includes>
			</resource>
			<resource>
		       <directory>${project.basedir}/../..</directory>
			   <!-- This is put here so that it shows up in the final .jar in an expected spot -->
			   <!-- Note: icu4j keeps its license file at the root, /LICENSE. We won't conflict. -->
		       <targetPath>META-INF</targetPath>
				<includes>
					<include>LICENSE</include>
				</includes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>add-third-party</id>
						<phase>package</phase>
						<goals>
							<goal>add-third-party</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<excludedScopes>system,test</excludedScopes>
					<useMissingFile>true</useMissingFile>
					<!--
						exclude the "for-cldr" dependencies.
						see https://unicode-org.atlassian.net/browse/ICU-21425
						these are actually under Unicode-3.0 the same as CLDR is.
						The ICU license file itself is pulled in during assembly (into /LICENSE), which contains
						all of ICU's third party license information.
					-->
					<excludedArtifacts>.*-for-cldr.*</excludedArtifacts>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<mainClass>${mainClass}</mainClass>
						</manifest>
						<manifestEntries>
							<Built-By>${user.name}</Built-By>
							<Build-Time>${maven.build.timestamp}</Build-Time>
							<CLDR-Code-Git-Commit>${buildNumber}</CLDR-Code-Git-Commit>
							<CLDR-Code-Git-Branch>${scmBranch}</CLDR-Code-Git-Branch>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
		        <groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<filters>
								<filter>
									<artifact>*:*</artifact>
									<excludes>
										<!-- exclude other manifests -->
										<exclude>META-INF/MANIFEST.MF</exclude>
										<!-- don't care about modules for this purpose -->
										<exclude>module-info.class</exclude>
									</excludes>
								</filter>
							</filters>
							<minimizeJar>false</minimizeJar>
							<finalName>${project.artifactId}</finalName>
							<transformers>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<mainClass>${mainClass}</mainClass>
									<manifestEntries>
										<Main-Class>${mainClass}</Main-Class>
										<Built-By>${user.name}</Built-By>
										<Build-Time>${maven.build.timestamp}</Build-Time>
										<CLDR-Code-Git-Commit>${buildNumber}</CLDR-Code-Git-Commit>
										<CLDR-Code-Git-Branch>${scmBranch}</CLDR-Code-Git-Branch>
									</manifestEntries>
								</transformer>
								<!-- this will have any other found licenses included -->
								<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
									<file>${project.basedir}/target/generated-sources/license/THIRD-PARTY.txt</file>
									<resource>CLDR-THIRD-PARTY.txt</resource>
								</transformer>
								<!-- prevent any possible duplication of LICENSE files -->
								<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
