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