While working in the template notation spike I had to advance some work in the model support for parameterized classes. This implied in making some changes to the ArgoUML model sub-system interfaces and in the NetBeans MDR implementation of the model sub-system. With my previous organization of the eclipse projects this became very cumbersome. I have one eclipse project for ArgoUML, which contained everything bellow cvs/argouml
and another with argouml-mdr. The later depended on the former, in order to have the model interface in the class-path - localted in cvs/argouml/src/model
. To have the MDR implementation accessible I put argouml-mdr.jar and the other jars from which it depends into the main ArgoUML eclipse project. It was a way to fool eclipse's circular dependency detection. The problem was that I had to do external builds of the MDR jars everytime I made a change in the MDR implementation!
So, after bumping my head against this problem some times I decided that I could benefit from a re-organization of the ArgoUML eclipse projects. Considering the CVS organization of the ArgoUML projects I have defined the folowing eclipse projects:
- argouml-lib – contains the ArgoUML libraries from
cvs/argouml/lib
- argouml-model-api – contains the ArgoUML model sub-system API, from
cvs/argouml/src/model
; depends on argouml-lib - argouml-mdr – contains the MDR implementation of the model sub-system, from
cvs/argouml-mdr/
; depends on argouml-lib and argouml-model-api - argouml-src_new – contains the core ArgoUML application, from
cvs/argouml/src_new
; depends on argouml-lib, argouml-model-api and argouml-mdr - argouml-tools – contains the tools used in ArgoUML, from
cvs/argouml/tools
- argouml-tests – contains the unit tests of ArgoUML, from
cvs/argouml/tests
; depends on argouml-lib, argouml-model-api, argouml-mdr, argouml-src_new and argouml-tools - argouml-cpp-module – contains the C++ module, from
cvs/argouml/modules/cpp
; depends on argouml-lib, argouml-model-api, argouml-mdr and argouml-src_new; the other modules withincvs/argouml/modules
are loaded in projects similar to this
One thing that I needed was to filter out the NSUML implementation from argouml-src_new. Shouldn't this be removed alredy?!
I think I'll propose this organization in the argouml-dev list, as a possible way to have shared eclipse projects in CVS. I think that this way we will have a much simpler setup for newcomers.
No comments:
Post a Comment