Skip to content

Commit b1cf1f8

Browse files
committed
POC to get svg into javadoc
1 parent 06220b2 commit b1cf1f8

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

pom.xml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,35 @@
9696
</executions>
9797
<configuration>
9898
<additionalparam>-Xdoclint:none</additionalparam>
99+
<javadocDirectory>${project.basedir}/target/generated-sources/apidocs</javadocDirectory>
99100
</configuration>
100101
</plugin>
101102
<plugin>
102103
<groupId>org.pitest</groupId>
103104
<artifactId>pitest-maven</artifactId>
104105
<version>1.2.2</version>
105106
</plugin>
107+
<plugin>
108+
<groupId>org.codehaus.mojo</groupId>
109+
<artifactId>exec-maven-plugin</artifactId>
110+
<version>1.2.1</version>
111+
<executions>
112+
<execution>
113+
<id>compress-facelets</id>
114+
<phase>prepare-package</phase>
115+
<goals>
116+
<goal>java</goal>
117+
</goals>
118+
<configuration>
119+
<mainClass>net.itarray.automotion.JavadocImageGenerator</mainClass>
120+
<arguments>
121+
<argument>${project.basedir}/target</argument>
122+
</arguments>
123+
</configuration>
124+
</execution>
125+
</executions>
126+
</plugin>
127+
106128
</plugins>
107129
</build>
108130

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package net.itarray.automotion;
2+
3+
import com.google.common.collect.Lists;
4+
import net.itarray.automotion.validation.ChunkUIElementValidator;
5+
6+
import java.io.File;
7+
import java.io.IOException;
8+
import java.nio.charset.Charset;
9+
import java.nio.file.Files;
10+
import java.nio.file.Path;
11+
import java.util.List;
12+
import java.util.stream.Stream;
13+
14+
public class JavadocImageGenerator {
15+
16+
public static void main(String[] args) throws IOException {
17+
File targetDir = new File(args[0]);
18+
File generatedSourcesDir = new File(targetDir, "generated-sources");
19+
File apidocs = new File(generatedSourcesDir, "apidocs");
20+
String packageName = ChunkUIElementValidator.class.getPackage().getName();
21+
final File[] target = {apidocs};
22+
Stream.of(packageName.split("\\.")).forEach(n -> target[0] =new File(target[0], n));
23+
System.out.println("JavadocImageGenerator.main " +args[0]);
24+
System.out.println(target[0]);
25+
File docFiles = new File(target[0], "doc-files");
26+
docFiles.mkdirs();
27+
Path path = new File(docFiles, "sample.svg").toPath();
28+
List<String> lines = Lists.newArrayList(
29+
"<svg xmlns=\"http://www.w3.org/2000/svg\" \n" +
30+
" xmlns:xlink=\"http://www.w3.org/1999/xlink\" \n" +
31+
" version=\"1.1\" width=\"400\" height=\"110\">",
32+
"<rect width=\"300\" height=\"100\" style=\"fill:rgb(0,0,255);stroke-width:3;stroke:rgb(0,0,0)\" />",
33+
"</svg>"
34+
);
35+
Charset charset = Charset.forName("UTF-8");
36+
Files.write(path, lines, charset);
37+
}
38+
}

src/main/java/net/itarray/automotion/validation/ChunkUIElementValidator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ public interface ChunkUIElementValidator {
1313
// areAlignedInColumnsAndRows(numberOfColumns)
1414
ChunkUIElementValidator alignedAsGrid(int horizontalGridSize, int verticalGridSize);
1515

16+
/**
17+
* Validate that this chunks elements are aligned in a grid of cells (not areas).
18+
*
19+
* <img src="./doc-files/sample.svg" style="display: block"></img>
20+
*
21+
* @return this
22+
*/
1623
ChunkUIElementValidator areAlignedAsGridCells();
1724

1825
// area

0 commit comments

Comments
 (0)