mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-04 21:15:35 +00:00
ICU-22324 Mavenization, publish the root pom to Maven
This commit is contained in:
parent
07137b64e4
commit
76b9e089be
20 changed files with 209 additions and 97 deletions
10
.github/workflows/maven.yaml
vendored
10
.github/workflows/maven.yaml
vendored
|
@ -7,7 +7,7 @@ on:
|
|||
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
|
||||
|
||||
env:
|
||||
SHARED_MVN_ARGS: '--show-version --no-transfer-progress'
|
||||
SHARED_MVN_ARGS: '--show-version'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
@ -34,13 +34,9 @@ jobs:
|
|||
echo Github Ref ${GITHUB_REF} @ ${GITHUB_SHA};
|
||||
cd icu4j
|
||||
mvn deploy ${SHARED_MVN_ARGS} \
|
||||
-pl main/icu4j \
|
||||
-pl :icu4j,:utilities-for-cldr,:icu4j-root \
|
||||
-DaltDeploymentRepository=github::https://maven.pkg.github.com/${GITHUB_REPOSITORY} \
|
||||
-P with_sources
|
||||
mvn deploy ${SHARED_MVN_ARGS} \
|
||||
-pl tools/utilities-for-cldr \
|
||||
-DaltDeploymentRepository=github::https://maven.pkg.github.com/${GITHUB_REPOSITORY} \
|
||||
-P cldr_tools,with_sources
|
||||
-P cldr_utilities,with_sources
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# Note: can use 0.0.0-${GITHUB_SHA} as the version for hash-based.
|
||||
|
|
|
@ -35,4 +35,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>icu4j-charset</artifactId>
|
||||
<description>icu4j-charset is a supplemental library for icu4j, implementing Java Charset SPI.</description>
|
||||
|
||||
<properties>
|
||||
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
|
||||
|
@ -68,12 +70,6 @@
|
|||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>collate</artifactId>
|
||||
|
@ -66,4 +67,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>common_tests</artifactId>
|
||||
|
@ -96,6 +97,13 @@
|
|||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>core</artifactId>
|
||||
|
@ -60,6 +61,13 @@
|
|||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>currdata</artifactId>
|
||||
|
@ -26,4 +27,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>framework</artifactId>
|
||||
|
@ -46,8 +47,14 @@
|
|||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
</project>
|
||||
|
|
|
@ -8,11 +8,14 @@
|
|||
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>icu4j</artifactId>
|
||||
<description>International Components for Unicode for Java (ICU4J) is a mature, widely used Java library
|
||||
providing Unicode and Globalization support</description>
|
||||
|
||||
<properties>
|
||||
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
|
||||
|
@ -84,6 +87,7 @@
|
|||
<createDependencyReducedPom>true</createDependencyReducedPom>
|
||||
<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
|
||||
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
|
||||
<useDependencyReducedPomInJar>true</useDependencyReducedPomInJar>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<manifestEntries>
|
||||
|
@ -110,12 +114,6 @@
|
|||
</filesets>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>langdata</artifactId>
|
||||
|
@ -26,4 +27,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>icu4j-localespi</artifactId>
|
||||
<description>icu4j-localespi is a supplemental library for icu4j, implementing Java Locale SPI.</description>
|
||||
|
||||
<properties>
|
||||
<proj.displayname>JDK locale service provider</proj.displayname>
|
||||
|
@ -183,13 +185,6 @@
|
|||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
* © 2023 and later: Unicode, Inc. and others.
|
||||
* License & terms of use: http://www.unicode.org/copyright.html
|
||||
-->
|
||||
<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>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>main</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<icu4j.api.doc.root.dir>${project.basedir}/..</icu4j.api.doc.root.dir>
|
||||
</properties>
|
||||
|
||||
<modules>
|
||||
<module>framework</module>
|
||||
<module>core</module>
|
||||
|
||||
<!-- For publishing to Maven Central -->
|
||||
<module>charset</module>
|
||||
<module>collate</module>
|
||||
<module>currdata</module>
|
||||
<module>langdata</module>
|
||||
<module>regiondata</module>
|
||||
<module>translit</module>
|
||||
<module>common_tests</module>
|
||||
|
||||
<!-- Shaded jar for publishing to Maven Central -->
|
||||
<module>icu4j</module>
|
||||
|
||||
<!-- For publishing to Maven Central. Not shaded, but depends on the shaded artifacts above.
|
||||
Also contains all the project properties (developers, scm, etc) needed for maven publishing.
|
||||
-->
|
||||
<module>localespi</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>regiondata</artifactId>
|
||||
|
@ -26,4 +27,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>translit</artifactId>
|
||||
|
@ -61,4 +62,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -40,4 +40,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
|
||||
<name>${proj-title} (${project.artifactId})</name>
|
||||
<description>International Components for Unicode for Java (ICU4J) is a mature, widely used Java library
|
||||
providing Unicode and Globalization support</description>
|
||||
providing Unicode and Globalization support.
|
||||
This is the base artifact with common settings, not intended to use directly.</description>
|
||||
<url>https://icu.unicode.org/</url>
|
||||
<inceptionYear>1995</inceptionYear>
|
||||
|
||||
|
@ -23,7 +24,23 @@
|
|||
</organization>
|
||||
|
||||
<modules>
|
||||
<module>main</module>
|
||||
<module>main/framework</module>
|
||||
<module>main/core</module>
|
||||
<!-- For publishing to Maven Central -->
|
||||
<module>main/charset</module>
|
||||
<module>main/collate</module>
|
||||
<module>main/currdata</module>
|
||||
<module>main/langdata</module>
|
||||
<module>main/regiondata</module>
|
||||
<module>main/translit</module>
|
||||
<module>main/common_tests</module>
|
||||
<!-- Shaded jar for publishing to Maven Central -->
|
||||
<module>main/icu4j</module>
|
||||
<!-- For publishing to Maven Central. Not shaded, but depends on the shaded artifacts above.
|
||||
Also contains all the project properties (developers, scm, etc) needed for maven publishing.
|
||||
-->
|
||||
<module>main/localespi</module>
|
||||
|
||||
<module>demos</module>
|
||||
<module>samples</module>
|
||||
<module>tools/misc</module>
|
||||
|
@ -36,8 +53,7 @@
|
|||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
|
||||
<maven_central_repo_url>https://oss.sonatype.org</maven_central_repo_url>
|
||||
<maven-central-releases-repo-url>${maven-central-repo-url}/service/local/staging/deploy/maven2</maven-central-releases-repo-url>
|
||||
<maven-central-repo-url>https://oss.sonatype.org</maven-central-repo-url>
|
||||
<maven-central-snapshots-repo-url>${maven-central-repo-url}/content/repositories/snapshots</maven-central-snapshots-repo-url>
|
||||
|
||||
<junit.version>4.13.2</junit.version>
|
||||
|
@ -227,13 +243,6 @@
|
|||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<version>3.1.1</version>
|
||||
<!-- We don't want to deploy all submodules to Maven, so we make it opt-in.
|
||||
What we want to publish to Maven Central are the current 3 artifacts (icu4j, charset, and localespi).
|
||||
And what we publish to the GitHub Maven repository is the specific-to-CLDR version of ICU4J.
|
||||
-->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
|
|
|
@ -30,4 +30,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -28,4 +28,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -43,6 +43,13 @@
|
|||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -41,27 +41,45 @@
|
|||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<!-- Since this artifact is built from bits and pieces generating javadoc
|
||||
for it fails (can't access references). And we don't really need it.
|
||||
We publish the sources, and most IDEs can access the doc from there.
|
||||
-->
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<!-- We don't want this deployed to Maven Central. So by default we skip it. -->
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>translit</artifactId>
|
||||
<artifactId>icu4j</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>cldr_tools</id>
|
||||
<id>cldr_utilities</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<!-- Only deploy when the `cldr_tools` profile is active,
|
||||
<!-- Only deploy when the `cldr_utilities` profile is active,
|
||||
otherwise it will also be deployed to Maven Central.
|
||||
We can also try to specify `altDeploymentRepository` here.
|
||||
We only invoke this profile when we want to deploy to the GitHub Maven repository.
|
||||
We can even try to specify it here with `altDeploymentRepository`.
|
||||
-->
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
|
|
Loading…
Add table
Reference in a new issue