[hibernate-dev] [OGM] Build time

Emmanuel Bernard emmanuel at hibernate.org
Thu Nov 28 04:20:40 EST 2013


My machine is in a poor state. But still, the default mvn install took
more than 7 minutes.
For info the minimal build takes 3:20 (4:30 with the integration tests).

We have added a few mechanisms over time on OGM:

* modules depending on an external DB are skipped if SOMEDB_HOSTNAME is
  not set
* skipDocs which skips documentation and JavaDocs (JavaDocs take a lot
  of time on my machine)
* skipITs which skips the integration tests
* skipDistro which skips the distribution

While each individual mechanism serves a purpose, it ends up serving
everyone badly. Minimalarians complain about the myriad of flags to
write each time. Safarians complain that if they forget
COUCHDB_HOSTNAME, the distribution will simply not contain it.

I think there are four main use cases

1. run the test suite for one specific db + rebuild core as things might
   have changed
2. run the minimal test suite to make sure things compile and work
3. run a full test on every backend and build the distribution for a
   release
4. other cases

I suspect the % of time per use case is as follow (your mileage may
vary):

1. 45%
2. 45%
3. 1%
4. 9%

But when you are in case 3. you absolutely must be sure everything run
and no module is skipped.

Here is a proposal

a. Provide a -Dminimal flag to run in case 1.
b. Provide a -Dcomplete flag to run in case 3.
c. Provide a script to do 2. I suspect case 2. can only be done with a
   custom script or by moving to Gradle. For various reasons, I don't want
   us to move to Gradle at this stage.

Everyone OK with doing a. and b.
The problem with c. is that making a cross platform script requires time
but we could make it work for us at least.

Note that this leaves open what 'mvn clean install' should do.

Thoughts?

Emmanuel


More information about the hibernate-dev mailing list