description = "Allows Clojure functions to be injected into Tapestry services and components"

dependencies {
  implementation project(':tapestry-ioc')
  implementation "org.clojure:clojure:1.6.0"

  // Added just to prove that it works (TAP5-1945)
  testImplementation project(':tapestry-core')
  testRuntimeOnly "javax.servlet:javax.servlet-api:${versions.servletapi}"
  testImplementation "org.junit.jupiter:junit-jupiter:${versions.junitJupiter}"
}

test {
  useJUnit()
}

jar {
  manifest {
    attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.clojure.modules.ClojureModule'
  }
}