| /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under |
| * the terms of the Common Public License v1.0 which accompanies this distribution, |
| * and is available at http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * $Id: emma.java,v 1.1.1.1.2.1 2004/07/16 23:32:29 vlad_r Exp $ |
| */ |
| import com.vladium.emma.IAppConstants; |
| import com.vladium.emma.Command; |
| import com.vladium.emma.EMMARuntimeException; |
| |
| // ---------------------------------------------------------------------------- |
| /** |
| * @author Vlad Roubtsov, (C) 2003 |
| */ |
| public |
| final class emma |
| { |
| // public: ................................................................ |
| |
| // TODO: set m_out consistently with LoggerInit |
| |
| public static void main (final String [] args) |
| throws EMMARuntimeException |
| { |
| // TODO: proper usage, arg validation, etc |
| |
| if ((args.length == 0) || args [0].startsWith ("-h")) |
| { |
| System.out.println (USAGE); |
| return; |
| } |
| |
| final String commandName = args [0]; |
| final String [] commandArgs = new String [args.length - 1]; |
| System.arraycopy (args, 1, commandArgs, 0, commandArgs.length); |
| |
| final Command command = Command.create (commandName, "emma ".concat (commandName), commandArgs); |
| command.run (); |
| } |
| |
| // protected: ............................................................. |
| |
| // package: ............................................................... |
| |
| // private: ............................................................... |
| |
| |
| private static final String EOL = System.getProperty ("line.separator", "\n"); |
| |
| private static final String USAGE = |
| "emma usage: emma <command> [command options]," + EOL + |
| " where <command> is one of:" + EOL + |
| EOL + |
| " run application runner {same as 'emmarun' tool};" + EOL + |
| " instr offline instrumentation processor;" + EOL + |
| " report offline report generator;" + EOL + |
| " merge offline data file merge processor." + EOL + |
| EOL + |
| " {use '<command> -h' to see usage help for a given command}" + EOL + |
| EOL + |
| IAppConstants.APP_USAGE_BUILD_ID; |
| |
| } // end of class |
| // ---------------------------------------------------------------------------- |