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

dependencies {
  compile project(':tapestry-core')
  compile "org.apache.geronimo.specs:geronimo-jpa_2.0_spec:1.1"

  testCompile project(':tapestry-test')

  testRuntime "com.h2database:h2:1.2.145"
  testCompile "org.eclipse.persistence:org.eclipse.persistence.jpa:2.2.0"
  testRuntime "org.apache.tomcat:dbcp:6.0.32"

}

repositories {
    maven {
        name "EclipseLink"
        url "http://download.eclipse.org/rt/eclipselink/maven.repo/"
    }
}

test {
    systemProperties "tapestry.service-reloading-enabled": "false"
}


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