Simon Nash wrote:
Simon Nash wrote:
Simon Laws wrote:
The "binaries" directory would contain a complete set of binaries
and their runtime dependencies (configuration files etc.) so that users
can easily see exactly what files are needed at runtime.
I agree that running out of the source directories is easier in a
development/test environment but this doesn't explain how people can
package an application like this for redistribution in a production
environment. This is not straightforward and I have spent many weeks
figuring it out. It would seem a shame not to provide users with the
benefit of this knowledge.
Simon
Ok, that's a good position. I guess we just need to tweak the README
to explain what's going on.
Simon
One more thought on this. Maybe we could leave the "binaries" directory
in the source release but not build it automatically as part of the
top-level build. In the README we could explain that this build module
is available for those who want to see the runtime binary artifacts.
This makes things simpler for those who just want to look at the
sample source code and compile and run it.
Unfortunately this doesn't work very well because the mvn -Pselfcontained
profile needs to be set consistently when running the main mvn build and when
building the "binaries" directory. So if someone runs the main mvn build
with the default profile, and later builds the "binaries" directory using
mvn -Pselfcontained, the output in "binaries" won't work. This is quite
a likely scenario and it would cause confusion and frustration for users.
I think the best solution is to include "binaries" in the main mvn build.
This guarantees that the build output in "binaries" will always work when
using either the default profile or mvn -Pselfcontained. The space and
time overhead of doing this isn't very much (about 10% for space when
using the default profile, and less than that for time).
This doesn't affect the ant build because this doesn't produce a binary
package or use the "binaries" directory.
Simon
Simon
I have created TUSCANY-3528 to track this.
Simon