The goals of the refactoring are:

1. Reuse the service model
2. Support multiple databinding plugins(jaxb, xmlbeans etc.)
3. Support multiple frontend plugins (jaxws frontend, simple frontend etc.)

and we plan to

1. Copy Tools to Tools2, which will depend on RT temporarily.
  the Tools2 will be a framework, it works as a CLI,
and it'll load the service builder plugin, frontend plugins and databinding plugins according to the input.
  and works as a main controller.


2. After all the test passed, then we start move the RT/Core to top level Core, after that the dependency of Tools2 looks like
  API <- Core <- Tools2 <- TestUtils <- RT


3. Move the JaxWs specific processors and generators from Tools2 to rt/frontend/jaxws
  Move the Jaxb  specific code from the Tools2 to rt/databiding/jaxb
  Comments:
The benefit of moving is it will keep the tools framework clean, but it make packaging harder, and the tools in RT, seems weird.

4. Migrating to the Tools2, check the testutils works fine, RT tests pass, System tests pass etc.
  Remove Tools
  Rename Tools2 as Tools


Comments or Objections?

Cheers,
James.





Reply via email to