Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » P2 » Generate update site during headless build?
Generate update site during headless build? [message #667458] Thu, 28 April 2011 20:52 Go to next message
Volker Wegert is currently offline Volker WegertFriend
Messages: 169
Registered: July 2009
Senior Member
Hello all,

I've finally succeeded in producing a set of zipped files that contain a
valid installation of a feature-based product, including the correct p2
settings. Now I'd like to generate the actual update site for the
update, if possible during the same build. I assume I have to either
mirror or somehow generate the contents of either buildRepo or
targetRepo to the actual location served by the web server, but I'm
unsure how to do that. The update process seems to look for files named
p2.index, content.jar and content.xml, ans I can't find these files in
the build directory. What task do I have to use to generate these files?
Is there a working example somewhere?

Thanks
Volker


--
* Volker Wegert * http://www.volker-wegert.de/contact *
Re: Generate update site during headless build? [message #667662 is a reply to message #667458] Sat, 30 April 2011 19:16 Go to previous messageGo to next message
Terran Gilman is currently offline Terran GilmanFriend
Messages: 67
Registered: July 2009
Member
Are you using a build server like hudson, or are you doing this manually? Could you describe your current build process?
Re: Generate update site during headless build? [message #667677 is a reply to message #667662] Sun, 01 May 2011 08:15 Go to previous messageGo to next message
Volker Wegert is currently offline Volker WegertFriend
Messages: 169
Registered: July 2009
Senior Member
Am 30.04.11 21:16, schrieb Trip Gilman:
> Are you using a build server like hudson, or are you doing this
> manually?

Manually automatically - that is, a cronjob starts a shell script that
starts java that starts the antRunner.

> Could you describe your current build process?

It's more or less "the standard PDE build". The main differences are

- I'm fetching from svn instead of CVS
- I'm not fetching the map file from CVS but copy it in place in an
ant task
- I use p2.mirror to build a local repository of the other packages
required by and included in my product (although that's in a separate
cron job)
- I'm building for Linux, MacOS, and Win32 with 32 bit and 64 bit
each, so the build generates six "usable" zip files and a seventh one
that I ignore.

In the previous build system (based on 3.3), I had to run the entire
build twice - once with outputUpdateJars set to false (that created the
distributable zip files) and once with outputUpdateJars set to true
(that created crippled zip files but a usable basis to draw the contents
of the update site from). Now with p2, I hope there's a better way to do
this. I assume one of the ant tasks is able to push the compiled
packages into an update site, but which one is it?

Thanks
Volker

--
* Volker Wegert * http://www.volker-wegert.de/contact *
Re: Generate update site during headless build? [message #667829 is a reply to message #667677] Mon, 02 May 2011 11:35 Go to previous message
Paul Webster is currently offline Paul WebsterFriend
Messages: 6859
Registered: July 2009
Location: Ottawa
Senior Member

With the way the p2 builds work, the steps should be:

1) create your target platform using p2 repos (I usually use p2.mirror).
There's a preProcessRepos target in the customTargets.xml file.

2) run the build. Some properties will help create what you need:
groupConfigurations=true
runPackager=true # this is probably set

make sure this is commented out, not set:
#outputUpdateJars = false

When you set p2.gathering=true it will create a p2 repo, contained at
p2.repo. That p2 repo is what you use as an update site. If you
include a category.xml file as part of your build, that repo will show
everything nicely in the install manager.

3) using the p2.publish.product task, it will create all the different
product zips that you would want.

4) use p2.mirror to mirror your build repo as a child directory of your
update site, and then you can use p2.composite.artifact.repository.add
and p2.composite.metadata.repository.add to finish creating your
composite repo.

PW




--
Paul Webster
http://wiki.eclipse.org/Platform_Command_Framework
http://wiki.eclipse.org/Command_Core_Expressions
http://wiki.eclipse.org/Platform_Expression_Framework
http://wiki.eclipse.org/Menu_Contributions
http://wiki.eclipse.org/Menus_Extension_Mapping
http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse. platform.doc.isv/guide/workbench.htm


Previous Topic:Bundle Start Level
Next Topic:UpdateSItePublisher Error
Goto Forum:
  


Current Time: Sun Dec 28 17:19:09 GMT 2014

Powered by FUDForum. Page generated in 0.01618 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software