blob: 9a83d68f9da0fc67e6220a19d04b5100d93ffdeb [file] [log] [blame] [view] [edit]
# Refactoring
For historical reasons, we have certain classes that are duplicated in ICU,
CLDR, and/or Unicode tools (perhaps with changes that need merging!). Or we have
classes that are in ICU (for example), that are only needed in CLDR.
Over time, we want to straighten that out. The goal is to move classes down the
following list where not needed higher up.
* ICU
* ICU /unittest
* CLDR
* CLDR /unittest
* unicodetools
* unicodetools /unittest
* UnicodeJsps
* UnicodeJspsTests
The UnicodeJsps are actually at the same level as unicodetools, and need to be
self-contained, only depending on ICU and CLDR (and its needed libraries: guava,
etc.)
## Starting
The easiest way to do this is with Eclipse's refactoring tools.
1. Make sure all the above are sync'ed to the HEADs of their repos.
2. Change the build paths so that they use your local projects. (You'll restore
this afterwards, so be careful not to check in the changed classpath in the
meantime.)
1. See "Refactor ICU4J+CLDR+Unicode Tools" on
<http://site.icu-project.org/processes/coverage>
Finding code and refactor. :construction: **TODO**: Details and tips
## Finishing up
1. Sync to trunk.
2. Run all the tests, and make sure they pass.
3. Build the icu jars and add to
1. cldr/tools/java/libs/
2. UnicodeJsps/WebContent/WEB-INF/lib/
4. Build cldr.jar and add to
1. UnicodeJsps/WebContent/WEB-INF/lib/
5. Change the build paths back.
6. Run all cldr, UnicodeJspTest, and unicodetools tests and make sure they
pass.
7. Check everything in.