com/repdev/launcher/Launcher.java
author ryan
Tue, 30 Jun 2009 15:24:45 -0400
branchcurrent-development
changeset 452 a86c195127e7
parent 425 b98ede012e03
permissions -rw-r--r--
build.xml tweaks (more exclusions)

modified launcher to not try and svn update

rebuilt launcher executable (repdev.exe)

generated dist (not included in version control)
ryan@423
     1
package com.repdev.launcher;
ryan@423
     2
ryan@425
     3
import java.io.BufferedReader;
ryan@425
     4
import java.io.InputStreamReader;
ryan@423
     5
import java.io.PrintStream;
ryan@423
     6
import java.text.SimpleDateFormat;
ryan@423
     7
import java.util.Date;
ryan@423
     8
ryan@423
     9
/**
ryan@425
    10
 * This is a <s>simple</s> launcher for a JAR file that will be wrapped with Launch4J to create
ryan@425
    11
 * a nice friendly repdev.exe that will run for anyone.
ryan@423
    12
 * 
ryan@425
    13
 * Supports logging all output to a file, subversion updating (or not with the arg --no-update)
ryan@425
    14
 * 
ryan@425
    15
 * @author Ryan Schultz
ryan@423
    16
 *
ryan@423
    17
 */
ryan@423
    18
public class Launcher {
ryan@423
    19
	private static final String date = SimpleDateFormat.getInstance().format(new Date());
ryan@425
    20
ryan@423
    21
	public static void main(String[] args) throws Exception {
ryan@423
    22
		boolean log = false;
ryan@423
    23
		for(String arg: args) {
ryan@423
    24
			if( arg.equals("--log") )
ryan@423
    25
				log = true;
ryan@425
    26
			if( arg.equals("--help") || arg.equals("-h") ) {
ryan@425
    27
				usage();
ryan@425
    28
				System.exit(1);
ryan@425
    29
			}
ryan@423
    30
		}
ryan@423
    31
ryan@423
    32
		if( log ) {
ryan@423
    33
			PrintStream stderr = new PrintStream("stderr.txt");	
ryan@423
    34
			System.setErr(stderr);
ryan@425
    35
ryan@423
    36
			PrintStream stdout = new PrintStream("stdout.txt");
ryan@423
    37
			System.setOut(stdout);
ryan@425
    38
ryan@423
    39
			System.out.println(">> RepDev Started via launcher with logging");
ryan@423
    40
			System.out.println(">> Started: " + date + "\n");
ryan@423
    41
			System.err.println(">> RepDev Started via launcher with logging");
ryan@423
    42
			System.err.println(">> Started: " + date + "\n");
ryan@423
    43
		}
ryan@425
    44
ryan@423
    45
		// Finally, we launch repdev...
ryan@425
    46
		com.repdev.RepDevMain.main(args);		
ryan@423
    47
	}
ryan@425
    48
ryan@425
    49
	private static void usage() {
ryan@425
    50
		String[] usage = {
ryan@425
    51
				"RepDev Launcher - Usage:",
ryan@425
    52
				"",
ryan@425
    53
				"\tCommand\tAction",
ryan@425
    54
				"\t--help or -h\tThis message",
ryan@425
    55
				"\t--log\tLog all output to stdout.txt and stderr.txt",
ryan@425
    56
				"",
ryan@425
    57
		};
ryan@425
    58
		
ryan@425
    59
		for( String line: usage )
ryan@425
    60
			System.out.println(line);
ryan@425
    61
	}
ryan@425
    62
ryan@423
    63
}