source: trunk/gsdl3/src/java/org/greenstone/server/RunAnt.java@ 13602

Last change on this file since 13602 was 13602, checked in by shaoqun, 17 years ago

change getState method name to avoid name conflict in java 1.5

  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
Line 
1package org.greenstone.server;
2
3import java.io.IOException;
4import java.io.BufferedReader;
5import java.io.InputStream;
6import java.io.InputStreamReader;
7
8import org.greenstone.server.StreamGobbler;
9
10import org.apache.log4j.*;
11
12public class RunAnt extends Thread {
13 private String antCmd = "";
14 static Logger logger = Logger.getLogger(org.greenstone.server.RunAnt.class.getName());
15 private int state = -1; //success: 0 error: 1
16 public static int SUCCESS = 0;
17 public static int FAILED = 1;
18
19 private String antSuccess = "BUILD SUCCESSFUL";
20 private String antFailed = "BUILD FAILED";
21 private String antFinished = "Total time";
22
23 public void run() {
24
25 try {
26 state = -1;
27 Runtime run = Runtime.getRuntime();
28 Process process = run.exec(getAntCmd());
29 BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
30 String line = null;
31 while (!(line = br.readLine()).startsWith(antFinished)){
32
33 if (line.equals(antSuccess)){
34 state = 0;
35 }
36
37 if (line.equals(antFailed)){
38 state = 1;
39 }
40 logger.info(line);
41 }
42 } catch (Exception e) {
43 logger.error(e);
44 state = 1;
45 }
46 }
47
48 public int getAntState(){
49 return state;
50 }
51
52 public void setAntCmd(String cmd) {
53 String osName = System.getProperty("os.name");
54 if (osName.startsWith("Windows")) {
55 this.antCmd = "ant.bat " + cmd;
56 } else {
57 this.antCmd = "ant " + cmd;
58 }
59 }
60
61 public String getAntCmd() {
62 return this.antCmd;
63 }
64}
Note: See TracBrowser for help on using the repository browser.