description = "A code-centric, high-performance, simple Inversion of Control container"

dependencies {
  compile project(':tapestry-func')
  compile project(':tapestry5-annotations')
  compile project(":plastic")
  compile "org.javassist:javassist:3.18.2-GA"

  provided project(':tapestry-test')

  // For now, keep these compile dependencies synchronized with the binaries dependencies
  // of the top-level build:

  compile "javax.inject:javax.inject:1"

  compile "org.slf4j:slf4j-api:1.6.1"
  compile "log4j:log4j:1.2.14"
  compile "org.slf4j:slf4j-log4j12:1.6.1"

  testCompile "org.spockframework:spock-core:${versions.spock}"

  provided "org.testng:testng:${versions.testng}", { transitive = false }
}

test {
  useJUnit()
  useTestNG()
  // Override the master build.gradle
  systemProperties.remove("tapestry.service-reloading-enabled")
}