Referencing something in a target directory is definitely not a long
term proposition.  The best strategy is to reference the definition via
the repository.  Two options are available here:

  (a) block is embedded in a jar file
  (b) block is references as a standalone definition

More and more I'm moving towards the standalone approach as the best
strategy.  You can do this by using the artifact: uri.  

For example the following artifact uri could be included in the
merlin.deployment property value or even used as an argument when adding
a block dynamically to the root container.

  artifact:block:my-group/my-block-name

To create a block and publish a block into the repository you could use
a little bit magic.  If you take a look at the facilities or cornerstone
packages under /planet you will see several examples of magic based
block creation and the automatic publication of the block into magic's
cache directory.  These are automatically available to merlin assuming
that the magic cache and merlin cache are synchronized.

Cheers, Steve.


-----Original Message-----
From: David Leangen [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 21, 2004 6:19 AM
To: Avalon framework users
Subject: RE: Embedding - howto
Importance: High


I'm up and running!!

Steve helped me work out the issue with resolving to my block definition
file. I actually have to type in the full pathname to this file, so the
code
should be:

criteria.put( "merlin.deployment",
"target/deliverables/block/your-container-defintion.block" );


The thing with this approach, though, is that is doesn't really inspire
confidence for managing projects in the long term. Is anybody able to
share
with me what they consider best practices for managing projects?

I am assuming that the project should be deployed in a jar file, then
sent
to the repository. That way it can be resolved using artifact spec
([repository-cache]/[group]/[type]s/[name]-[version].[type]).


Would you agree that this is the best approach?


Is there a build target that can do this for me, or do I have to make my
own
target to manage my blocks?


Thanks for the insights!


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




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

Reply via email to