description = "Provides support for simple CRUD applications built on top of Tapestry and Hibernate"

dependencies {
  compile project(':tapestry-core')
  compile project(':tapestry-hibernate-core')
  compile "org.jboss.logging:jboss-logging:3.3.0.Final"  

  testCompile project(':tapestry-test')
  
  testRuntime "org.hsqldb:hsqldb:2.2.8"
}

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

task runTestApp0(type:JavaExec) {
  description 'Start tapestry-hibernate integration test app, useful when debugging failing integration tests'
  main = 'org.apache.tapestry5.test.JettyRunner'
  args "-d", "src/test/webapp", "-p", "8080"
  classpath += project.sourceSets.test.runtimeClasspath
}
