/ spring-beans / spring-beans.gradle
description = "Spring Beans"

apply plugin: "groovy"
apply plugin: "kotlin"

dependencies {
	compile(project(":spring-core"))
	optional("javax.inject:javax.inject")
	optional("org.yaml:snakeyaml")
	optional("org.codehaus.groovy:groovy-xml")
	optional("org.jetbrains.kotlin:kotlin-reflect")
	optional("org.jetbrains.kotlin:kotlin-stdlib")
	testCompile("org.apache.tomcat.embed:tomcat-embed-core")
}

// This module 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.
def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues
compileGroovy.dependsOn = deps - "compileJava"
compileKotlin.dependsOn(compileGroovy)
compileKotlin.classpath += files(compileGroovy.destinationDir)

Top