import t5build.*

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

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

  compile "javax.validation:validation-api:1.0.0.GA"
  compile "org.hibernate:hibernate-validator:4.0.0.GA"

  testCompile project(':tapestry-test')
}

task compileCoffeeScript(type: CompileCoffeeScript) {
    outputDir "build/compiled-coffeescript"
}

processResources {
    from compileCoffeeScript
}

idea.module {
    sourceDirs += compileCoffeeScript.srcDir
    sourceDirs += compileCoffeeScript.outputDir

    // Hack the IML so that "build" is not excluded; necessary because several directories under build
    // are added as source, resources, or test folders.
    iml.whenMerged { module ->
        module.excludeFolders.removeAll {
            it.canonicalUrl.endsWith "/build"
        }
    }
}

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