Please see my comments below.

Thanks,
Raymond

----- Original Message ----- From: "Jean-Sebastien Delfino" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Sunday, January 13, 2008 12:26 AM
Subject: Re: How to run incremental builds of the Tuscany SCA tree


Raymond Feng wrote:
[snip]
Beyond performance, I don't think svn stat is good way to handle the case that the project has been updated from svn but the build is not run yet. I now ported the timestamp check from the maven-compiler-plugin and it should give us the capability to be incremental.

http://svn.apache.org/viewvc?rev=603783&view=rev
[snip]

With these changes, I'm sorry to say that the incremental build plugin has become unusable for me, with a few basic flaws:

- The logic that you ported from the maven-compiler-plugin fails to detect changes as usually my IDE has already compiled the .java files to .class files.

- If module A has changed, module B depends on A, and if A builds OK but B's tests fail, a subsequent incremental build will not try to run B's tests as A will not appear as changed anymore.

These are two goog catches. I guess the only reliable way is a marker to know if (and when) a module has been sucessfully buit by maven. Maybe we can use the .modified file to keep the timestamp for the last successful build of a module.


- Did you remove the simplistic check for .modified files that I had initially, which worked for my naive but very common use case?


Yes. My previous assumption was that it not necessay any more with the timestamp checks.

I don't understand all the sophisticated code that was added to the plugin to support the logic that now breaks me. Could you please help and restore a simple version of the plugin that just works?


I added the check back. Can you try? But there is a flaw too. If a module is just updated with changes from the svn and there is no diff between the workspace and the repo. In this case, the module should still be marked as changed.

I'm happy if people want to play around with super sophisticated plugin solutions and spend time to debug them, but it would be great if we could keep this one simple, as I'm trying to get some work done with it.

Thanks.
--
Jean-Sebastien

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to