Starting with development of version 4.0, Hibernate uses Gradle as its build tool.
This README describes some of the basics developers and contributors new to Gradle need to know to get productive quickly.
git clone git://github.com/hibernate/hibernate-orm.git
cd hibernate-orm
./gradlew clean build
If you are having problems with unresolved dependencies you need to configure access to the JBoss Nexus repository (see below).
- JBoss Nexus User Guide - explains how to set up ~/.m2/settings.xml to use JBoss Nexus repo.
Gradle uses the concept of build tasks (equivalent to Ant targets). You can get a list of available tasks via
gradle tasks
or if using gradle wrapper
./gradlew tasks
To execute a task across all modules, simply perform that task from the root directory. Gradle will visit each subproject and execute that task if the subproject defines it.
To execute a task in a specific module you can either:
cd
into that module directory and execute the task- name the "task path". For example, in order to run the tests for the hibernate-core module from the root directory you could say
gradle hibernate-core:test
- build - Assembles (jars) and tests this project
- buildDependents - Assembles and tests this project and all projects that depend on it. So think of running this in hibernate-entitymanager, Gradle would assemble and test hibernate-entitymanager as well as hibernate-envers (because envers depends on entitymanager)
- classes - Compiles the main classes
- testClasses - Compiles the test classes
- jar - Generates a jar archive with all the compiled classes
- test - Runs the tests
- publish - Think Maven deploy
- publishToMavenLocal - Installs the project jar to your local maven cache (aka ~/.m2/repository)
- eclipse - Generates an Eclipse project
- idea - Generates an IntelliJ/IDEA project.
- clean - Cleans the build directory