You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Stephen McConnell <mc...@osm.net> on 2003/03/13 06:04:15 UTC
[MERLIN] package update
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:mcconnell@osm.net
http://www.osm.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org