xref: /aosp_15_r20/external/icu/icu4j/maven-migration/README_MAVEN.md (revision 0e209d3975ff4a8c132096b14b0e9364a753506e)
1*0e209d39SAndroid Build Coastguard Worker# Maven progress
2*0e209d39SAndroid Build Coastguard Worker
3*0e209d39SAndroid Build Coastguard Worker## Running the migration scripts
4*0e209d39SAndroid Build Coastguard Worker
5*0e209d39SAndroid Build Coastguard WorkerChange the folder to `<icuroot>/icu4j/` and run `maven-migration/toMaven.sh`.
6*0e209d39SAndroid Build Coastguard Worker
7*0e209d39SAndroid Build Coastguard WorkerFor convenience you can copy the `maven-migration` folder somewhere else and
8*0e209d39SAndroid Build Coastguard Workerrun the script from there. \
9*0e209d39SAndroid Build Coastguard WorkerBut the current folder when running the script MUST be `<icuroot>/icu4j/`. \
10*0e209d39SAndroid Build Coastguard WorkerThis is convenient if you work in a feature branch and don't want to integrate
11*0e209d39SAndroid Build Coastguard Workerfrom `main` at this point. \
12*0e209d39SAndroid Build Coastguard WorkerSo you checkout `main`, copy the `maven-migration` folder somewhere else,
13*0e209d39SAndroid Build Coastguard Workercheckout `<feature_branch>`, and run script from where you copied it.
14*0e209d39SAndroid Build Coastguard Worker
15*0e209d39SAndroid Build Coastguard Worker## TODO
16*0e209d39SAndroid Build Coastguard Worker
17*0e209d39SAndroid Build Coastguard Worker- Packaging the many data files in a jar is slow (especially core)
18*0e209d39SAndroid Build Coastguard Worker- The data files (.res & Co.) are spread out in the various modules.
19*0e209d39SAndroid Build Coastguard Worker  So we would need a (non maven) step to distribute them.
20*0e209d39SAndroid Build Coastguard Worker  Probably modify the step that produces the .jar files (in the C/C++ world)
21*0e209d39SAndroid Build Coastguard Worker- done: The tests for localespi should become integration tests
22*0e209d39SAndroid Build Coastguard Worker- We might want some integration tests to begin with
23*0e209d39SAndroid Build Coastguard Worker- done: `LICENSE`, `security.policy`, anything else from `main/shared/` => LICENSE should be symlink.
24*0e209d39SAndroid Build Coastguard Worker- done: The `.lst` files. All tests pass without, we can probably delete them. But need more testing.
25*0e209d39SAndroid Build Coastguard Worker  If not, we need a way to generate them (right now I've copied them by hand)
26*0e209d39SAndroid Build Coastguard Worker- Double-check dependencies.
27*0e209d39SAndroid Build Coastguard Worker  Also see https://stackoverflow.com/questions/27726779/declare-maven-dependency-as-test-runtime-only
28*0e209d39SAndroid Build Coastguard Worker- BOM (Bill of Materials). See https://reflectoring.io/maven-bom/
29*0e209d39SAndroid Build Coastguard Worker- See the library shared with cldr tools
30*0e209d39SAndroid Build Coastguard Worker- Also to do:
31*0e209d39SAndroid Build Coastguard Worker  - promote this one folder up?
32*0e209d39SAndroid Build Coastguard Worker  - done: - build things in parent (demos, samples, tools)
33*0e209d39SAndroid Build Coastguard Worker  - done: - from the parent folder these will go away
34*0e209d39SAndroid Build Coastguard Worker    - `main/` ?
35*0e209d39SAndroid Build Coastguard Worker    - `maven/`
36*0e209d39SAndroid Build Coastguard Worker    - `maven-build/`
37*0e209d39SAndroid Build Coastguard Worker    - `manifest.stub`
38*0e209d39SAndroid Build Coastguard Worker    - `coverage-exclusion.txt`
39*0e209d39SAndroid Build Coastguard Worker    - `build.xml`
40*0e209d39SAndroid Build Coastguard Worker    - `ivy.xml`
41*0e209d39SAndroid Build Coastguard Worker- Change icu4j artifact description: \
42*0e209d39SAndroid Build Coastguard Worker  from "International Component for Unicode for Java" \
43*0e209d39SAndroid Build Coastguard Worker  to "International Components for Unicode for Java" (Components) \
44*0e209d39SAndroid Build Coastguard Worker  Fix all instances (found 6 instances, 4 in older pom.xml files, 2 in .md files)
45*0e209d39SAndroid Build Coastguard Worker
46*0e209d39SAndroid Build Coastguard Worker> Copyright © 2023 and later Unicode, Inc. and others. All Rights Reserved.
47*0e209d39SAndroid Build Coastguard WorkerUnicode and the Unicode Logo are registered trademarks
48*0e209d39SAndroid Build Coastguard Workerof Unicode, Inc. in the U.S. and other countries.
49*0e209d39SAndroid Build Coastguard Worker[Terms of Use and License](http://www.unicode.org/copyright.html)
50