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