David,

> In a way it is nice for each component to contain and control it's own
> stuff, but this does bring up a good point.

You have a good point. But I think it's also good for new modules, even those in hot-deploy, to adhere to some "container architecture/structure". Individual modules already cross-reference each other in terms of functionalities and services. Having the build.xml refer to a standard /runtime folder wouldn't annoy anybody too much.

> For a release we should probably wipe out the build classes directories
> and just keep the jar files.

I have a script that wipes out all src and build/classes folders. All other files, including .ftl and .xml and such, are interpreted codes, and can't be omitted in a release.

> For development it's nice to have the jar files to make it possible to
> rebuild incrementally. I guess each build.xml file would have to know
> about the runtime folder and explicitly put it's stuff there, and if it
> doesn't and instead puts it in its own folder, then that's okay and it
> will just stay that way (mainly for add-in hot-deploy components and such).

Wouldn't matter, since OFBiz will/should still search the build/lib folders for 
each module.

However, I'd recommend that OFBiz issues a warning whenever it encounters jar files in module-specific build/lib folders. We don't want developers loading 2 sets of the same classes, and spending hours wondering why their changes to the .java files have no effect.

Jonathon

David E. Jones wrote:

In a way it is nice for each component to contain and control it's own stuff, but this does bring up a good point.

For a release we should probably wipe out the build classes directories and just keep the jar files.

For development it's nice to have the jar files to make it possible to rebuild incrementally. I guess each build.xml file would have to know about the runtime folder and explicitly put it's stuff there, and if it doesn't and instead puts it in its own folder, then that's okay and it will just stay that way (mainly for add-in hot-deploy components and such).

-David


On Apr 4, 2007, at 4:52 AM, Jacopo Cappellato wrote:

Now that we have the new "runtime folder", containing all the runtime objects, what about moving all the build/* files from each component into a new runtime/build/ folder?

In this way the only folder in which there will be files written while building/running the system will be in the runtime folder.

I see advantages in this approach, especially for the distribution of pre-built releases: the pre-built release could be simply the source official release + the pre-built objects in the runtime folder. Also everything apart from the runtime folder could be in a read-only file system (for example a cd).

Jacopo



Reply via email to