01: // This file is part of KeY - Integrated Deductive Software Design
02: // Copyright (C) 2001-2007 Universitaet Karlsruhe, Germany
03: // Universitaet Koblenz-Landau, Germany
04: // Chalmers University of Technology, Sweden
05: //
06: // The KeY system is protected by the GNU General Public License.
07: // See LICENSE.TXT for details.
08: package de.uka.ilkd.key.util.keydoc.html;
09:
10: import java.io.File;
11: import java.io.IOException;
12:
13: /** The main class of the keydoc Project.
14: *
15: * @author sebastian
16: * It calls the director and tells him, which keyfiles he should process.
17: */
18: public class KeYDoc {
19: private Director d;
20:
21: /** Make the documentation to a given set of .key files
22: *
23: * @param args As paramaters the files to be documented are passed. i.e *.key for all key files in the folder, ex1.key ex2.key for the two .key files ex1 and ex2.
24: */
25: public void makeDoc(String[] args, boolean rek) {
26:
27: d = new Director(args, rek);
28: d.startConstruct();
29: }
30:
31: /** Make the documentation to a given set of .key files
32: *
33: * @param args As paramaters the files to be documented are passed. i.e *.key for all key files in the folder, ex1.key ex2.key for the two .key files ex1 and ex2.
34: */
35: public void makeDoc(String[] args, String folder, boolean rek) {
36:
37: try {
38: d = new Director(args, (new File(folder))
39: .getCanonicalFile(), rek);
40: d.startConstruct();
41: } catch (IOException ioe) {
42:
43: }
44: }
45:
46: /** The main method of the Keydoc project.
47: *
48: * @param args As paramaters the files to be documented are passed. i.e *.key for all key files in the folder, ex1.key ex2.key for the two .key files ex1 and ex2.
49: */
50: public static void main(String[] args) {
51: try {
52: KeYDoc k = new KeYDoc();
53:
54: if (args.length == 0)
55: throw (new IllegalArgumentException(
56: "No files to process specified. Type runKeYDoc --h for more information."));
57: if (args[0].equals("--h") || args[0].equals("-h"))
58: System.out
59: .println("KeYDoc help:\nusage: runKeYDoc (files* | -r [folder])\n"
60: + "-r rekursive search. When searching rekursive, not specific files, "
61: + "but a folder must be specified. All .key and .proof files in this folder and all subfolders will be documented.");
62: else if (args[0].equals("-r")) { // only one folder can be passed for recursive treatment
63: String[] argsnew = new String[2];
64: argsnew[0] = "*.key";
65: argsnew[1] = "*.proof";
66: k.makeDoc(argsnew, (args.length > 1) ? args[1] : System
67: .getProperty("user.dir"), true);
68: } else
69: k.makeDoc(args, false);
70:
71: System.out.println("KeYDoc finished.");
72: } catch (IllegalArgumentException iAE) {
73: System.out.println(iAE.getMessage());
74: }
75: }
76:
77: }
|