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
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to