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.