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