deploy icu4j and "utilities.jar" to Github maven on tag
Note This is to support CLDR-11585, CLDR's move to Maven.
Currently, icu4j.jar and utilities.jar are checked in to CLDR.
I would like to, on every ICU[4j] tag, build and deploy these artifacts to the Github package repository, so they are available for CLDR to build against, without needing to copy the jars into the repo.
We used to create releases such as https://github.com/unicode-org/icu/releases/tag/icu4j-cldr-28-d03, and I think we could do something similar: perhaps a tag named `forcldr/cldr38-d00` or something like that.
This could be implemented using Github actions, so would not have an impact on any existing ICU build structure. It would be only active on tags.
Please finish this up. If it’s all done already, please just close as fixed. If there is more work past ICU 68, then please submit a follow-up ticket.
I forgot that the UnicodeJsps also use these two jars. UnicodeJsps would be a good target to mavenize, and would then benefit from this same ICU improvement.
In ICU4J, utilities.jar for CLDR is built with a custom target collecting some classes from a few different ICU4J submodules. In future, we may refactor ICU and make mutually exclusive modules, then release them as independent components.
I understand you’d go for Github package repository, and no need to worry about maven central compatibility. But we may still want to leave a room to drive everything through maven central in future. From this point of view, I prefer to use specific component name for utilities.jar. I’m fine with the group ID - com.ibm.icu. I prefer to use cldr-utilities as artifactId, because we may use the generic name utilities in ICU4J side in future.
Anyway, I support what you proposed in this issue.
and all, what do you think of using the artifact utilities for the utilities jar? (under groupId com.ibm.icu ?) Otherwise it could also be cldr-utilities or similar?
I’m prototyping (on my own maven repo in github) using the version number:
so, for example 0.0.0-a1da2233f528c13a54a09da27e69a361f9491fbf is that specific commit’s artifact. This way it won’t conflict with ‘real’ icu4j in maven central.
we also could push a new package on all commits to master, then you could always download “latest” icu4j.