1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.forgerock.doc.maven.pre;
17
18 import org.apache.maven.plugin.MojoExecutionException;
19 import org.forgerock.doc.maven.AbstractDocbkxMojo;
20 import org.twdata.maven.mojoexecutor.MojoExecutor;
21
22
23
24
25 public class AsciidocToDocBook {
26
27
28
29
30 private AbstractDocbkxMojo m;
31
32
33
34
35 private final Executor executor;
36
37
38
39
40
41
42 public AsciidocToDocBook(final AbstractDocbkxMojo mojo) {
43 m = mojo;
44 this.executor = new Executor();
45 }
46
47
48
49
50
51
52 public void execute() throws MojoExecutionException {
53 executor.convert();
54 }
55
56
57
58
59 class Executor extends MojoExecutor {
60
61
62
63
64
65
66 public void convert() throws MojoExecutionException {
67 if (!m.getAsciidocSourceDirectory().exists()) {
68 return;
69 }
70
71 executeMojo(
72 plugin(
73 groupId("org.asciidoctor"),
74 artifactId("asciidoctor-maven-plugin"),
75 version(m.getAsciidoctorPluginVersion())),
76 goal("process-asciidoc"),
77 configuration(
78 element("baseDir", m.path(m.getAsciidocSourceDirectory())),
79 element("outputDirectory", m.path(m.getDocbkxModifiableSourcesDirectory())),
80 element("preserveDirectories", "true"),
81 element("extensions",
82 element("extension", ".ad"),
83 element("extension", ".adoc"),
84 element("extension", ".asciidoc"),
85 element("extension", ".txt")),
86 element("backend", "docbook"),
87 element("doctype", "book")),
88 executionEnvironment(m.getProject(), m.getSession(), m.getPluginManager()));
89 }
90 }
91 }