apply plugin: 'java' apply plugin: 'antlr' apply plugin: org.hibernate.build.gradle.inject.InjectionPlugin dependencies { compile( libraries.commons_collections ) compile( libraries.jta ) compile( libraries.dom4j ) { transitive = false } compile( libraries.commons_annotations ) compile( libraries.jandex ) compile( libraries.classmate ) compile( libraries.jpa ) compile( libraries.javassist ) compile( libraries.antlr ) antlr( libraries.antlr ) provided( libraries.ant ) provided( libraries.jacc ) provided( libraries.validation ) testCompile( project(':hibernate-testing') ) testCompile( libraries.validation ) testCompile( libraries.validator ) { // for test runtime transitive = true } testRuntime( 'jaxen:jaxen:1.1' ) testRuntime( libraries.javassist ) } manifest.mainAttributes( 'Main-Class': 'org.hibernate.Version' ) sourceSets.main { originalJavaSrcDirs = java.srcDirs jaxbTargetDir = file( "${buildDir}/generated-src/jaxb/main" ) java.srcDir jaxbTargetDir } // resources inherently exclude sources sourceSets.test.resources { setSrcDirs( ['src/test/java','src/test/resources'] ) } ideaModule { sourceDirs.add( file( '$buildDir/generated-src/antlr/main' ) ) } task jaxb { // output directory jaxbTargetDir = file( "${buildDir}/generated-src/jaxb/main" ) // input schemas cfgXsd = file( 'src/main/resources/org/hibernate/hibernate-configuration-4.0.xsd') hbmXsd = file( 'src/main/resources/org/hibernate/hibernate-mapping-4.0.xsd' ) ormXsd = file( 'src/main/resources/org/hibernate/ejb/orm_2_0.xsd' ) // configure Gradle up-to-date checking inputs.files( [cfgXsd, hbmXsd, ormXsd] ) outputs.dir( jaxbTargetDir ) // perform actions doLast { jaxbTargetDir.mkdirs() ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.jaxb.asPath) ant.jaxbTargetDir = jaxbTargetDir // hibernate-configuration ant.xjc( destdir: '${jaxbTargetDir}', package: 'org.hibernate.metamodel.source.hbm.xml.config', binding: 'src/main/xjb/hbm-configuration-bindings.xjb', schema: cfgXsd.path ) // hibernate-mapping ant.xjc( destdir: '${jaxbTargetDir}', package: 'org.hibernate.metamodel.source.hbm.xml.mapping', binding: 'src/main/xjb/hbm-mapping-bindings.xjb', schema: hbmXsd.path ) // orm.xml (jpa) ant.xjc( destdir: '${jaxbTargetDir}', package: 'org.hibernate.metamodel.source.annotation.xml', binding: 'src/main/xjb/orm-bindings.xjb', schema: ormXsd.path ) } } compileJava.dependsOn jaxb