1 4 package ant; 5 6 import java.io.BufferedOutputStream ; 7 import java.io.File ; 8 import java.io.FileOutputStream ; 9 import java.io.OutputStream ; 10 11 public class StartupScript { 12 13 public static void main(String [] args) throws Exception { 14 System.out.println(); 15 System.out.println("Startup scripts writer. Use 'StartupScript libDir destDir'"); 16 17 String fromDir; 18 String 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 libpathWin = new StringBuffer (); 28 StringBuffer libpathNix = new StringBuffer (); 29 30 File libdir = new File (fromDir); 31 System.out.println("Reading libraries from: "+libdir.getAbsolutePath()); 32 33 int count = 0; 34 File [] files = libdir.listFiles(); 35 for (File 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 distdir = new File (destDir); 44 System.out.println("Creating startup scripts in: "+distdir.getAbsolutePath()); 45 46 StringBuffer text = new StringBuffer (); 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 out = null; 62 try { 63 out = new BufferedOutputStream (new FileOutputStream (new File (distdir, "start.bat"))); 64 out.write(text.toString().getBytes()); 65 } finally { 66 try {out.close();} catch (Exception e) {} 67 } 68 69 text = new StringBuffer (); 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 (new FileOutputStream (new File (distdir, "start.sh"))); 87 out.write(text.toString().getBytes()); 88 } finally { 89 try {out.close();} catch (Exception e) {} 90 } 91 92 System.out.println("Startup scripts created"); 93 } 94 } 95 | Popular Tags |