Much ado about scripting, Linux & Eclipse: card subject to change

Showing posts with label birt. Show all posts
Showing posts with label birt. Show all posts

2009-05-11

Automatic Eclipse mirror selection / Better download pages?

Have you ever wanted to fetch a whole stack of Eclipse project runtimes so you can build against them? For example, say you want all the Galileo M7 builds from Platform, TPTP, BIRT, DTP, WTP, and dependencies (EMF, GEF, XSD). You can find the URLs for each zip you want on the projects' pages, and download them one-by-one from the closest mirror, but that's time- and bandwidth-consuming, esp. if you want these on a remote server, not your local box.

Enter the "&r=1" option on http://www.eclipse.org/downloads/download.php, which will fetch from the closest mirror automatically.

So, now, you can script the M7 stack fetch like this:

for u in $*; do
  if [[ ! ${u##*file=*} ]]; then # add the r=1 suffix
    u=${u}"&r=1"
  fi
  echo "wget $u ..."
  wget --no-clobber "$u"
done

Then run it like this:

./fetch.sh \
"http://www.eclipse.org/downloads/download.php?file=/tools/gef/downloads/drops/3.5.0/S200905011522/GEF-runtime-3.5.0M7.zip" \
"http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/M-R1-2.5M7-200905061338/birt-report-framework-2.5M7.zip" \
"http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/M-R1-2.5M7-200905061338/birt-wtp-integration-sdk-2.5M7.zip" \
"http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.7/dtp-1.7.0M7-200905052200.zip" \
"http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/S-3.5M7-200904302300/eclipse-SDK-3.5M7-win32.zip" \
"http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/S-3.5M7-200904302300/eclipse-SDK-3.5M7-linux-gtk.tar.gz" \
"http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/S-3.5M7-200904302300/eclipse-SDK-3.5M7-linux-gtk-x86_64.tar.gz" \
"http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/S-3.5M7-200904302300/eclipse-SDK-3.5M7-macosx-carbon.tar.gz" \
"http://www.eclipse.org/downloads/download.php?file=/modeling/emf/emf/downloads/drops/2.5.0/S200905041408/emf-runtime-2.5.0M7.zip" \
"http://www.eclipse.org/downloads/download.php?file=/tptp/4.6.0/TPTP-4.6.0M7-200904260100/tptp.runtime-TPTP-4.6.0M7.zip" \
"http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R3.1/S-3.1M7-20090505073946/wtp-S-3.1M7-20090505073946.zip" \
"http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R3.1/S-3.1M7-20090505073946/wtp-jpt-S-3.1M7-20090505073946.zip" \
"http://www.eclipse.org/downloads/download.php?file=/modeling/emf/emf/downloads/drops/2.5.0/S200905041408/xsd-runtime-2.5.0M7.zip" 

So, now the only problem is that every project structures & styles their downloads pages differently...

  1. DTP -> choose file(s)
  2. GEF -> choose file(s)
  3. EMF/XSD -> choose file(s)
  4. WTP -> choose build -> choose file(s)
  5. Platform -> choose build -> choose file(s) & platform(s) -> click through warnings
  6. TPTP -> choose branch tab -> choose build -> choose file(s)
  7. BIRT -> More Downloads -> Recent Builds -> choose build -> choose file(s)

Am I the only person that finds this inconsistency annoying? Is it time for a more consistent UI? I'm exploring what to do for Athena-based builds, and welcome suggestions in bug 275682. What pages do you like best? Worst? Which are easiest to use? Hardest? Do you prefer the old blue-and-white pages? The purple Phoenix pages? The grey Nova pages? Any UI designers want to contribute?

Or, really, are downloads obsolete? If we could collect statistics on p2 jar downloads, I'm sure we'd see that most people prefer that approach, and I for one would certainly prefer to just build against a p2 repo (or 7) than a pile of zips. I suppose the hybrid solution for now is to provide zipped p2 repos for download, many projects do today (Modeling, GEF, PDT, VE ...).

2008-06-25

Day Of The 'Mede

Merci to Denis Roy for proofing my Franglais, und Vielen Dank to Benny and Dominik in #eclipse-de for enduring my silly request to write the German verse below. Ganymede is a multi-cultural / multi-lingual release! Feel free to add your own verse or chorus in the comments! Bonus points if your translation into English rhymes! (See links below for the English text and video; you can also find this en español, if you prefer.)

I was just a tourist my first time at Eclipse-dot-oh
I was a newbie, in danger in a world unknown
But one quick download and the world around me did explode
And projects by the dozens come out from that hole

Why? No lie!
It's the Day of Ganymede! There are there torrents you can seed!
oh-oh-ohh, I didn't even know
It is the Day of the 'Mede! Let's make the servers bleed!
oh-oh-ohh, up there in Otta-whoah!

The place was jumpin' with TCP/IP to and fro
But thanks to p2 I can multi-thread my downlo'
I opened the pinata and a swarm of plugins did install
Dependencies resolved and I knew that I was good to go

Why? No lie!
It's the Day of Ganymede! Can you get some? Indeed!
oh-oh-ohh, I didn't even know
It is the Day of the 'Mede! All our sources have been freed
oh-oh-ohh, in Portland, Orego'!

The councils tell me not to fear
It happens like this once a year
When the build's done, committers leave their cubes and
Apparently they come out here
For the beer!

Why? No lie!
It's the Day of Ganymede! And now it's time to feed
oh-oh-ohh, join the release party
It is the Day of the 'Mede: so lift a jug of mead
oh-oh-ohh, wherever you might be

Es ist der Tag von Ganymede! - um was es geht?
oh-oh-ohh, Der Zug fährt ab, die Community ist froh
Es ist der Tag von Ganymede! - mit Projekten fast fürs ganze Alphabet
ja-ja-jaa, von BIRT bis Webtools, alle sind sie da!

C'est le jour de fête Gany, comprends-tu ce que je dis?
oh-oh-ohh, ou est-ce que c'est pelle melle?
C'est le jour de Ganymède! Toujours besoin de l'aide*
oh-oh-ohh, traduire projet Babel!

* - Yeah, that translation rollover's a bit of a stretch, I know.

Voltaire - Day of the Dead / Dia de los Muertos

2008-03-20

EclipseCON 2008: News from the collective

In no particular order, here's what I've learned from this year's con:

  • p2 is going to rock (though it's unfortunate that Pascal's slides aren't online yet -- hint, hint!). While my first view of it was a bit disappointing, the new story -- including backwards compatibility for existing Update Manager sites, the ability to generate the new metadata from the old stuff & shared bundle pools (akin to C:\Program Files\Common Files or /usr/share/) to improve the functional-but-hackish alternatives -- promises to make things not just different, but better.

  • Modeling is not just alive and well, it's everywhere!

  • While some people have Planet-blog-photo-angst, it's not enough to stop the onslaught diversity. :)

  • ant4eclipse looks like a possible stripped-down approach to pde/basebuilder, for tiny projects like the microcomponents planned for Nexus or the stuff on Eclipse Spaces. Something to explore, anyway.

  • The Modeling build has lots of room for improvement -- some great suggestions have been logged and added to my list, including the use of JET to templatize and wizardize creation of new .releng projects. The same should be said about my tutorial, which I think would have benefited from a more overarching introduction before the hands-on work began.

  • The Google Summer of Code 2008 is just around the corner. Have a great idea you want to see built at Eclipse, but don't have time to do it yourself? Suggest it and mentor a student instead!

  • Martin Taal has some great new web-based form UI functionality that I'd love to use for the UIs I do (eg., for builds or for Dash).

  • I'd also like to start playing with BIRT in Dash, and not just to earn an animated t-shirt, since I think that ship has, sadly, already sailed.

  • TaskTop, or Mylyn on steroids, is pretty damn cool as a way of integrating everything I do into one UI. Because of networking issues w/ linux this week, I've only been able to test it with Windows... which means, sadly, the embedded browser experience sucks a little because it's IE, not Firefox. Still, the idea of having a context for web and local files I'm working on all in one trackable, toggleable interface, with connections to GMail and Google Calendar makes the whole thing very slick. If the linux experience is as good or better, it's only a matter of time before I buy a copy. $60 is pretty reasonable for something that will, ultimately, support Mylyn's continued growth. (Though you don't get a "Friends of Mylyn" logo.)

  • WinXP + Eclipse + Flock + Pidgin + Cisco VPN client = BSOD, even though Windows Loves Java, apparently. (To be fair, this one was the Cisco VPN client's fault.)

  • I want an IBM Access Connections for Linux. Switching between the Hyatt wifi network and the Eclipsecon network via text file updates and shell scripts sucks elephant balls compared to just magically switching networks with no effort. Am I missing something? Is there some better x-, k-, or gnu-based app I could be using?

  • I should be using Platform Releng Packager instead of custom-packing zips after signing them. I recall vaguely hearing about this last year, but haven't had a use for it until now, with Master Features and signed builds.

  • It's possible to generate test coverage documentation from JUnit using Bumblebee.

  • If your project doesn't already define a How To Contribute document, it should.

  • Using the Autopin tweaklet with Mylyn is probably a bad idea, as it introduces a lot of manual labour (pinning tabs by hand). This has been preventing me from getting the most out of Mylyn.

  • Denis & Karl have outed me as being not one person but an array of clones. I'm just not sure how to define the syntax for identifying which clone is which... suggestions? (This is clone #1, or $nick[0], nick:0.) The process is still imperfect, but I hope to be able to open source it one day. If you're curious about how it's done, all I can say is that it involves division by zero.
Thanks to everyone at this year's con -- planners & attendees alike. We[] had a blast.