Bron: http://argouml.tigris.org/proposals/sources/index.htmlProposed restructuring of ArgoUML sources. The purpose of the restructuring would be to allow tight component building as a foundation for ArgoUML. By separating source files into basic components, we could minimize the possibility that changes to source files have unexpected impact on other areas of the application.
/argouml /build (Unchanged as part of this.) /documentation (Unchanged as part of this.) /lib (Unchanged as part of this.) /modules (Basically unchanged as part of this. Some of the test sources will be moved to the component test directories.) /src_new (all files removed after moving to src.) /src /build (shared library location) /component1 /build (not in cvs) /config/checkstyle.xml /src/org/argouml/where/ever /tests/org/argouml/where/ever /lib/some-implementation.jar /component2 /build (not in cvs) /config/checkstyle.xml /src/org/argouml/where/ever2 /tests/org/argouml/where/ever2 /templates/some.template /component3 /build (not in cvs) /config/checkstyle.xml /src/org/argouml/where/ever3 /tests/org/argouml/where/ever3 ... /tests (all files removed after moving to src/?????/tests) /tools (unchanged as part of this) /www (unchanged as part of this)
build/classeswithin their component directory.
disttarget, as this would not be necessary at a component level. The master build.xml would not contain a
compiletarget, as the only shared output of the components would be jar files. A target such as
packagein the master build.xml would simply execute the ant command
packagein each of the component directories, in the necessary sequence to ensure that dependencies are fulfilled. The targets
cleanwould behave similarly. The target
javadocwould not behave this way - it would be more reasonable for the component javadocs to build the javadocs for that component, but the master javadocs to build a consolidated javadoc directory.