[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
There must be 50 ways to build your project... or leave your lover (was Re: Moving GEF to Athena (was Re: [gef-dev] Re: Last build on emft.eclipse.org today))
|
Also, just to clarify, by moving to Athena/Hudson (and away from
modeling builds I assume), what does this change? The way we kick off
builds? Anything else?
Athena + Hudson gives you:
* build-to-build interaction (build B can start if it sees there's a new
build A available) so you can get build cascades (eg., perfect for the
projects that depend on GMF)
* EMMA, FindBugs and other source/performance analysis tools
* Simple interface for having builds respond to changes in CVS/SVN and
build automatically (continuous integration)
* better web UI than the custom stuff in build/index.php, which is
nightmarish to update every time someone needs a new requirement added
* XML and plain text APIs to track what's happening w/ builds, including
being able to watch build status on iPod (David Green's Hudson Helper)
* plots showing how your junits are increasing/decreasing over time
* plots showing how long your build takes over time
* the Continuous Integration Game, to encourage people to write more
tests, fix more warnings, NOT break the build, etc.
* ability to build against p2 repos, extracting specific feature.groups
needed for compilation
Is the idea to move all the modeling builds to this new method? Or is
there good reasons to keep people using the existing infrastructure?
The Modeling build is deprecated, just as the EMFT build was deprecated
before that. It's been in maintenance mode since I started Athena last
June. So, yes, if you want new bells/whistles in the system, it's Athena
or bust.
Buckminster,
Workspace & target platform provisioning (?)
bucky build,
Uses Buckminster to create an aggregate p2 repo (Galileo)
gan-o-matic,
Last year's Ganymede builder, which was either ant or buckminster, or a
combination (not sure)
PDE/Build,
The core underneath all of the above and below
Athena,
A facade over PDE/Build to make it easier to set up and to provide lots
of OOTB features. Requires Ant-Contrib.
Athena project configuration is a couple of properties files (for build,
test, promote), a generic build.xml, map files, and optional extra ant
scripts if desired. Runs in Hudson, in Eclipse, via commandline.
modeling build
The precursor to Athena, but closely tied to Modeling projects (and GEF
+ PDT). Athena is WAY more generic and doesn't make the same
assumptions, plus has WAY less code to copy and maintain.
Modeling is a TON of xml files, properties files, shell scripts, and
maps. Runs commandline on linux ONLY.
Infrastructure to run builds is painful to maintain, as there's
duplicated information in several places, and devs must edit .php,
.properties, .xml, etc. It's multidisciplinary and tons of overhead for
basically the same output as Athena+Hudson
Hudson,
Web UI for controlling and running continuous builds. Does nothing by
itself - needs plugins and job instructions for what to run (ant, shell,
python, groovy). Hudson :: dashboard, Athena :: fuel injector, PDE/Build
:: engine. Hudson can be used to run pure ant builds, pure PDE builds,
Athena builds, Buckminster builds... you name it, it'll run it.
Build-In-A-Box,
No idea, unless you mean my "buildserver in a box" idea from a couple
EclipseCons ago, now replaced by Athena.
and now b3.
http://wiki.eclipse.org/PDE/Incubator/b3/Proposal
There's also luntbuild, ant4eclipse, pluginbuilder, maven / m2eclipse,
and many others.
I'm just
trying to wrap my head around the similarities / differences, between
these technologies and understand what we "should" be using in an ideal
world.
Well, we all define "ideal" differently. Some insist that if there's no
ecore under the covers, it's non-ideal. Others, that everything must be
EPL. Me, I prefer something that's server-centric first (property files,
runs in continuous headless mode), IDE second (UI clickity-click, builds
on demand), but Athena is moving closer to bridging that gap.
As in all things, YMMV. :)
--
Nick Boldt :: http://nick.divbyzero.com
Release Engineer :: Eclipse Modeling & Dash Athena