[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cross-project-issues-dev] Re: [dash-dev] Re: [buckminster-dev] 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))

There's definitely overlap, and I'm amazed to see just *how much* is now in Buckminster than there was the first time I looked at it a couple years ago. A venn diagram would be awesome -- looks like there'll be new Venn diagram chart type in BIRT in a couple weeks.

http://wiki.eclipse.org/Adding_new_advanced_chart_types_in_BIRT

Does Bucky handle javadoc generation or running of headless UI tests and collecting JUnit results in XML/HTML? Can it run tests on different platforms from the one on which the build's run? Those pieces work in Athena (except build on platform X, test on Y), but they're still rough. If it's in Bucky already, reuse would certainly be better than reinvention.

I've also been asked to look at a better approach to target provisioning prior to building. Today, we unpack an Eclipse SDK zip + any referenced SDK/runtime/update zips, p2.director install from referenced update sites / zips any required features, then start fetching sources and orbit bundles. But requiring an SDK when you're running in Eclipse is not the best scenario for RCP and equinox people, so we've started discussion here:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=285048

There's also this bug re: building multiplatform jars (eg., using Xulrunner):

https://bugs.eclipse.org/bugs/show_bug.cgi?id=284539

+1 to wiki page(s), referenced by blogs/tweets.

Ian Bull wrote:
Nick and Thomas,

Thanks so much for the answers / clarifications. I originally wondered about these things on GEF mailing list when trying to understanding all the issues related to building GEF.

I am going to start a wiki page, and then likely a blog post, to try and present all this information (unless it already exists). I'm sure I'm not the only one who is interested in Eclipse Build and wondered about all the different technologies.

It would be good to create some sort of venn diagram (or compatibility matrix) that shows the overlap between technologies (which technologies provide alternatives to one another) and how the different technologies complement each other. In light of the b3 proposal, it seems like a good time to reflect on what we have.

Thanks again,
Ian

On Wed, Jul 29, 2009 at 11:57 PM, Thomas Hallgren <thomas@xxxxxxx <mailto:thomas@xxxxxxx>> wrote:

    Hi all,
    Here are some clarifications on Buckminster related things.


Nick Boldt wrote:

        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 (?)

    Yes, and in addition to that, Buckminster brings you out-of-the-box
    commands to:

    * Build and export bundles and features. Either from your IDE or
    from the command line. The build that executes will be exactly the
    same in both cases

    * Create a P2 site from any feature. This includes pack200 and
    signing. Can run on any server (or from your IDE)

    * Hudson integration (sharing a lot of the advantages that Nick
    mentioned for Athena above)

    * And lots more. Take a look at our documentation:
    http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/doc/BuckyBook.pdf


bucky build,


Uses Buckminster to create an aggregate p2 repo (Galileo)

    The Galileo Builder is described here:

    http://wiki.eclipse.org/Buckminster_Galileo_Builder

    And we're working on it's successor:

    http://wiki.eclipse.org/Getting_Started_With_Aggregator_(Buckminster)



            gan-o-matic,


Last year's Ganymede builder, which was either ant or buckminster, or a combination (not sure)

    It was a mix of Ant, Buckminster, and the old Update Manager. May it
    rest in peace :-)

    Kind Regards,
    Thomas Hallgren


--
Nick Boldt :: http://nick.divbyzero.com
Release Engineer :: Eclipse Modeling & Dash Athena