Compiling Scala before / alongside Java with Gradle

compiler-errors, cross-compiling, gradle, java, scala

Solution

Java and Scala can be combined in the scala sources to have them compiled jointly, e.g.

sourceSets {
    main {
        scala {
            srcDirs = ['src/main/scala', 'src/main/java']
        }
        java {
            srcDirs = []
        }
}

Problem

The default scala plugin task flow compiles Java before Scala so importing Scala sources within Java causes "error: cannot find symbol".

Original source