Brett Porter wrote:

On 14/09/2006, at 6:09 PM, Kenney Westerhof wrote:


Hi Team,

Yesterday I've committed some code to enable cancelling builds:

Great!

- What's the best place to place the cancel build button? Perhaps just list the job on the summary page as 'current job'
 (in the future: current jobs) and add a cancel button there.

How about replacing the "build now" button (which is disabled when a build is in progress) with a "cancel build" button? replace the green "play" symbol with the delete "x".

Sounds good! I've Gimped a small icon but someone with real graphics skills
might want to redo it.



- The build ID of the cancelled task will either be 0 or max(build id),
 depending on when it's cancelled. The project _is_ set in error state
so it finishes normally. This gives me the idea that the build number issue
 already was there; this needs to be fixed (I'm looking into it).

Is setting it to error state appropriate? That makes sense if it times out, but maybe if it is cancelled it should be set back to the last state? Or set to a new cancelled state?

A new cancelled state sounds good to me (but it'll be a lot of work since we're 
not
using enums and a lot of code uses integer constants ;)

Right now there's no way for the task to see if it was cancelled manually or 
because
it was killed by the executor because it has timed out, so I'll go with the new 
cancelled state.
I'll use the warning triangle for now.



- We might want to set a timeout on individual actions instead of the entire job (1.2?)

Sorry, what do you mean by "individual actions"?

I'm sorry, I meant actions like 'update-working-directory-from-scm' etc.
- An issue Emmanuel has pointed out to me is that cancelling builds on windows doesn't work well. I've dug into the sun site and found several others with the same problem.

This is ok. We should look into the prcview thing, but I don't think its a high priority. We can list as a known issue.


Oh okay then :)

Just a question: why not call m1/m2/java from a new classloader/thread within continuum itself? Saves some shell magick, and it's more easily killed (using the concurrent package). Or call java directly - also no problem with killing that
 and any child processes.

This might be a useful feature at some point, but can never be the only way. People will want to use various versions of Maven and JDK, not just the ones Continuum has.

True, but once the maven location has been discovered it's quite easy to call 
Main
using the classes found in the maven installation directory.

Especially for Maven 2 it might make things feel more integrated - continuum could attach listeners and doesn't have to work with passing information through files. Although this
also only works for specific maven versions.

-- Kenney

Reply via email to