> -----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]