Hi all, Velocity code generation works fine with a VM file. I thought I'd use also the qtags special annotations to implement easier restrictions instead of checking everything in the VM file.
However I can't seem to understand how to activate them. I created the tags as needed, put restrictions in their annotations, started the Ant build with some broken files, the process flows happily ignoring all the qtags restrictions I've got there. Shouldn't I get some kind of error? Do you see anything unusual below - or forgotten? Note: I couldn't really figure out what the "namespace" attributes need to contain, but I picked something hopefully appropriate. Thanks a lot, M Here more info: ---------The tag class: package org.xdoclet.plugin.myplugin.qtags; import com.thoughtworks.qdox.model.AbstractJavaEntity; import org.xdoclet.XDocletTag; /** * @qtags.location class * @qtags.once */ public class MyClassTag extends XDocletTag { -------- the VM file: #set( $class = $metadata ) public interface I${class.getName()} { #set( $parameterTagsClass = $class.getTagsByName("mytag.classlvl") ) #foreach( $parameterTagClass in $parameterTagsClass ) #if ($parameterTagClass.getNamedParameter("table")) public static final String TABLE = "$parameterTagClass.getNamedParameter("table")"; #end #end ---------- the build.xml <taskdef name="xdoclet2" classname="org.xdoclet.ant.XDocletTask" classpathref="lib2.class.path" /> <xdoclet2> <fileset dir="${src.java.dir}"> <include name="**/test/*Base.java" /> </fileset> <component classname="org.generama.VelocityTemplateEngine"/> <component classname="org.generama.JellyTemplateEngine"/> <component classname="org.xdoclet.plugin.qtags.impl.QTagImplPlugin" destdir="${build2.java.dir}" /> <component classname="org.xdoclet.plugin.qtags.impl.QTagLibraryPlugin" destdir="${build2.java.dir}" packagereplace="org.xdoclet.plugin.myplugin.qtags" /> <component classname="org.xdoclet.plugin.qtags.xdoc.QTagXDocPlugin" destdir="${build2.java.dir}/generated-xdocs" namespace="myplugin" /> <component classname="org.xdoclet.plugin.qtags.confluence.QTagConfluencePlugin" destdir="${build2.java.dir}/confluence" namespace="myplugin" /> <component classname="org.xdoclet.plugin.myplugin.MyPlugin" destdir="${build2.java.dir}" fileregex="(.*)(.java)" filereplace="I$1.java" packageregex="test" packagereplace="test.generated" /> --------tags registration: package org.xdoclet.plugin.myplugin; import org.generama.QDoxCapableMetadataProvider; import org.generama.VelocityTemplateEngine; import org.generama.WriterMapper; import org.generama.defaults.JavaGeneratingPlugin; import org.xdoclet.plugin.sqlinterface.qtags.MyClassTag; public class MyPlugin extends JavaGeneratingPlugin { public MyPlugin(VelocityTemplateEngine templateEngine, QDoxCapableMetadataProvider metadataProvider, WriterMapper writerMapper) { super(templateEngine, metadataProvider, writerMapper); setMultioutput(true); metadataProvider.getDocletTagFactory().registerTag(MyClassTag.NAME, MyClassTag.class); --------- and the broken Java source package com.test; /** * @mytag.classlvl table="firstone" * @mytag.classlvl table="second" **/ ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ xdoclet-user mailing list xdoclet-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xdoclet-user