xsbti.compile.CompileOrder Maven / Gradle / Ivy
package xsbti.compile;
/**
* Defines the order in which Scala and Java sources are compiled when compiling a set of sources with both Java and Scala sources.
* This setting has no effect if only Java sources or only Scala sources are being compiled.
* It is generally more efficient to use JavaThenScala or ScalaThenJava when mixed compilation is not required.
*/
public enum CompileOrder
{
/**
* Allows Scala sources to depend on Java sources and allows Java sources to depend on Scala sources.
*
* In this mode, both Java and Scala sources are passed to the Scala compiler, which generates class files for the Scala sources.
* Then, Java sources are passed to the Java compiler, which generates class files for the Java sources.
* The Scala classes compiled in the first step are included on the classpath to the Java compiler.
*/
Mixed,
/**
* Allows Scala sources to depend on the Java sources in the compilation, but does not allow Java sources to depend on Scala sources.
*
* In this mode, both Java and Scala sources are passed to the Scala compiler, which generates class files for the Scala sources.
* Then, Java sources are passed to the Java compiler, which generates class files for the Java sources.
* The Scala classes compiled in the first step are included on the classpath to the Java compiler.
*/
JavaThenScala,
/**
* Allows Java sources to depend on the Scala sources in the compilation, but does not allow Scala sources to depend on Java sources.
*
* In this mode, both Java and Scala sources are passed to the Scala compiler, which generates class files for the Scala sources.
* Then, Java sources are passed to the Java compiler, which generates class files for the Java sources.
* The Scala classes compiled in the first step are included on the classpath to the Java compiler.
*/
ScalaThenJava
}