Initial code for the loader.

This commit is contained in:
Mark Harrah
2009-08-21 08:12:43 -04:00
parent 108807a773
commit b716d33ba3
16 changed files with 802 additions and 0 deletions
@@ -0,0 +1,5 @@
package xsbti.boot;
public interface Exit extends MainResult
{
public int code();
}
@@ -0,0 +1,19 @@
package xsbti.boot;
import java.io.File;
public interface Launcher extends ScalaProvider
{
public static final int InterfaceVersion = 1;
public void boot(String[] args);
public MainResult checkAndLoad(String[] args);
public MainResult load(String[] args);
public MainResult run(ClassLoader sbtLoader, SbtConfiguration configuration);
public File ProjectDirectory();
public File BootDirectory();
public File PropertiesFile();
public Launcher launcher(File base, String mainClassName);
}
@@ -0,0 +1,4 @@
package xsbti.boot;
public interface MainResult {}
@@ -0,0 +1,5 @@
package xsbti.boot;
public interface Reboot extends MainResult
{
public String[] arguments();
}
@@ -0,0 +1,9 @@
package xsbti.boot;
public interface SbtConfiguration
{
public String[] arguments();
public String scalaVersion();
public String sbtVersion();
public Launcher launcher();
}
@@ -0,0 +1,6 @@
package xsbti.boot;
public interface SbtMain
{
public MainResult run(SbtConfiguration configuration);
}
@@ -0,0 +1,9 @@
package xsbti.boot;
import java.io.File;
public interface ScalaProvider
{
public ClassLoader getScalaLoader(String scalaVersion);
public File getScalaHome(String scalaVersion);
}