Ok, thanks, Steve! That was indeed the missing piece to the puzzle.

So, does that mean that I have to always include the
${avalon.home}/runtime/index.xml in my build? Is there not some type of
minimum build that I can use, or is the runtime/index.xml always required?


Thanks!




> -----Original Message-----
> From: Stephen McConnell [mailto:[EMAIL PROTECTED]
> Sent: July 29, 2004 1:31
> To: 'Avalon framework users'; [EMAIL PROTECTED]
> Subject: RE: Broken descriptor
>
>
>
>
> > -----Original Message-----
> > From: David Leangen [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, July 28, 2004 18:15
> > To: [EMAIL PROTECTED]
> > Subject: Broken descriptor
> >
> >
> > I somehow broke everything and can't figure out what I'm doing wrong.
> :-(
> >
> > This is the error I'm getting:
> >
> > Unable to locate a component type descriptor for the component class
> > [com.company.Component] in the classloader.  Please verify that the
> > component classname is correct and that a component type descriptor is
> > included in a jar file available within the container classloader.
> >
> >
> > This is the block file generated (which seems ok to me! And everything
> > appears to be built correctly and exists in the repository.):
> >
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> >
> > <container name="expedition-xml">
> >
> >   <classloader>
> >     <classpath>
> >       <artifact>jar:expedition/lib/expedition-lib#0.0.1</artifact>
> >       <artifact>jar:commons-logging/commons-logging#1.0.4</artifact>
> >
> <artifact>jar:commons-logging/commons-logging-api#1.0.4</artifact>
> >
> >
> <artifact>jar:avalon/framework/avalon-framework-api#SNAPSHOT</artifact>
> >
> >
> <artifact>jar:avalon/framework/avalon-framework-impl#SNAPSHOT</artifact>
> >       <artifact>jar:junit/junit#3.8.1</artifact>
> >       <artifact>jar:expedition/xml/expedition-xml#0.0.1</artifact>
> >     </classpath>
> >   </classloader>
> >
> >   <component name="xmlChunkerComponent"
> class="com.company.Component"/>
> >
> > </container>
> >
> >
> >
> > This is the part in my build file that builds the block:
> >
> >   <target name="build" depends="standard.build">
> >     <x:block name="expedition-xml" embed="MAIN">
> >       <x:component name="xmlChunkerComponent"
> > class="com.company.Component"/>
> >     </x:block>
> >   </target>
> >
> >
> > So, my questions are:
> >
> >  1. Any ideas what I'm doing wrong?
>
> 1.1. Are you generating the meta-info from you javadoc tags? You project
> definition should include a declaration on the Avalon-meta-tools plugin.
> For example:
>
>   <project basedir="hello">
>     <info>
>       <group>avalon/tutorial</group>
>       <name>avalon-tutorial-hello</name>
>     </info>
>     <dependencies>
>       <include key="avalon-merlin-unit" runtime="false"/>
>       <include key="avalon-framework-api" runtime="false"/>
>     </dependencies>
>     <plugins>
>       <include key="avalon-meta-tools"/>  <------------------
>     </plugins>
>   </project>
>
> The plugin will generate a .xinfo file for each component under the
> target/classes directory. The .xinfo files will also get packaged into
> your jar file.  If the .xinfo files are there then you have something
> horribly wrong (such as jar files in directories that don't correspond
> to package names or some such thing).  Also just the log when executing
> merlin for any warning messages.
>
> >  2. What does <x:block name="bla" embed="MAIN"> do, anyway? Even when
> I
> > played around with it, I couldn't notice how it affected the build.
>
> In addition to the creation of a standalone block under the
> target/deliverables/blocks directory, the block task can also generate a
> block definition into either the main target/classes directory, or the
> target/test-classes directory.
>
> The embed attribute take one of the following arguments:
>
>   MAIN
>
>      create the block definition under
>      target/classes/BLOCK-INF/block.xml for inclusion within
>      the main deliverable jar file - the block definition does
>      not include a reference to the project jar because this is
>      implied through the embedded status of the block
>
>   TEST
>
>      create the block definition under
>      target/test-classes/BLOCK-INF/block.xml which allows
>      for the separation of a test block from a classic embedded
>      block
>
> Cheers, Steve.
>
>
> > Thanks!
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > 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