import t5build.*

description = "Support for JSR-303 Bean Validation via the Hibernate validator implementation"

dependencies {
  implementation project(':tapestry-core')

  implementation "javax.validation:validation-api:1.0.0.GA"
  implementation "org.hibernate:hibernate-validator:4.3.2.Final"

  testImplementation project(':tapestry-test')
  implementation "org.seleniumhq.selenium:selenium-leg-rc:${versions.selenium}", {
      exclude group: "org.seleniumhq.selenium", module: "jetty-repacked"
      exclude group: "org.testng", module: "testng"
      exclude group: "javax.servlet", module: "javax.servlet-api"
  }
  testImplementation "org.junit.jupiter:junit-jupiter:${versions.junitJupiter}"
  
}

task compileCoffeeScript(type: CompileCoffeeScript) {
    outputDir "src/main/generated/compiled-coffeescript"
}

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

clean.delete 'src/main/generated'

sourceSets {
    main {
        output.dir(compileCoffeeScript.outputDir, builtBy: compileCoffeeScript)
    }
}

jar.manifest.attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.beanvalidator.modules.BeanValidatorModule'
