alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Hibernate example source code file (hibernate-core.gradle)

This example Hibernate source code file (hibernate-core.gradle) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Hibernate tags/keywords

main-class, main-class, xinheritance, xinheritance

The Hibernate hibernate-core.gradle source code

apply plugin: 'java'
apply plugin: 'antlr'
apply plugin: org.hibernate.build.gradle.inject.InjectionPlugin
apply plugin: org.hibernate.gradle.testing.matrix.MatrixTestingPlugin

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 {
    matrix {
        java {
            srcDir 'src/matrix/java'
        }
        resources {
            srcDir 'src/matrix/resources'
        }
    }
}
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 += file( '$buildDir/generated-src/antlr/main' )
    testSourceDirs += file( 'src/matrix/java')
    testSourceDirs += file( 'src/matrix/resources')
}

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' )

    // input bindings
    cfgXjb = file( 'src/main/xjb/hbm-configuration-bindings.xjb' )
    hbmXjb = file( 'src/main/xjb/hbm-mapping-bindings.xjb' )
    ormXjb = file( 'src/main/xjb/orm-bindings.xjb' )

    // configure Gradle up-to-date checking
    inputs.files( [cfgXsd, hbmXsd, ormXsd, cfgXjb, hbmXjb, ormXjb] )
    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

        // hibernate-configuration
        ant.xjc(
                destdir: '${jaxbTargetDir}',
                package: 'org.hibernate.metamodel.source.hbm.jaxb.config',
                binding: 'src/main/xjb/hbm-configuration-bindings.xjb',
                schema: cfgXsd.path
        )

        // hibernate-mapping
        ant.xjc(
                destdir: '${jaxbTargetDir}',
                package: 'org.hibernate.metamodel.source.hbm.jaxb.mapping',
                binding: hbmXjb.path,
                schema: hbmXsd.path,
                extension: 'true'
        ) {
            arg line:     '-Xinheritance'
        }

        // orm.xml (jpa)
        ant.xjc(
                destdir: '${jaxbTargetDir}',
                package: 'org.hibernate.metamodel.source.annotation.jaxb',
                binding: 'src/main/xjb/orm-bindings.xjb',
                schema: ormXsd.path
        )
    }

}
compileJava.dependsOn jaxb


Other Hibernate examples (source code examples)

Here is a short list of links related to this Hibernate hibernate-core.gradle source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.