1
22
23 package com.liferay.util;
24
25 import com.liferay.portal.kernel.util.StringUtil;
26
27 import java.io.BufferedReader;
28 import java.io.File;
29 import java.io.InputStreamReader;
30
31 import org.apache.tools.ant.DirectoryScanner;
32
33
39 public class Java2Html {
40
41 public static void main(String[] args) {
42 new Java2Html(args);
43 }
44
45 public Java2Html(String[] args) {
46 if ((args == null) || (args.length != 3)) {
47 return;
48 }
49
50 String batchFile = args[0];
51 String srcDir = args[1];
52 String outDir = args[2];
53
55
57 try {
58 Runtime rt = Runtime.getRuntime();
59
60 String javaHome = System.getProperty("java.home");
61
62 if (javaHome.endsWith("\\jre") || javaHome.endsWith("/jre")) {
63 javaHome = javaHome.substring(0, javaHome.length() - 4);
64 }
65
66 Process p = rt.exec(
67 batchFile +
68 " -js " + srcDir +
69 " -d " + outDir +
70 " -jd " + javaHome + "/docs/api" +
71 " http://java.sun.com/products/jdk/1.4/docs/api" +
72 " -m 4 -t 4" +
73 " -nf");
75
76
79 BufferedReader br = new BufferedReader(
80 new InputStreamReader(p.getInputStream()));
81
82 while (br.readLine() != null) {
83 }
84
85 br.close();
86
87 DirectoryScanner ds = new DirectoryScanner();
88
89 ds.setIncludes(new String[] {"**\\*.java.html"});
90 ds.setBasedir(outDir);
91
92 ds.scan();
93
94 String[] files = ds.getIncludedFiles();
95
96 for (int i = 0; i < files.length; i++) {
97 File file = new File(outDir + "/" + files[i]);
98
99 String content = FileUtil.read(file);
100
101 content = StringUtil.replace(
102 content, "java2html.css", "java2html.css");
103
104 FileUtil.write(file, content);
105 }
106 }
107 catch (Exception e) {
108 e.printStackTrace();
109 }
110
111 System.exit(0);
112 }
113
114 }