KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ant > StartupScript


1 /**
2  * Creates startup scripts.
3  */

4 package ant;
5
6 import java.io.BufferedOutputStream JavaDoc;
7 import java.io.File JavaDoc;
8 import java.io.FileOutputStream JavaDoc;
9 import java.io.OutputStream JavaDoc;
10
11 public class StartupScript {
12
13   public static void main(String JavaDoc[] args) throws Exception JavaDoc {
14     System.out.println();
15     System.out.println("Startup scripts writer. Use 'StartupScript libDir destDir'");
16
17     String JavaDoc fromDir;
18     String JavaDoc destDir;
19     if (args.length == 0) {
20       fromDir = "build/dist/lib";
21       destDir = "build/dist";
22     } else {
23       fromDir = args[0];
24       destDir = args[1];
25     }
26
27     StringBuffer JavaDoc libpathWin = new StringBuffer JavaDoc();
28     StringBuffer JavaDoc libpathNix = new StringBuffer JavaDoc();
29
30     File JavaDoc libdir = new File JavaDoc(fromDir);
31     System.out.println("Reading libraries from: "+libdir.getAbsolutePath());
32
33     int count = 0;
34     File JavaDoc[] files = libdir.listFiles();
35     for (File JavaDoc f : files) {
36       if (f.isDirectory()) continue;
37       libpathWin.append("lib/").append(f.getName()).append(";");
38       libpathNix.append("lib/").append(f.getName()).append(":");
39       count++;
40     }
41     System.out.println("Read "+count+" files");
42
43     File JavaDoc distdir = new File JavaDoc(destDir);
44     System.out.println("Creating startup scripts in: "+distdir.getAbsolutePath());
45
46     StringBuffer JavaDoc text = new StringBuffer JavaDoc();
47     text.append("@echo off").append("\r\n");
48     text.append("\r\n");
49     text.append("rem You can set JAVA_HOME and JAVA_OPTS variables:").append("\r\n");
50     text.append("rem JAVA_HOME points to JVM").append("\r\n");
51     text.append("rem JAVA_OPTS sets JVM options").append("\r\n");
52     text.append("\r\n");
53     text.append("set JAVA_CMD=java").append("\r\n");
54     text.append("if NOT \"%JAVA_HOME%\"==\"\" set JAVA_CMD=%JAVA_HOME%\\bin\\java").append("\r\n");
55     text.append("set CONF=conf").append("\r\n");
56     text.append("set LIBS=").append(libpathWin).append("\r\n");
57     text.append("echo \"%JAVA_CMD%\" %JAVA_OPTS% -cp \"%CONF%;%LIBS%\" Launcher").append("\r\n");
58     text.append("\"%JAVA_CMD%\" %JAVA_OPTS% -cp \"%CONF%;%LIBS%\" Launcher").append("\r\n");
59     text.append("@pause").append("\r\n");
60
61     OutputStream JavaDoc out = null;
62     try {
63       out = new BufferedOutputStream JavaDoc(new FileOutputStream JavaDoc(new File JavaDoc(distdir, "start.bat")));
64       out.write(text.toString().getBytes());
65     } finally {
66       try {out.close();} catch (Exception JavaDoc e) {}
67     }
68
69     text = new StringBuffer JavaDoc();
70     text.append("#!/bin/sh").append("\n");
71     text.append("\n");
72     text.append("# You can set JAVA_HOME and JAVA_OPTS variables:").append("\n");
73     text.append("# JAVA_HOME points to JVM").append("\n");
74     text.append("# JAVA_OPTS sets JVM options").append("\n");
75     text.append("\n");
76     text.append("JAVA_CMD=java").append("\n");
77     text.append("if [ ! -z \"$JAVA_HOME\" ] ; then ").append("\n");
78     text.append(" JAVA_CMD=$JAVA_HOME/bin/java").append("\n");
79     text.append("fi").append("\n");
80     text.append("CONF=conf").append("\n");
81     text.append("LIBS=").append(libpathNix).append("\n");
82     text.append("echo \"$JAVA_CMD\" $JAVA_OPTS -cp \"$CONF:$LIBS\" Launcher").append("\n");
83     text.append("\"$JAVA_CMD\" $JAVA_OPTS -cp \"$CONF:$LIBS\" Launcher").append("\n");
84
85     try {
86       out = new BufferedOutputStream JavaDoc(new FileOutputStream JavaDoc(new File JavaDoc(distdir, "start.sh")));
87       out.write(text.toString().getBytes());
88     } finally {
89       try {out.close();} catch (Exception JavaDoc e) {}
90     }
91
92     System.out.println("Startup scripts created");
93   }
94 }
95
Popular Tags