Patch applied.


I also bumped the package and plugin version to 1.3.2, the tools version is bumped to 1.3.1, and I updated the release status information.

Can you update from CVS and rebuild using:

  $ cd avalon\meta
  $ maven avalon:clean
  $ maven avalon:build

This will install the new plugin version against which you should be able to validate the changes.

Cheers, Steve.


Life is hard, and then you die wrote:


Attached is a patch for the avalon meta-tools which A) uses qdox 1.3
instead of the old 1.1, and B) makes MetaTask properly recognize and
handle tags on inner classes (e.g. so you can have components which are
inner classes).

The patch is against CVS HOL (Jan 13 2004).


Cheers,


Ronald



------------------------------------------------------------------------

? tools/maven.log
Index: platform.xml
===================================================================
RCS file: /home/cvspublic/avalon/meta/platform.xml,v
retrieving revision 1.2
diff -u -b -B -w -r1.2 platform.xml
--- platform.xml 18 Dec 2003 01:10:32 -0000 1.2
+++ platform.xml 14 Jan 2004 04:33:27 -0000
@@ -57,7 +57,7 @@
<dependency>
<id>qdox</id>
- <version>1.1</version>
+ <version>1.3</version>
</dependency>
<!-- pre JDK 1.4 dependencies -->
Index: plugin/project.xml
===================================================================
RCS file: /home/cvspublic/avalon/meta/plugin/project.xml,v
retrieving revision 1.9
diff -u -b -B -w -r1.9 project.xml
--- plugin/project.xml 1 Jan 2004 21:48:37 -0000 1.9
+++ plugin/project.xml 14 Jan 2004 04:33:27 -0000
@@ -51,7 +51,7 @@
<dependency>
<id>qdox</id>
- <version>1.1</version>
+ <version>1.3</version>
</dependency>
<!-- pre JDK 1.4 dependencies -->
Index: tools/project.xml
===================================================================
RCS file: /home/cvspublic/avalon/meta/tools/project.xml,v
retrieving revision 1.7
diff -u -b -B -w -r1.7 project.xml
--- tools/project.xml 1 Jan 2004 21:48:37 -0000 1.7
+++ tools/project.xml 14 Jan 2004 04:33:27 -0000
@@ -64,7 +64,7 @@
<dependency>
<id>qdox</id>
- <version>1.1</version>
+ <version>1.3</version>
</dependency>
<!-- pre JDK 1.4 dependencies -->
Index: tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java
===================================================================
RCS file: /home/cvspublic/avalon/meta/tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java,v
retrieving revision 1.1.1.1
diff -u -b -B -w -r1.1.1.1 MetaTask.java
--- tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java 24 Sep 2003 08:16:12 -0000 1.1.1.1
+++ tools/src/java/org/apache/avalon/meta/info/ant/MetaTask.java 14 Jan 2004 04:33:27 -0000
@@ -53,6 +53,7 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.util.ArrayList;
import org.apache.avalon.meta.info.Service;
import org.apache.avalon.meta.info.Type;
@@ -201,6 +202,7 @@
log( message );
super.execute();
+ addInnerClasses();
try
{
@@ -261,6 +263,31 @@
}
/**
+ * allClasses contains only non-inner classes, so here we (recursively) extract out all inner
+ * classes and explictly add them.
+ */
+ private void addInnerClasses()
+ {
+ ArrayList expList = new ArrayList();
+ for( int i = 0; i < allClasses.size(); i++ )
+ {
+ addWithInnerClasses( expList, (JavaClass)allClasses.get( i ) );
+ }
+ allClasses = expList;
+ }
+
+ private void addWithInnerClasses( ArrayList list, JavaClass javaClass )
+ {
+ list.add( javaClass );
+
+ final JavaClass[] innerClasses = javaClass.getInnerClasses();
+ for( int i = 0; i < innerClasses.length; i++ )
+ {
+ addWithInnerClasses( list, innerClasses[i] );
+ }
+ }
+
+ /**
* Output the metadata files.
* @return the count holder
* @throws IOException If a problem writing output
@@ -284,7 +311,7 @@
services++;
//
- // it is a service so we can fo ahead and build a
+ // it is a service so we can go ahead and build a
// a service descriptor
//
Index: tools/src/java/org/apache/avalon/meta/info/builder/tags/AbstractTag.java
===================================================================
RCS file: /home/cvspublic/avalon/meta/tools/src/java/org/apache/avalon/meta/info/builder/tags/AbstractTag.java,v
retrieving revision 1.1.1.1
diff -u -b -B -w -r1.1.1.1 AbstractTag.java
--- tools/src/java/org/apache/avalon/meta/info/builder/tags/AbstractTag.java 24 Sep 2003 08:16:14 -0000 1.1.1.1
+++ tools/src/java/org/apache/avalon/meta/info/builder/tags/AbstractTag.java 14 Jan 2004 04:33:27 -0000
@@ -254,8 +254,7 @@
{
return resolvedType;
}
- else if( clazz.getSuperJavaClass() == null - || JavaClass.OBJECT.equals( clazz.getSuperClass() ) )
+ else if( clazz.getSuperJavaClass() == null )
{
return null;
}
@@ -301,9 +300,7 @@
}
}
- if( - clazz.getSuperJavaClass() != null - && !JavaClass.OBJECT.equals( clazz.getSuperClass() ) )
+ if( clazz.getSuperJavaClass() != null )
{
this.findLifecycleMethod( result, clazz.getSuperJavaClass(), methodName, parameterType );
@@ -327,9 +324,7 @@
if( tag != null ) list.add( method );
}
- if( - clazz.getSuperJavaClass() != null - && !JavaClass.OBJECT.equals( clazz.getSuperClass() ) )
+ if( clazz.getSuperJavaClass() != null )
{
return this.findTaggedMethods( clazz.getSuperJavaClass(), key, list );
}




------------------------------------------------------------------------

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


--

|------------------------------------------------|
| Magic by Merlin                                |
| Production by Avalon                           |
|                                                |
| http://avalon.apache.org/merlin                |
| http://dpml.net/merlin/distributions/latest    |
|------------------------------------------------|

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



Reply via email to