1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.forgerock.doc.maven.build;
18
19 import org.apache.maven.plugin.MojoExecutionException;
20 import org.forgerock.doc.maven.AbstractDocbkxMojo;
21 import org.twdata.maven.mojoexecutor.MojoExecutor;
22
23 import java.io.File;
24 import java.util.ArrayList;
25
26
27
28
29 public class Manpage {
30
31
32
33
34 private AbstractDocbkxMojo m;
35
36
37
38
39 private final Executor executor;
40
41
42
43
44
45
46 public Manpage(final AbstractDocbkxMojo mojo) {
47 m = mojo;
48 this.executor = new Executor();
49 }
50
51
52
53
54
55
56 public void execute() throws MojoExecutionException {
57 executor.prepareOlinkDB();
58 executor.build();
59 }
60
61
62
63
64 class Executor extends MojoExecutor {
65
66
67
68
69
70
71 void prepareOlinkDB() throws MojoExecutionException {
72
73 }
74
75
76
77
78
79
80 void build() throws MojoExecutionException {
81 ArrayList<Element> cfg = new ArrayList<MojoExecutor.Element>();
82 cfg.addAll(m.getBaseConfiguration());
83 cfg.add(element(name("includes"), "*/" + m.getDocumentSrcName()));
84 cfg.add(element(name("manpagesCustomization"), m.path(m.getManpagesCustomization())));
85
86 File manPageOutputDir = new File(m.getDocbkxOutputDirectory(), "manpages");
87 cfg.add(element(name("targetDirectory"), m.path(manPageOutputDir)));
88
89 executeMojo(
90 plugin(
91 groupId("com.agilejava.docbkx"),
92 artifactId("docbkx-maven-plugin"),
93 version(m.getDocbkxVersion())),
94 goal("generate-manpages"),
95 configuration(cfg.toArray(new Element[cfg.size()])),
96 executionEnvironment(m.getProject(), m.getSession(), m.getPluginManager()));
97
98
99
100 m.getLog().info("Man page output directory: "
101 + manPageOutputDir.getAbsolutePath().replace(' ', '_'));
102 }
103 }
104 }