ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/AE/installer2/src/net/oni2/aeinstaller/backend/AppExecution.java
Revision: 623
Committed: Wed Jan 16 10:25:00 2013 UTC (12 years, 8 months ago) by alloc
Content type: text/x-java
File size: 1421 byte(s)
Log Message:
AEI2 0.83:
- Dependencies from Mods to Tools supported
- Installed tools can get a menu entry to launch them
- Mods can unlock levels in persist.dat through UnlockLevel-tag

File Contents

# Content
1 package net.oni2.aeinstaller.backend;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.io.InputStreamReader;
8 import java.util.List;
9 import java.util.Vector;
10
11 /**
12 * @author Christian Illy
13 */
14 public class AppExecution {
15
16 /**
17 * Execute a short running application and wait for termination
18 *
19 * @param cmdLine
20 * List of command and arguments
21 * @return List of output lines
22 * @throws IOException
23 * Exc
24 */
25 public static Vector<String> executeAndWait(List<String> cmdLine)
26 throws IOException {
27 ProcessBuilder pb = new ProcessBuilder(cmdLine);
28 pb.redirectErrorStream(true);
29 Process proc = pb.start();
30
31 InputStream is = proc.getInputStream();
32 InputStreamReader isr = new InputStreamReader(is);
33 BufferedReader br = new BufferedReader(isr);
34
35 String line;
36 Vector<String> lines = new Vector<String>();
37
38 while ((line = br.readLine()) != null) {
39 lines.add(line);
40 }
41 return lines;
42 }
43
44 /**
45 * Execute an app without waiting
46 *
47 * @param cmd
48 * Command and parameters
49 * @param workingDirectory
50 * Working directory of app
51 */
52 public static void execute(List<String> cmd, File workingDirectory) {
53 try {
54 ProcessBuilder pb = new ProcessBuilder(cmd);
55 pb.directory(workingDirectory);
56 pb.start();
57 } catch (IOException e) {
58 e.printStackTrace();
59 }
60 }
61
62 }