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; }