directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Knecht <fel...@apache.org>
Subject Re: [Studio] How to speed up build time?
Date Tue, 23 Sep 2008 17:21:56 GMT

> 
> I think we can now say, after a few months, that we're all very happy
> with the Maven build system. It took us long hours to get working, but
> now it has made the integration of studio in the CI system very easy,
> and has unified the whole build system within the Directory project. I
> really think it was a great move.
> It made me like Maven a lot... :D

Heyhey :-)

> 
> There's only one thing I regret from our old Ant build system, that
> saved us a lot of time.
> In the old system, we had a timestamp set in the help projects and we
> were only building them if, and only if, there has been changes to the
> code between the last build (according to the timestamp).
> 
> Let's have a look at the help plugins build times:
> [INFO] Apache Directory Studio Schema Editor Help ............ SUCCESS
> [27.815s]
> [INFO] Apache Directory Studio RCP Help ...................... SUCCESS
> [16.841s]
> [INFO] Apache Directory Studio LDIF Editor Help .............. SUCCESS
> [15.026s]
> [INFO] Apache Directory Studio LDAP Browser Help ............. SUCCESS
> [40.328s]
> [INFO] Apache Directory Studio Apache DS Configuration Help .. SUCCESS
> [23.601s]
> [INFO] Apache Directory Studio Apache DS Help ................ SUCCESS
> [16.241s]
> 
> These 6 projects took 139,7 seconds to build. That's 58% of the time of
> our build... :(
> 
> I really wish we could do something about this, and only build these
> projects when we need them.
> 
> If anyone has an idea.

Well, here's an idea let us see if we can adapt/configure it for our needs:

Put the *help modules into a separate profile and have it activated by ? (see [1]). We just
need to find an appropriate
activator which fits our needs. We can have e.g. such a timestamp file (exist or not) to activate
to 'help' profile. The
question is just 'How to figure out if something has changed?".
One possibility could be that we create such a file when doing a build and only delete it
when running a new build
including the 'clean' goal -> adapt the clean goal configuration in such a way that it
deletes the timestamp file.
The timestamp file needs to be added to svn:ignore and it's location can/should be in the
*help modules root directory.

As said, just an idea. Maybe there are better solutions.

[1] http://maven.apache.org/pom.html#Activation

Regards
Felix


Mime
View raw message