First, you need to create a POM with doxia-modules as parent:
<project> <parent> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-modules</artifactId> <version>1.0</version> <!-- Latest release --> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>doxia-module-my</artifactId> <name>Doxia :: MY Module</name> ... </project>
Secondly, you should implement some Doxia classes:
import org.apache.maven.doxia.parser.AbstractParser; /** * @plexus.component role="org.apache.maven.doxia.parser.Parser" role-hint="my" */ public class MyParser extends AbstractParser { ... }
import org.apache.maven.doxia.parser.ParseException; public class MyParseException extends ParseException { ... }
import org.apache.maven.doxia.module.site.AbstractSiteModule; /** * @plexus.component role="org.apache.maven.doxia.module.site.SiteModule" role-hint="my" */ public class MySiteModule extends AbstractSiteModule { ... }
import org.apache.maven.doxia.sink.SinkAdapter; public class MySink extends SinkAdapter { ... }
import org.apache.maven.doxia.sink.SinkFactory; /** * @plexus.component role="org.apache.maven.doxia.sink.SinkFactory" role-hint="my" */ public class MySinkFactory extends SinkFactory { ... }