Hi,

Now that the Settings object is used to create exactly one Project tree, I think it would make sense to merge ProjectDescriptor into Project, and have the Settings object manage Project instances rather than ProjectDescriptor instances.

This removes the duplication of the 2 hierarchies, allows richer navigation in the settings file (as Project has a richer set of navigation methods), and is a step towards removing the settings file.

Given that ProjectDescriptor is mutable, we would have to make name, path, projectDir and buildFile mutable on Project. We should lock this down so that the right things can be changed at the right time. Something like:

- name + path: Can only be changed during settings evaluation
- buildFile: Can only be changed before the project is evaluated
- projectDir, buildDir: should both be treated the same. Should we lock them after settings evaluation? Or allow them to be changed at any time? - tasks: not sure. Once tasks have been added cannot the name+path of any project.
- plugins: same as tasks.


Adam


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to