71 lines
2.5 KiB
Markdown
71 lines
2.5 KiB
Markdown
How to build
|
|
============
|
|
|
|
*Starting with development of version 4.0, Hibernate uses [Gradle](http://gradle.org) as its build tool.*
|
|
|
|
This README describes some of the basics developers and contributors new to Gradle need to know to get productive quickly.
|
|
|
|
Quickstart
|
|
----------
|
|
|
|
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).
|
|
|
|
|
|
Resources
|
|
---------
|
|
|
|
### General
|
|
|
|
* [Building Hibernate ORM](https://community.jboss.org/wiki/BuildingHibernateORM4x)
|
|
|
|
### JBoss Nexus
|
|
|
|
* [JBoss Nexus User Guide](http://community.jboss.org/wiki/MavenGettingStarted-Users) - explains how to set up _~/.m2/settings.xml_ to use JBoss Nexus repo.
|
|
|
|
### Gradle
|
|
|
|
* [Gradle User Guide](http://gradle.org/docs/current/userguide/userguide_single.html)
|
|
* [Gradle DSL Guide](http://gradle.org/docs/current/dsl/index.html)
|
|
|
|
Executing Tasks
|
|
---------------
|
|
|
|
Gradle uses the concept of build tasks (equivalent to Ant targets). You can get a list of available tasks
|
|
via
|
|
|
|
gradle tasks
|
|
|
|
or using gradle wrapper
|
|
|
|
./gradlew tasks
|
|
|
|
### Executing Tasks Across All Modules
|
|
|
|
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.
|
|
|
|
### Executing Tasks In Specific Module
|
|
|
|
To execute a task in a specific module you can either:
|
|
|
|
1. `cd` into that module directory and execute the task
|
|
2. 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`
|
|
|
|
### Common Java related tasks
|
|
|
|
* _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 hibernnate-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
|
|
* _uploadArchives_ - Think Maven deploy
|
|
* _install_ - 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 |