mailapp product installation [message #822415] |
Fri, 16 March 2012 15:37 |
Frank Grimm Messages: 22 Registered: July 2009 |
Junior Member |
|
|
Dear Buckminster list,
I'm trying to utilize Buckminster to automatically (and ultimately
headlessly) build an Eclipse RCP product. That's why I'm currently
working through the Bucky Book, especially Chapter 16 ("Building RCP
Products").
If got a problem with installing the Mail app example product with
Indigo 3.7.1. Materializing the mail example features and plug-ins from
org.eclipse.buckminster.tutorial.mailapp.releng works fine and invoking
action org.eclipse.buckminster.tutorial.mailapp.releng#site.p2 works as
well, i.e., the P2 site is created in
bmtutorial/org.eclipse.buckminster.tutorial.mailapp.releng_1.0.0-eclipse.feature/site.p2
But invoking
org.eclipse.buckminster.tutorial.mailapp.product.feature/buckminster.cspex#create.product
and a property file defining the desired target (target.os=win32;
target.ws=win32; and target.arch=x86 in my case) does not create an
executable.
The MailApp directory however contains the usual configuration,
features, plugins, and p2 directories and respective files. But no
mailapp.exe gets generated.
Running org.eclipse.equinox.p2.director manually with the same options
buckminster.cspex#create.product / build/product.ant uses results in the
same product installation with the missing mailapp.exe. Here is the
command line:
java -jar
c:\\Users\\fgrimm\\programs\\eclipse-3.7-indigo-SR1-buckminster\\eclipse\\plugins\\org.eclipse.equinox.launcher_1.2.0.v20110502.jar
-application org.eclipse.equinox.p2.director -repository
file:///c:/Users/fgrimm/bmtutorial/org.eclipse.buckminster.tutorial.mailapp.releng_1.0.0-eclipse.feature/site.p2/
-destination c:\\Users\\fgrimm\\bmtutorial\\product -profile MailProfile
-profileProperties org.eclipse.update.install.features=true -installIU
org.eclipse.buckminster.tutorial.mailapp.product -p2.os win32 -p2.ws
win32 -p2.arch x86 -consoleLog
The product
(org.eclipse.buckminster.tutorial.mailapp.product.feature/testmailapp.product)
is defined to add a native launcher. And exporting the product via the
PDE product wizard does indeed generate mailapp.exe.
My understanding of the create.product action is that is creates native
launcher artifacts if the target definition is properly set (e.g.,
win32, win32, x86). Is this assumption correct or do I have to take
additional steps to create a runnable product? Could this be an Eclipse
version issue -- the mailapp example appears to target Eclipse 3.5,
while I'm using 3.7.1 ?
Thanks in advance,
Frank
|
|
|
|
Re: mailapp product installation [message #824058 is a reply to message #822436] |
Mon, 19 March 2012 07:48 |
Frank Grimm Messages: 22 Registered: July 2009 |
Junior Member |
|
|
Many thanks Matthew, adding the org.eclipse.equinox.executable feature
helped creating the native launcher executable. (I had to install the
Eclipse delta-pack to get it into the target platform.)
As you suggested, I added a dependency
org.eclipse.buckminster.tutorial.mailapp.product.feature/buckminster.cspex:
<dependency name="org.eclipse.equinox.executable"
componentType="eclipse.feature" />
buckminster.cspex is responsible for building the product from the P2
site which was created before based on top-level feature
org.eclipse.buckminster.tutorial.mailapp.product.feature (not
org.eclipse.buckminster.tutorial.mailapp.releng). But since the
top-level feature won't be part of the P2 site, I guess I could also
make org.eclipse.buckminster.tutorial.mailapp.releng the top-level
feature and add a dependency to org.eclipse.equinox.executable to it.
The next step I'm looking into is to trigger a headless build from the
command line...
Thanks again,
Frank
On 16.03.2012 17:15, Matthew Webber wrote:
> When you materialize, you need to ensure that the
> org.eclipse.equinox.executable feature is in your target platform.
>
> It doesn't matter how that gets into the target platform, but best is to
> add this as a dependency in your top-level feature, which I guess in
> this case is org.eclipse.buckminster.tutorial.mailapp.releng (sorry I'm
> not in a position to check this at the moment).
>
> Although you can just add it into the feature.xml, this means that if
> your p2 site is referenced by a human using Eclipse's "install new
> software", the equinox feature is displayed. So it's better to add a
> cspex in the feature, with a dependency on equinox.
>
> When you do the materialize, and the #site.p2 action, you must specify
> target.os=* target.ws=* target.arch=*
>
> Hope that helps.
> Matthew
|
|
|
Powered by
FUDForum. Page generated in 0.02177 seconds