Re: [Studio] How to speed up build time?

2008-09-26 Thread Pierre-Arnaud Marcelot
Hi Felix,

Actually, I've got an issue with this solution... :(

When you erase entirely your Maven local repository, there's an issue
because the UpdateSite project refers to the help projects, which have not
been built yet...
So the build fails.

I noticed that when I was switching the version number from 1.3.0.SNAPSHOT
to 1.3.0-SNAPSHOT, so the CI server does not have any snapshot of the help
plugins for this version.

I think we need to bring back the original build order, and we need to setup
a build profile based on the 'timestamp' file in the root help pom.

WDYT?

Regards,
Pierre-Arnaud

On Wed, Sep 24, 2008 at 11:15 AM, Pierre-Arnaud Marcelot [EMAIL 
PROTECTED]wrote:

 Hi Felix,

 On Tue, Sep 23, 2008 at 8:52 PM, Felix Knecht [EMAIL PROTECTED] wrote:

 I gave it a try (http://svn.apache.org/viewvc?rev=698281view=rev).
 If you think it's not what you had in mind feel free to revert it.


 This looks very good! Thanks!

 Here are the results.

 Before:
 [INFO]
 
 [INFO] BUILD SUCCESSFUL
 [INFO]
 
 [INFO] Total time: 5 minutes 40 seconds
 [INFO] Finished at: Wed Sep 24 11:13:10 CEST 2008
 [INFO] Final Memory: 62M/136M
 [INFO]
 


 After:
 [INFO]
 
 [INFO] BUILD SUCCESSFUL
 [INFO]
 
 [INFO] Total time: 1 minute 44 seconds
 [INFO] Finished at: Wed Sep 24 11:15:17 CEST 2008
 [INFO] Final Memory: 58M/104M
 [INFO]
 

 Awesome... :D

 Regards,
 Pierre-Arnaud




Re: [Studio] How to speed up build time?

2008-09-26 Thread Felix Knecht
Pierre-Arnaud Marcelot schrieb:
 Hi Felix,

 Actually, I've got an issue with this solution... :(

 When you erase entirely your Maven local repository, there's an issue
 because the UpdateSite project refers to the help projects, which have
 not been built yet...
 So the build fails.

 I noticed that when I was switching the version number from
 1.3.0.SNAPSHOT to 1.3.0-SNAPSHOT, so the CI server does not have any
 snapshot of the help plugins for this version.

 I think we need to bring back the original build order, and we need to
 setup a build profile based on the 'timestamp' file in the root help pom.

You're absolutely right, I should have thought about this. Profile
modules are built after the non profile modules. So we had in fact a
back log of 1 build in the help plugins :-(
I'll fix this.

Thanks
Felix



Re: [Studio] How to speed up build time?

2008-09-26 Thread Pierre-Arnaud Marcelot
On Fri, Sep 26, 2008 at 1:58 PM, Felix Knecht [EMAIL PROTECTED] wrote:

 You're absolutely right, I should have thought about this. Profile
 modules are built after the non profile modules. So we had in fact a
 back log of 1 build in the help plugins :-(
 I'll fix this.


I tried to fix it but it only works half way.

When I run the mvn install command from the root of the trunk, it will
work. But I run it from an help project (let's say apacheds-help), it will
re-build everything, even if the timestamp is here.

What I did is this.
I've added again the help projects as modules in the root pom and removed
the help profiles from it.
I've also put all build instructions in the help-pom.xml in a profile
activated if the timestamp file is missing.

I can commit this if you want.

Regards,
Pierre-Arnaud


Re: [Studio] How to speed up build time?

2008-09-26 Thread Felix Knecht
Pierre-Arnaud Marcelot schrieb:
 On Fri, Sep 26, 2008 at 1:58 PM, Felix Knecht [EMAIL PROTECTED]
 mailto:[EMAIL PROTECTED] wrote:

 You're absolutely right, I should have thought about this. Profile
 modules are built after the non profile modules. So we had in fact a
 back log of 1 build in the help plugins :-(
 I'll fix this.


 I tried to fix it but it only works half way.

 When I run the mvn install command from the root of the trunk, it
 will work. But I run it from an help project (let's say
 apacheds-help), it will re-build everything, even if the timestamp is
 here.

 What I did is this.
 I've added again the help projects as modules in the root pom and
 removed the help profiles from it.
 I've also put all build instructions in the help-pom.xml in a profile
 activated if the timestamp file is missing.

I think I've found a solution doing both, but I need to retest again.
The ugly thing is that have the help-pom.xml goes into each
*help/pom.xml ...


 I can commit this if you want.

 Regards,
 Pierre-Arnaud

  




Re: [Studio] How to speed up build time?

2008-09-26 Thread Pierre-Arnaud Marcelot
On Fri, Sep 26, 2008 at 3:08 PM, Felix Knecht [EMAIL PROTECTED] wrote:

 I think I've found a solution doing both, but I need to retest again.
 The ugly thing is that have the help-pom.xml goes into each
 *help/pom.xml ...


Ok cool... If it saves us a lot of time, it's not so ugly...

Thanks,
Pierre-Arnaud


Re: [Studio] How to speed up build time?

2008-09-26 Thread Felix Knecht

 I think I've found a solution doing both, but I need to retest again.
 The ugly thing is that have the help-pom.xml goes into each
 *help/pom.xml ...
   

Retests failed.
in fact you should be able to have something like
profile
  idbuild-help/id
  activation
file
  missing${basedir}/timestamp/missing
/file
  /activation
in the help-pom.xml, but ${basedir} doesn't seems to be properly
resolved :-(

Yes please, go ahead and commit what you've done :-) mine doesn't works
in a better way.

Felix
   
 I can commit this if you want.

 Regards,
 Pierre-Arnaud

  

 

   



Re: [Studio] How to speed up build time?

2008-09-26 Thread Pierre-Arnaud Marcelot
On Fri, Sep 26, 2008 at 3:11 PM, Felix Knecht [EMAIL PROTECTED] wrote:

 Retests failed.
 in fact you should be able to have something like
profile
  idbuild-help/id
  activation
file
  missing${basedir}/timestamp/missing
/file
  /activation
 in the help-pom.xml, but ${basedir} doesn't seems to be properly
 resolved :-(


That's exactly what I did but I used
 missingtimestamp/missing
instead of your
 missing${basedir}/timestamp/missing

Yes please, go ahead and commit what you've done :-) mine doesn't works
 in a better way.


Done. ;)

Pierre-Arnaud


Re: [Studio] How to speed up build time?

2008-09-26 Thread Felix Knecht
Pierre-Arnaud Marcelot schrieb:


 On Fri, Sep 26, 2008 at 3:11 PM, Felix Knecht [EMAIL PROTECTED]
 mailto:[EMAIL PROTECTED] wrote:

 Retests failed.
 in fact you should be able to have something like
profile
  idbuild-help/id
  activation
file
  missing${basedir}/timestamp/missing
/file
  /activation
 in the help-pom.xml, but ${basedir} doesn't seems to be properly
 resolved :-(


 That's exactly what I did but I used
  missingtimestamp/missing
 instead of your
  missing${basedir}/timestamp/missing

It's confirmed not to work with ${basedir} missleading to the
documentation http://maven.apache.org/pom.html#Activation.

Response from Nicolas:


Profile activation doesn't support property interopolation, even the
${basedir} one
This makes this feature unusable in nested modules configuration, as the
file are tested from current dir, not active project root...
I already reported this issue in JIRA.

Nicolas

2008/9/26 Felix Knecht [EMAIL PROTECTED]

  Hi all
 
  The foofoo profile is always activated, no matter if a file 'timestamp'
  exists in the same directory like the pom.xml or
  not. It looks to me as the ${basedir} is not correctly resolved. Is this a
  known problem?
 
  Thanks
  Felix
 
  [EMAIL PROTECTED] ~/tmp $ cat pom.xml
  project
   xmlns=http://maven.apache.org/POM/4.0.0;
   xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
   xsi:schemaLocation=http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/maven-v4_0_0.xsd;
   modelVersion4.0.0/modelVersion
 
   groupIdbar/groupId
   artifactIdfoo/artifactId
   version1.0.0/version
   namefoobar/name
   packagingjar/packaging
 
   profiles
 profile
   idfoofoo/id
   activation
 file
   missing${basedir}/timestamp/missing
 /file
   /activation
 /profile
   /profiles
  /project
 
  [EMAIL PROTECTED] ~/tmp $ touch timestamp
  [EMAIL PROTECTED] ~/tmp $ mvn help:active-profiles
  [INFO] Scanning for projects...
  [INFO] Searching repository for plugin with prefix: 'help'.
  [INFO]
  
  [INFO] Building foobar
  [INFO]task-segment: [help:active-profiles] (aggregator-style)
  [INFO]
  
  [INFO] [help:active-profiles]
  [INFO]
  Active Profiles for Project 'bar:foo:jar:1.0.0':
 
  The following profiles are active:
 
   - foofoo (source: pom)
 
 
 
  [INFO]
  
  [INFO] BUILD SUCCESSFUL
  [INFO]
  
  [INFO] Total time: 1 second
  [INFO] Finished at: Fri Sep 26 15:22:51 CEST 2008
  [INFO] Final Memory: 19M/64M
  [INFO]
  
  [EMAIL PROTECTED] ~/tmp $ rm timestamp
  [EMAIL PROTECTED] ~/tmp $ mvn help:active-profiles
  [INFO] Scanning for projects...
  [INFO] Searching repository for plugin with prefix: 'help'.
  [INFO]
  
  [INFO] Building foobar
  [INFO]task-segment: [help:active-profiles] (aggregator-style)
  [INFO]
  
  [INFO] [help:active-profiles]
  [INFO]
  Active Profiles for Project 'bar:foo:jar:1.0.0':
 
  The following profiles are active:
 
   - foofoo (source: pom)
 
 
 
  [INFO]
  
  [INFO] BUILD SUCCESSFUL
  [INFO]
  
  [INFO] Total time: 1 second
  [INFO] Finished at: Fri Sep 26 15:22:58 CEST 2008
  [INFO] Final Memory: 19M/64M
  [INFO]
  
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
   




Re: [Studio] How to speed up build time?

2008-09-24 Thread Pierre-Arnaud Marcelot
Hi Felix,

On Tue, Sep 23, 2008 at 8:52 PM, Felix Knecht [EMAIL PROTECTED] wrote:

 I gave it a try (http://svn.apache.org/viewvc?rev=698281view=rev).
 If you think it's not what you had in mind feel free to revert it.


This looks very good! Thanks!

Here are the results.

Before:
[INFO]

[INFO] BUILD SUCCESSFUL
[INFO]

[INFO] Total time: 5 minutes 40 seconds
[INFO] Finished at: Wed Sep 24 11:13:10 CEST 2008
[INFO] Final Memory: 62M/136M
[INFO]



After:
[INFO]

[INFO] BUILD SUCCESSFUL
[INFO]

[INFO] Total time: 1 minute 44 seconds
[INFO] Finished at: Wed Sep 24 11:15:17 CEST 2008
[INFO] Final Memory: 58M/104M
[INFO]


Awesome... :D

Regards,
Pierre-Arnaud


[Studio] How to speed up build time?

2008-09-23 Thread Pierre-Arnaud Marcelot
Hi all,

On my machine it takes around 4 minutes to build Apache Directory Studio.
Sometimes, when maven is updating the latest snapshots, it can go up to 6 or
more minutes. It's a long time.

Let's take a look at the build log:
[INFO]

[INFO] Reactor Summary:
[INFO]

[INFO] Apache Directory Studio ... SUCCESS
[6.566s]
[INFO] Apache Directory Studio Repository  SUCCESS
[0.932s]
[INFO] Apache Directory Studio DSML Parser ... SUCCESS
[8.374s]
[INFO] Apache Directory Studio Jars .. SUCCESS
[3.299s]
[INFO] Apache Directory Studio LDIF Parser ... SUCCESS
[1.394s]
[INFO] Apache Directory Studio Connection Core ... SUCCESS
[0.713s]
[INFO] Apache Directory Studio LDAP Browser Core . SUCCESS
[2.695s]
[INFO] Apache Directory Studio Connection UI . SUCCESS
[1.130s]
[INFO] Apache Directory Studio LDAP Browser Common ... SUCCESS
[1.852s]
[INFO] Apache Directory Studio Value Editors . SUCCESS
[0.781s]
[INFO] Apache Directory Studio ACI Item Editor ... SUCCESS
[0.886s]
[INFO] Apache Directory Studio Schema Editor . SUCCESS
[4.029s]
[INFO] Apache Directory Studio Schema Editor Feature . SUCCESS
[0.101s]
[INFO] Apache Directory Studio Schema Editor Help  SUCCESS
[27.815s]
[INFO] Apache Directory Studio RCP ... SUCCESS
[0.809s]
[INFO] Apache Directory Studio RCP Feature ... SUCCESS
[0.294s]
[INFO] Apache Directory Studio RCP Help .. SUCCESS
[16.841s]
[INFO] Apache Directory Studio LDIF Editor ... SUCCESS
[1.716s]
[INFO] Apache Directory Studio LDIF Editor Feature ... SUCCESS
[0.098s]
[INFO] Apache Directory Studio LDIF Editor Help .. SUCCESS
[15.026s]
[INFO] Apache Directory Studio LDAP Browser UI ... SUCCESS
[2.421s]
[INFO] Apache Directory Studio LDAP Browser Feature .. SUCCESS
[0.088s]
[INFO] Apache Directory Studio LDAP Browser Help . SUCCESS
[40.328s]
[INFO] Apache Directory Studio Apache DS Configuration ... SUCCESS
[2.360s]
[INFO] Apache Directory Studio Apache DS Configuration Feature  SUCCESS
[0.107s]
[INFO] Apache Directory Studio Apache DS Configuration Help .. SUCCESS
[23.601s]
[INFO] Apache Directory Studio Apache DS Launcher  SUCCESS
[2.611s]
[INFO] Apache Directory Studio Apache DS . SUCCESS
[2.496s]
[INFO] Apache Directory Studio Apache DS Help  SUCCESS
[16.241s]
[INFO] Apache Directory Studio Apache DS Feature . SUCCESS
[0.152s]
[INFO] Apache Directory Studio Core Integration Tests  SUCCESS
[6.197s]
[INFO] Apache Directory Studio UI Integration Tests .. SUCCESS
[4.163s]
[INFO] Apache Directory Studio Update Site ... SUCCESS
[17.197s]
[INFO] Apache Directory Studio Build . SUCCESS
[19.715s]
[INFO]

[INFO]

[INFO] BUILD SUCCESSFUL
[INFO]

[INFO] Total time: 3 minutes 59 seconds
[INFO] Finished at: Tue Sep 23 16:24:06 CEST 2008
[INFO] Final Memory: 68M/123M
[INFO]


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

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.


Re: [Studio] How to speed up build time?

2008-09-23 Thread Felix Knecht

 
 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



Re: [Studio] How to speed up build time?

2008-09-23 Thread Pierre-Arnaud Marcelot
On Tue, Sep 23, 2008 at 7:21 PM, Felix Knecht [EMAIL PROTECTED] wrote:

 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.


I must have catch the Maven way of thinking, because I was thinking about
something pretty similar... Hehe.

A special profile that gets triggered when we want, or based on a condition
(a file existing [or not] somewhere).

We'll see that after I'm done with the Manifests. ;)

Thanks,
Pierre-Arnaud


Re: [Studio] How to speed up build time?

2008-09-23 Thread David Jencks


On Sep 23, 2008, at 10:40 AM, Pierre-Arnaud Marcelot wrote:

On Tue, Sep 23, 2008 at 7:21 PM, Felix Knecht [EMAIL PROTECTED]  
wrote:
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.

I must have catch the Maven way of thinking, because I was thinking  
about something pretty similar... Hehe.


A special profile that gets triggered when we want, or based on a  
condition (a file existing [or not] somewhere).


We'll see that after I'm done with the Manifests. ;)



In general the fact that a module hasn't changed doesn't mean it will  
build: the stuff it depends on might have changed to break it.  Thus I  
think CI builds should be complete builds of everything.


There's been activity recently in maven on enabling dependency based  
partial builds.  IIUC most of this will be in maven 2.1-M2 (it's  
apparently in trunk) and there's a plugin for earlier mavens.  I  
haven't tried it personally yet the first experiment I made didn't  
work and I didn't poke very hard to find out what was wrong.


http://maven.apache.org/plugins/maven-reactor-plugin/

thanks
david jencks





Thanks,
Pierre-Arnaud




Re: [Studio] How to speed up build time?

2008-09-23 Thread Emmanuel Lecharny

David Jencks wrote:
A special profile that gets triggered when we want, or based on a 
condition (a file existing [or not] somewhere).



In general the fact that a module hasn't changed doesn't mean it will 
build: the stuff it depends on might have changed to break it.  Thus I 
think CI builds should be complete builds of everything.
We are talking about Javadoc generation, here. I don't think this make a 
big difference if some Javadoc is not up to date simply because you have 
not generated it before committing the code. Except that it cut the 
build time from 10 minutes to 3 minutes, which is good enough to 
guarantee that committers _will_ run the build before committing.


Of course, the release _must_ run a full build.

--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org




Re: [Studio] How to speed up build time?

2008-09-23 Thread Felix Knecht
Pierre-Arnaud Marcelot schrieb:
 On Tue, Sep 23, 2008 at 7:21 PM, Felix Knecht [EMAIL PROTECTED]
 mailto:[EMAIL PROTECTED] wrote:
 
 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.
 
 
 I must have catch the Maven way of thinking, because I was thinking
 about something pretty similar... Hehe.
 
 A special profile that gets triggered when we want, or based on a
 condition (a file existing [or not] somewhere).
 
 We'll see that after I'm done with the Manifests. ;)

I gave it a try (http://svn.apache.org/viewvc?rev=698281view=rev).
If you think it's not what you had in mind feel free to revert it.

Regards
Felix



Re: [Studio] How to speed up build time?

2008-09-23 Thread Felix Knecht
David Jencks schrieb:
 
 On Sep 23, 2008, at 10:40 AM, Pierre-Arnaud Marcelot wrote:
 
 On Tue, Sep 23, 2008 at 7:21 PM, Felix Knecht [EMAIL PROTECTED]
 mailto:[EMAIL PROTECTED] wrote:

 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.


 I must have catch the Maven way of thinking, because I was thinking
 about something pretty similar... Hehe.

 A special profile that gets triggered when we want, or based on a
 condition (a file existing [or not] somewhere).

 We'll see that after I'm done with the Manifests. ;)
 
 
 In general the fact that a module hasn't changed doesn't mean it will
 build: the stuff it depends on might have changed to break it.  Thus I
 think CI builds should be complete builds of everything.
 
 There's been activity recently in maven on enabling dependency based
 partial builds.  IIUC most of this will be in maven 2.1-M2 (it's
 apparently in trunk) and there's a plugin for earlier mavens.  I haven't
 tried it personally yet the first experiment I made didn't work and
 I didn't poke very hard to find out what was wrong.
 
 http://maven.apache.org/plugins/maven-reactor-plugin/

At first glance I don't see how the reactor plugin could help us. We have 
submodules which should be built only if there
are any file changes in the specific submodule-

Regards
Felix



Re: [Studio] How to speed up build time?

2008-09-23 Thread David Jencks


On Sep 23, 2008, at 11:59 AM, Felix Knecht wrote:


David Jencks schrieb:


On Sep 23, 2008, at 10:40 AM, Pierre-Arnaud Marcelot wrote:


On Tue, Sep 23, 2008 at 7:21 PM, Felix Knecht [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED] wrote:

   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.


I must have catch the Maven way of thinking, because I was thinking
about something pretty similar... Hehe.

A special profile that gets triggered when we want, or based on a
condition (a file existing [or not] somewhere).

We'll see that after I'm done with the Manifests. ;)



In general the fact that a module hasn't changed doesn't mean it will
build: the stuff it depends on might have changed to break it.   
Thus I

think CI builds should be complete builds of everything.

There's been activity recently in maven on enabling dependency based
partial builds.  IIUC most of this will be in maven 2.1-M2 (it's
apparently in trunk) and there's a plugin for earlier mavens.  I  
haven't
tried it personally yet the first experiment I made didn't work  
and

I didn't poke very hard to find out what was wrong.

http://maven.apache.org/plugins/maven-reactor-plugin/


At first glance I don't see how the reactor plugin could help us. We  
have submodules which should be built only if there

are any file changes in the specific submodule-


I probably don't understand the problem you are trying to solve.  I  
thought the way one would typically use the reactor plugin was,

- I know I changed something in module X
- I want to see what breaks as a result
- so I start the build at X and build all the modules that depend on it.

This seems like what you are describing so I'm probably missing the  
important point in your situation :-)


thanks
david jencks




Regards
Felix





Re: [Studio] How to speed up build time?

2008-09-23 Thread Emmanuel Lecharny

David Jencks wrote:


I probably don't understand the problem you are trying to solve.  I 
thought the way one would typically use the reactor plugin was,

- I know I changed something in module X
- I want to see what breaks as a result
- so I start the build at X and build all the modules that depend on it.


In our case, building the help files cost around 65% of the global build 
time (more than 6 minutes out of 10 on a laptop). The idea is to avoid 
to build those help files, which use extensive XSLT processing, in order 
to have a faster build, except if we are building a release.



--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org




Re: [Studio] How to speed up build time?

2008-09-23 Thread Graham Leggett

Emmanuel Lecharny wrote:

In our case, building the help files cost around 65% of the global build 
time (more than 6 minutes out of 10 on a laptop). The idea is to avoid 
to build those help files, which use extensive XSLT processing, in order 
to have a faster build, except if we are building a release.


One possibility is to break the help files into their own module, which 
can then be built separately (if at all).


Regards,
Graham
--


smime.p7s
Description: S/MIME Cryptographic Signature