Hi,

I have a 'clean all' project which runs at 1am and deletes a bunch of
source code on the build machine. It then force builds a custom
'sourcewatcher' project, the description of which can be found at
http://www.mail-archive.com/[email protected]/msg04017.html.

The sourcewatcher project is on an intervaltrigger, every 30s.

Here's what happens; it sends the forcebuild request successfully:

[trunk Clean All:INFO] Sending ForceBuild request to 'trunk Source
Watcher' on 'tcp://localhost:21234/CruiseManager.rem'

only to decide a few milliseconds later:

[70:INFO] Project: trunk Source Watcher already on queue: DefaultQueue
- cancelling new request

The problem is that there are two types of 'pending' - there is
pending to run normally, and pending to run as a force-build, and
these have different behaviours.
Specifically, pending to run normally only checks the source code for
modifications, but force-build will actually do an svn update. Because
there is no code locally - it was removed in the clean-all - and no
modifications, I need the force-build behaviour.
BUT, the forceBuildPublisher just cancels the new forcebuild request,
so I get the default pending behavour ('No modifications to source, so
no run') instead of the force build behaviour ('Just do it
regardless').

When I get to work in the morning, I see that the clean-all ran, but
the source wasn't checked out. If I force-build the clean-all project
manually, it runs very quickly (nothing left to delete) and
force-builds the sourcewatcher which then gets queued successfully
(that is, it wasn't already queued, so doesn't get cancelled), and
runs as a force build (i.e. checks out the source code, then starts
projects building).

I can work around this with a hack, because I have a plugin that can
remove projects from the queue, and can remove the sourcewatcher from
the queue in the publisher block of the clean-all project, then
force-build the sourcewatcher.

I'm guessing that the current behaviour (cancelling a
forcebuildpublisher forcebuild if the project is already pending) is
incorrect.

Cheers,
Carl.
-- 
Carl Cerecke
GeoBase Senior Software Engineer – Telogis Research
www.telogis.com  www.telogis.co.nz
--
This e-mail, and any attachments, is intended only for use by the
addressee(s) named herein and may contain legally privileged and/or
confidential information.  It is the property of Telogis.  If you are
not the intended recipient of this e-mail, you are hereby notified
that any dissemination, distribution or copying of this e-mail, any
attachments thereto, and use of the information contained, is strictly
prohibited.  If you have received this e-mail in error, please notify
the sender and permanently delete the original and any copy there of.

Reply via email to