description = "Spring Beans" apply plugin: "groovy" dependencies { compile(project(':spring-core')) optional("javax.inject:javax.inject:1") optional("org.yaml:snakeyaml:1.20") optional("org.codehaus.groovy:groovy-all:${groovyVersion}") optional("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}") optional("org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}") testCompile("org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}") } // This modules does joint compilation for Java and Groovy code, // with the compileGroovy task. sourceSets { main.groovy.srcDirs += "src/main/java" main.java.srcDirs = [] } compileGroovy { sourceCompatibility = 1.8 targetCompatibility = 1.8 } // This module also builds Kotlin code and the compileKotlin task // naturally depends on compileJava. // We need to redefine dependencies to break task cycles. compileGroovy.dependsOn = compileGroovy.taskDependencies.values - 'compileJava' compileKotlin.dependsOn(compileGroovy) compileKotlin.classpath += files(compileGroovy.destinationDir)