Gav.... wrote:
I'll take a look tomorrow Ross,
I did notice that the /build/* is being created in [FORREST2_HOME]/build/*
And output messages seemed to indicate it is looking for it but can not
Find it in [FORREST2_HOME]/src/examples/helloworld/build/*

So is 'build/*' being created in the wrong place or looked for in the Wrong place, or is this the correct operation (and so I'll look at your
Other hints tomorrow)

It's a little clumsy at present. The core code is compiled to FORREST2_HOME/build - which makes sense.

However (from memory - i.e. check against the code, which I don't have access to right now) in order to honour locations such as "classpath:xdocs/$(1)" we currently also compile the content object stuff to FORREST2_HOME/build.

The reason for this is that some content objects currently contain plugin code which needs compiling and there is no plugin loading mechanism at present.

So, in answer to your question, if Forrest is looking in [FORREST2_HOME]/src/examples/helloworld/build this is probably wrong (needs verifying).

It would be better to compile the plugin code in place (i.e. to [PLUGIN_HOME]/build) and add this to the classpath of the VM executing Forrest, if your using the ANT run task this is easy enough to do (just add it to the classpath in the target). It will also need to be added to the CLI but I would ignore that for now, I plan to use a CLI helper class for this.

All this then leaves the question of what to do with the XDocs and suchlike. Most important is that we don't want to be copying source code into the build directories as we are doing now. We need copyless editing as in Forrest1. Again, this should be a case of just adding the [CONTENT_OBJECT]/src directory to the classpath.

I hope this helps if you want to take a look at things. I'll be back on my usually dev machines at the weekend and can help out then if need be.

Ross