| # 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. |