1 18 package net.sf.uitags.build; 19 20 import java.io.BufferedReader ; 21 import java.io.IOException ; 22 import java.io.InputStreamReader ; 23 24 import org.apache.maven.plugin.AbstractMojo; 25 26 34 public final class JsdocGenerator extends AbstractMojo { 35 39 44 private String sourceDir; 45 50 private String outputDir; 51 52 53 57 public void execute() { 58 try { 59 String jsdocScript = readJsdocScriptFromUserInput(); 60 61 if (userWantsToRunJsdoc(jsdocScript)) { 62 String command = 63 "perl " + 64 jsdocScript + 65 " -r " + this.sourceDir + 66 " -d " + this.outputDir; 67 getLog().info("Running " + command); 68 69 Runtime.getRuntime().exec(command); 70 } 71 else { 72 getLog().info("JSDoc does not run."); 73 } 74 } 75 catch (Exception e) { 76 getLog().error(e); 78 } 79 } 80 81 private String readJsdocScriptFromUserInput() throws IOException { 82 getLog().info("JSDoc script to execute [JSDoc won't run if not supplied]: "); 83 BufferedReader input = new BufferedReader (new InputStreamReader (System.in)); 84 85 return input.readLine(); 86 } 87 88 private boolean userWantsToRunJsdoc(String jsdocScript) { 89 return (jsdocScript.trim().length() > 0); 90 } 91 92 93 97 public static void main(String args[]) { 98 if (args.length != 2) { 99 printUsage(); 100 } 101 102 JsdocGenerator generator = new JsdocGenerator(); 103 generator.sourceDir = args[0]; 104 generator.outputDir = args[1]; 105 generator.execute(); 106 } 107 108 private static void printUsage() { 109 System.err.println("Usage: PROGRAM JS_SRC_DIR JSDOC_OUTPUT_DIR"); 110 System.exit(1); 111 } 112 } 113 | Popular Tags |