Compilation with analysis independent of Scala version of sbt.

Basic test for this.
This commit is contained in:
Mark Harrah
2009-08-23 22:21:15 -04:00
parent efb1604f0e
commit 50d350abd0
24 changed files with 426 additions and 149 deletions
@@ -1,4 +1,4 @@
package xsbti.boot;
package xsbti;
public interface Exit extends MainResult
{
public int code();
@@ -0,0 +1,21 @@
package xsbti;
import java.io.File;
public interface Launcher extends ScalaProvider, SbtProvider
{
public static final int InterfaceVersion = 1;
public void boot(String[] args);
public MainResult checkAndLoad(String[] args);
public MainResult load(String[] args);
public MainResult load(String[] args, String useSbtVersion, String mainClassName, String definitionScalaVersion);
public ClassLoader update(String scalaVersion, String sbtVersion);
public MainResult run(ClassLoader sbtLoader, String mainClassName, SbtConfiguration configuration);
public File ProjectDirectory();
public File BootDirectory();
public File PropertiesFile();
public Launcher launcher(File base, String mainClassName);
}
@@ -1,4 +1,4 @@
package xsbti.boot;
package xsbti;
public interface MainResult {}
@@ -1,4 +1,4 @@
package xsbti.boot;
package xsbti;
public interface Reboot extends MainResult
{
public String[] arguments();
@@ -1,4 +1,4 @@
package xsbti.boot;
package xsbti;
public interface SbtConfiguration
{
@@ -1,4 +1,4 @@
package xsbti.boot;
package xsbti;
public interface SbtMain
{
@@ -0,0 +1,12 @@
package xsbti;
import java.io.File;
public interface SbtProvider
{
public ClassLoader createSbtLoader(String sbtVersion, String scalaVersion);
public ClassLoader createSbtLoader(String sbtVersion, String scalaVersion, ClassLoader parentLoader);
public File getSbtHome(String sbtVersion, String scalaVersion);
public File componentLocation(String sbtVersion, String id, String scalaVersion);
}
@@ -1,4 +1,4 @@
package xsbti.boot;
package xsbti;
import java.io.File;
@@ -1,19 +0,0 @@
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);
}