1 package org.codehaus.gmavenplus.groovyworkarounds;
2
3 import org.codehaus.gmavenplus.model.internal.Version;
4
5 import static org.codehaus.gmavenplus.util.ClassWrangler.groovyAtLeast;
6
7
8
9
10
11
12
13 public class GroovyDocTemplateInfo {
14
15
16
17
18 protected static final Version GROOVY_2_5_0 = new Version(2, 5, 0);
19
20
21
22
23 protected static final Version GROOVY_1_6_2 = new Version(1, 6, 2);
24
25
26
27
28 protected static final Version GROOVY_1_6_0 = new Version(1, 6, 0);
29
30
31
32
33 protected static final Version GROOVY_1_6_0_RC2 = new Version(1, 6, 0, "RC-2");
34
35
36
37
38 protected final Version groovyVersion;
39
40
41
42
43 protected final String templateBaseDir;
44
45
46
47
48
49
50 public GroovyDocTemplateInfo(Version version) {
51 groovyVersion = version;
52 if (groovyAtLeast(groovyVersion, GROOVY_1_6_2)) {
53 templateBaseDir = "org/codehaus/groovy/tools/groovydoc/gstringTemplates/";
54 } else {
55 templateBaseDir = "org/codehaus/groovy/tools/groovydoc/gstring-templates/";
56 }
57 }
58
59 public String[] defaultDocTemplates() {
60 if (groovyAtLeast(groovyVersion, GROOVY_2_5_0)) {
61 return new String[]{
62 templateBaseDir + "topLevel/index.html",
63 templateBaseDir + "topLevel/overview-frame.html",
64 templateBaseDir + "topLevel/allclasses-frame.html",
65 templateBaseDir + "topLevel/overview-summary.html",
66 templateBaseDir + "topLevel/help-doc.html",
67 templateBaseDir + "topLevel/index-all.html",
68 templateBaseDir + "topLevel/deprecated-list.html",
69 templateBaseDir + "topLevel/stylesheet.css",
70 templateBaseDir + "topLevel/inherit.gif",
71 "org/apache/groovy/docgenerator/groovy.ico"
72 };
73 } else if (groovyAtLeast(groovyVersion, GROOVY_1_6_2)) {
74 return new String[]{
75 templateBaseDir + "topLevel/index.html",
76 templateBaseDir + "topLevel/overview-frame.html",
77 templateBaseDir + "topLevel/allclasses-frame.html",
78 templateBaseDir + "topLevel/overview-summary.html",
79 templateBaseDir + "topLevel/help-doc.html",
80 templateBaseDir + "topLevel/index-all.html",
81 templateBaseDir + "topLevel/deprecated-list.html",
82 templateBaseDir + "topLevel/stylesheet.css",
83 templateBaseDir + "topLevel/inherit.gif",
84 "org/codehaus/groovy/tools/groovy.ico"
85 };
86 } else if (groovyAtLeast(groovyVersion, GROOVY_1_6_0)) {
87 return new String[]{
88 templateBaseDir + "top-level/index.html",
89 templateBaseDir + "top-level/overview-frame.html",
90 templateBaseDir + "top-level/allclasses-frame.html",
91 templateBaseDir + "top-level/overview-summary.html",
92 templateBaseDir + "top-level/help-doc.html",
93 templateBaseDir + "top-level/index-all.html",
94 templateBaseDir + "top-level/deprecated-list.html",
95 templateBaseDir + "top-level/stylesheet.css",
96 templateBaseDir + "top-level/inherit.gif"
97 };
98 } else if (groovyAtLeast(groovyVersion, GROOVY_1_6_0_RC2)) {
99 return new String[]{
100 templateBaseDir + "top-level/index.html",
101 templateBaseDir + "top-level/overview-frame.html",
102 templateBaseDir + "top-level/allclasses-frame.html",
103 templateBaseDir + "top-level/overview-summary.html",
104 templateBaseDir + "top-level/stylesheet.css",
105 templateBaseDir + "top-level/inherit.gif"
106 };
107 } else {
108 return new String[]{
109 templateBaseDir + "top-level/index.html",
110 templateBaseDir + "top-level/overview-frame.html",
111 templateBaseDir + "top-level/allclasses-frame.html",
112 templateBaseDir + "top-level/overview-summary.html",
113 templateBaseDir + "top-level/stylesheet.css"
114 };
115 }
116 }
117
118 public String[] defaultPackageTemplates() {
119 if (groovyAtLeast(groovyVersion, GROOVY_1_6_2)) {
120 return new String[]{
121 templateBaseDir + "packageLevel/package-frame.html",
122 templateBaseDir + "packageLevel/package-summary.html"
123 };
124 } else {
125 return new String[]{
126 templateBaseDir + "package-level/package-frame.html",
127 templateBaseDir + "package-level/package-summary.html"
128 };
129 }
130 }
131
132 public String[] defaultClassTemplates() {
133 if (groovyAtLeast(groovyVersion, GROOVY_1_6_2)) {
134 return new String[]{
135 templateBaseDir + "classLevel/classDocName.html"
136 };
137 } else {
138 return new String[]{
139 templateBaseDir + "class-level/classDocName.html"
140 };
141 }
142 }
143
144 }