[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [europa-build-workshop] Re: [cross-project-issues-dev] RSS Feeds And The Projects What Use 'Em
|
You'll find that there's already code in basebuilder for
looking-caching-checking-alerting (aka watching) feeds. There's an ant
script wrapped by a shell script you can use to check a feed, cache
the result, and compare that to the live feed the next time around.
The ant task returns variables set to the appropriate values you were
watching, rather than a simple boolean diff, so that if your feed
contains more than one project/branch, or more than one build type (N,
I, M, S, R) you can respond accordingly to just the feed aspects you
care about.
You can also watch for feed changes such as 'are the tests done?',
'did the tests pass?', 'are the jars signed?', 'is the update site
ready for Europa?', rather than just 'has the feed changed?'.
Ultimately, it depends on what you want to watch.
Cheers,
Nick
On 11/13/06, Bjorn Freeman-Benson <bjorn.freeman-benson@xxxxxxxxxxx> wrote:
Nick,
My theory was that copying the files around (from the project sites to
the Europa site) wasn't a large bandwidth or cpu waste, so I'd just take
the easy solution of re-spinning each time any of the projects did a
build. You're right that it would re-spin often and redundantly due to
the dependencies, but it's a choice of wasting cpu cycles to do the
re-spins versus using our (collective) brain power to keep all those
dependencies straight.
I can imagine some slightly cleverer solutions such as using the
dependency information in RSS feeds to keep an internal dependency tree
up to date and then only re-spinning when all the upstream components
have changed or queuing the changes with a time delay to try to cover
more of the projects. Both of these would result in less spinning, but
they would also delay "the build is broken" feedback to the projects.
Wishy-washy, tradeoff, ...? My goal for this is to provide early
feedback to the projects that the master unified build (the gathering of
all the jars and features into a single Europa) is working or broken
rather than trying to create an actual working download - the working
download requires waiting for all the +2s and +3s and getting an ok from
each project, etc.
> Beyond the design aspects of this, I'm interested in how easy it will
> be for you to collect
>
> {
> check the RSS feed
> if there is a new build then $something_changed = true
> }
I was going to do the easy solution: cache the previous RSS feed result
for each project. Fetch the current one. Diff.
> Additionally, do you plan to implement a type of hierarchical
> response?
Again, going with the philosophy of trading off more cpu cycles for less
thinking, no, I wasn't planning on that.
- Bjorn
_______________________________________________
europa-build-workshop mailing list
europa-build-workshop@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/europa-build-workshop