• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2
3<project xmlns="http://maven.apache.org/POM/4.0.0"
4	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
6	<modelVersion>4.0.0</modelVersion>
7
8	<artifactId>cldr-code</artifactId>
9
10	<name>CLDR Code</name>
11
12	<url>https://unicode.org/cldr</url>
13
14	<properties>
15		<mainClass>org.unicode.cldr.tool.Main</mainClass>
16	</properties>
17
18	<scm>
19		<connection>scm:git:https://github.com/unicode-org/cldr.git</connection>
20	</scm>
21
22	<parent>
23		<groupId>org.unicode.cldr</groupId>
24		<artifactId>cldr-all</artifactId>
25		<version>46.0</version>
26	</parent>
27
28	<dependencies>
29		<dependency>
30			<groupId>com.ibm.icu</groupId>
31			<artifactId>icu4j</artifactId>
32		</dependency>
33
34		<!-- test -->
35		<dependency>
36			<groupId>org.junit.jupiter</groupId>
37			<artifactId>junit-jupiter</artifactId>
38			<scope>test</scope>
39		</dependency>
40
41		<dependency>
42			<groupId>com.google.code.gson</groupId>
43			<artifactId>gson</artifactId>
44		</dependency>
45		<dependency>
46			<groupId>com.google.guava</groupId>
47			<artifactId>guava</artifactId>
48		</dependency>
49
50		<dependency>
51			<groupId>com.google.myanmartools</groupId>
52			<artifactId>myanmar-tools</artifactId>
53		</dependency>
54
55		<!-- for XSD generation -->
56		<dependency>
57			<groupId>org.relaxng</groupId>
58			<artifactId>trang</artifactId>
59		</dependency>
60		<!-- for semver -->
61		<dependency>
62			<groupId>com.vdurmont</groupId>
63			<artifactId>semver4j</artifactId>
64		</dependency>
65	</dependencies>
66
67	<build>
68		<resources>
69			<resource>
70				<directory>src/main/resources</directory>
71			</resource>
72			<resource>
73		       <directory>${project.basedir}/../..</directory>
74			   <!-- This is put here so that it can be read by CldrUtility, even outside of a jar -->
75		       <targetPath>${project.build.directory}/classes/org/unicode/cldr/util/data</targetPath>
76				<includes>
77					<include>LICENSE</include>
78				</includes>
79			</resource>
80			<resource>
81		       <directory>${project.basedir}/../..</directory>
82			   <!-- This is put here so that it shows up in the final .jar in an expected spot -->
83			   <!-- Note: icu4j keeps its license file at the root, /LICENSE. We won't conflict. -->
84		       <targetPath>META-INF</targetPath>
85				<includes>
86					<include>LICENSE</include>
87				</includes>
88			</resource>
89		</resources>
90		<plugins>
91			<plugin>
92				<groupId>org.codehaus.mojo</groupId>
93				<artifactId>license-maven-plugin</artifactId>
94				<executions>
95					<execution>
96						<id>add-third-party</id>
97						<phase>package</phase>
98						<goals>
99							<goal>add-third-party</goal>
100						</goals>
101					</execution>
102				</executions>
103				<configuration>
104					<excludedScopes>system,test</excludedScopes>
105					<useMissingFile>true</useMissingFile>
106					<!--
107						exclude the "for-cldr" dependencies.
108						see https://unicode-org.atlassian.net/browse/ICU-21425
109						these are actually under Unicode-3.0 the same as CLDR is.
110						The ICU license file itself is pulled in during assembly (into /LICENSE), which contains
111						all of ICU's third party license information.
112					-->
113					<excludedArtifacts>.*-for-cldr.*</excludedArtifacts>
114				</configuration>
115			</plugin>
116			<plugin>
117				<groupId>org.codehaus.mojo</groupId>
118				<artifactId>buildnumber-maven-plugin</artifactId>
119			</plugin>
120			<plugin>
121				<artifactId>maven-jar-plugin</artifactId>
122				<configuration>
123					<archive>
124						<manifest>
125							<mainClass>${mainClass}</mainClass>
126						</manifest>
127						<manifestEntries>
128							<Built-By>${user.name}</Built-By>
129							<Build-Time>${maven.build.timestamp}</Build-Time>
130							<CLDR-Code-Git-Commit>${buildNumber}</CLDR-Code-Git-Commit>
131							<CLDR-Code-Git-Branch>${scmBranch}</CLDR-Code-Git-Branch>
132						</manifestEntries>
133					</archive>
134				</configuration>
135			</plugin>
136			<plugin>
137		        <groupId>org.apache.maven.plugins</groupId>
138				<artifactId>maven-shade-plugin</artifactId>
139				<executions>
140					<execution>
141						<phase>package</phase>
142						<goals>
143							<goal>shade</goal>
144						</goals>
145						<configuration>
146							<filters>
147								<filter>
148									<artifact>*:*</artifact>
149									<excludes>
150										<!-- exclude other manifests -->
151										<exclude>META-INF/MANIFEST.MF</exclude>
152										<!-- don't care about modules for this purpose -->
153										<exclude>module-info.class</exclude>
154									</excludes>
155								</filter>
156							</filters>
157							<minimizeJar>false</minimizeJar>
158							<finalName>${project.artifactId}</finalName>
159							<transformers>
160								<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
161									<mainClass>${mainClass}</mainClass>
162									<manifestEntries>
163										<Main-Class>${mainClass}</Main-Class>
164										<Built-By>${user.name}</Built-By>
165										<Build-Time>${maven.build.timestamp}</Build-Time>
166										<CLDR-Code-Git-Commit>${buildNumber}</CLDR-Code-Git-Commit>
167										<CLDR-Code-Git-Branch>${scmBranch}</CLDR-Code-Git-Branch>
168									</manifestEntries>
169								</transformer>
170								<!-- this will have any other found licenses included -->
171								<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
172									<file>${project.basedir}/target/generated-sources/license/THIRD-PARTY.txt</file>
173									<resource>CLDR-THIRD-PARTY.txt</resource>
174								</transformer>
175								<!-- prevent any possible duplication of LICENSE files -->
176								<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
177							</transformers>
178						</configuration>
179					</execution>
180				</executions>
181			</plugin>
182		</plugins>
183	</build>
184</project>
185