Consolidation of several related Merlin projects has been completed and committed earlier today to the avalon-sandbox CVS. The avalon-sandbox/merlin directory now contains the Merlin sources and all resources required to build a Merlin installation.


Structure and build procedures are described below.

STRUCTURE:
----------

merlin
|
+-- assembly assembly implementation
+-- assembly-spi assembly SPI interfaces and classes
+-- merlin-cli merlin command line handler
+-- merlin-core merlin kernel, block, and container
+-- merlin-spi merlin SPI interfaces and classes
+-- meta meta package implementation
+-- meta-spi meta SPI interfaces and classes
+-- merlin-extensions
+- merlin-jndi merlin JNDI connector
+-- merlin-smp site and installation resources
+- target
+- docs generate site documentation
+-- target
+- inst the generated installation (see
build procedure detailed below)


BUILD PROCEDURE: ----------------

The Merlin project now requires the Maven project management tool. You can either checkout maven (from the jakarta-turbine-maven CVS repository) or download Maven beta 0.8. Please note that I'm currently running Maven CVS HEAD which includes some Avalon specific resources and some fixes to the manifest management side of things. I have not tested a build against the 0.8 download, however, a 0.9 release is scheduled for availability within a matter of days. The current 0.8 release is available at the following URL:

http://jakarta.apache.org/builds/jakarta-turbine-maven/release/1.0-beta-8/

If you have already a MERLIN_HOME environment variable defined, then all you need to do is invoke the "merlin-install" goal (although it is recommended that discard your current Merlin lib directory beforehand).

$ maven merlin-install

Alternatively you apply the following step-by-step process. The "merlin-dist" goal builds a Merlin installation directory under the default /target/inst directory. Please note that the installation build does not generate a demonstration apps at this time (this should be resolved shortly through the addition of a merlin plugin for Maven). For the moment an old version of a couple of demonstration block is included in the CVS to enable validation of your installation.

$ maven merlin-dist

Following the creation of an installation you need to declare the environment variable MERLIN_HOME with a value corresponding to the directory in which you choose to deploy the merlin system. Please also make sure that you include MERLIN_HOME/bin in your PATH environment variable (that's needed if you want to run Merlin from anywhere). You can then copy the inst directory to MERLIN_HOME following which the Merlin command line utilities should function properly. You can confirm this (on NT) by opening a new DOS window and invoking the following command:

$ merlin -help

Please note that the help information (available in English, French and German) does not correctly reflect command line semantic just at the moment - some more work needed here). You could also validate your installation by launching Merlin with an initial set of demonstration components using the following command (NT variant):

$ merlin %MERLIN_HOME%\repository\demo\block.xml

or

$ merlin %MERLIN_HOME%\repository\playground-1.0.jar

If you're really interested in seeing what Merlin is doing in the background, just add the -debug parameter on the command line. For example:

$ merlin %MERLIN_HOME%\repository\demo\block.xml -debug

Support for the installation and execution of Merlin as an NT process is now included in the package (refer bin directory) - special thanks to Leif for helping to set this up.

For additional information please check the documentation. The "merlin-site" goal aggregates the sources from across the main Merlin sub-projects to build a consolidated project presentation. The goal should be invoked from the root merlin directory.

$ maven merlin-site

Finally, a couple of notes ..

Please keep in mind that while Merlin is nearing completion and readiness for a first release, it is still alpha, APIs are changing, and much of the documentation needs to be updated. It is not recommended to use the project outside of research and experimental activities at this
time unless you have a passion for living on the edge.


Secondly, the transition from Ant based builds to Maven means that the current Gump targets are broken and will need to be removed pending a solution from the Maven/Gump communities. Although there are mechanisms with Maven for automatic generation of ant build files for a project, the generated build files are not sufficiently synchronized with Maven to enable reliable build replication at this time. A second Maven issue that has appeared concerns the use of SNAPSHOT versions across the Merlin dependencies. To-date I have not managed to get this functioning properly.

Lastly, the project descriptors include a remote repository reference to www.osm.net. The repository at OSM is simply a temporary resource while we get something in place on Apache. However, please not that the repository is actually mounted on a development machine about six inches away from my keyboard. As such you may experience interruptions during a build. Once the actual Maven build process has been validated by others, we will be able to focus on moving the repository over to Apache.

Enjoy!

Cheers, Steve.

p.s. All feedback appreciated.

--

Stephen J. McConnell

OSM SARL
digital products for a global economy
mailto:[EMAIL PROTECTED]
http://www.osm.net



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to