Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dash-dev] Re: question about packaging in Athena


--
Nick Boldt :: http://nick.divbyzero.com
Release Engineer :: Eclipse Modeling & Dash Athena
--- Begin Message ---
  • From: Nick Boldt <nboldt@xxxxxxxxxx>
  • Date: Mon, 21 Sep 2009 17:21:21 -0400
  • User-agent: Thunderbird 2.0.0.22 (X11/20090605)
I used standard unmodified buildZips,
and notice.html and epl-v10.html are missing from zips.
The same with adding an extraPackaging target to buildExtra.xml.
They should be there, shouldn't they?

You can manually add them into the zips if they're missing. Or, if this smells more like a bug (they SHOULD always be there) than a deviation from default (they are optional), report it in Bugzilla and optionally attach a patch - a little bit of Ant script would be ideal.

Also we pack orbit bundles into our SDK. What's the proper/standard way
of doing that in Athena?

Use buildExtra.xml. I consider the redistribution of Orbit an optional behaviour when building, though we could explore a simpler interface to toggle this behaviour on/off rather than leaving it to the developer to implement in their own packaging/repackaging script in buildExtra.xml.

You also mentioned in your blog entry that buildZips is sort of
obsolete, and that one could package all the zips needed by hand.
Could you tell me a little bit more on that? A couple of hints maybe?

The steps for manual packaging would be:

a) run the buildUpdate step (build.steps=buildUpdate)

b) convert the resulting update site repo into a "runnable" form [0] using repo2runnable ant task [1]. Note that the final step in the script in [1] will output a zip, not a folder. This runnable form is what's needed for SDKs and runtime zips. (Actually, I think the ${allZip} is the equivalent of an ${updateZip} having been converted from repo to runnable.)

c) write ant code to create a zip from selective jars/dirs in a folder, packaging up exactly what you want. If you use the code in [1], you can use <zip><zipfileset></zip> to copy from one zip into another.

IMHO, though, you're better off just publishing a single update site zip and optionally providing a p2.director [2] install script [3] for those who want to install outside Eclipse via commandline or via automated mechanism (rather than the p2 UI in Eclipse).

As to how to actually do the manual zipping (from a folder or another zip), here's an example [4] which produces a number of non-standard smaller zips from the "all in one" zip.

[0]http://wiki.eclipse.org/Equinox/p2/Ant_Tasks#Repo2Runnable
[1]http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.common.releng/tools/scripts/p2repoFormatToRunnableSDKFormat.xml?root=Technology_Project&view=markup
[2]http://wiki.eclipse.org/Equinox_p2_director_application
[3]http://wiki.eclipse.org/Equinox_p2_director_application/Examples/Install_into_eclipse_using_SDKProfile
[4]http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.gef.releng/buildExtra.xml?root=Technology_Project&view=markup

--
Nick Boldt :: JBoss by Red Hat
Productization Lead :: JBoss Tools & Dev Studio
Release Engineer :: Eclipse Modeling & Dash Athena
http://nick.divbyzero.com


--- End Message ---

Back to the top