package xsbti;

 * The main entry interface for launching applications.   Classes which implement this interface
 * can be launched via the sbt launcher.
 * In addition, classes can be adapted into this interface by the launcher if they have a static method
 * matching one of these signatures:
 * - public static void main(String[] args)
 * - public static int main(String[] args)
 * - public static xsbti.Exit main(String[] args)
public interface AppMain
	/** Run the application and return the result.
	 * @param configuration  The configuration used to run the application.  Includes arguments and access to launcher features.
	 * @return
	 *        The result of running this app.  
	 *        Note: the result can be things like "Please reboot this application". 
	public MainResult run(AppConfiguration configuration);