apply plugin: 'version-injection' dependencies { testCompile libraries.junit testCompile libraries.jpa testCompile project( ':hibernate-core' ) testCompile libraries.slf4j_api testCompile libraries.slf4j_log4j } def pomName() { return 'Hibernate JPA 2 Metamodel Generator' } def pomDescription() { return 'Annotation Processor to generate JPA 2 static metamodel classes' } versionInjection { into( 'org.hibernate.jpamodelgen.Version', 'getVersionString' ) } ext { jaxbTargetDir = file( "${buildDir}/generated-sources/jaxb/main" ) xsdDir = file( "${projectDir}/src/main/xsd" ) } sourceSets.main { java.srcDir jaxbTargetDir resources.srcDir xsdDir } compileTestJava { options.compilerArgs += [ "-proc:none" ] } jar { manifest { attributes 'Implementation-Title' : '${project.name}', 'Implementation-Version' : '${project.version}' } } task jaxb { // configure Gradle up-to-date checking inputs.dir( xsdDir ) outputs.dir( jaxbTargetDir ) // perform actions doLast { jaxbTargetDir.mkdirs() ant.taskdef(name: 'xjc', classname: 'org.jvnet.jaxb2_commons.xjc.XJC2Task', classpath: configurations.jaxb.asPath) ant.jaxbTargetDir = jaxbTargetDir ant.xjc( destdir: '${jaxbTargetDir}', package: 'org.hibernate.jpamodelgen.xml.jaxb', extension: 'true' ) { schema ( dir: xsdDir.path, includes: "*.xsd" ) } } } runSourceGenerators.dependsOn jaxb checkstyleMain.exclude '**/jaxb/**'