Buildcleanup

OK I think this is a great place to check point the changes we've made to the build in our sprints. Note that the mileage in terms of build speedups will vary based on you're system's resources so you'll need to create some overrides for various settings in the settings.xml file. Namely you can control the amount of forking parallelism and the amount of RAM given to the forked jvms. For example I have the following settings there on a 6 core 64GB machine (the build takes about 4 minutes 30 seconds using the default profile, half that using the -Pscott profile):

SNIP ...
    <profile>
      <id>environment-build-parameters</id>
      <properties>
        <rest.it.forkCount>6</rest.it.forkCount>
        <rest.it.heapmax>256m</rest.it.heapmax>
        <rest.it.heapmin>256m</rest.it.heapmin>

        <core.it.forkCount>8</core.it.forkCount>
        <core.it.heapmax>384m</core.it.heapmax>
        <core.it.heapmin>384m</core.it.heapmin>
      </properties>
    </profile>
</profiles>

<activeProfiles>
  <activeProfile>environment-build-parameters</activeProfile>
</activeProfiles>
</settings>

So as you can see I'm using pretty big numbers for the fork count. Note that there are really 2 main modules where we need to manage this but other modules can be configured as well. If you're on a limited machine you might want to drop the forkCount to 1 even. The build might slow down if you don't get these parameters set correctly. 

On the latest macbooks start with a forkCount of 2 and see how it goes.