[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [equinox-dev] RE: Need help building a product with p2

I tried the .product build again, just adding in org.eclipse.platform and a couple of others to see if I got the org.eclipse.rcp_0.0.0 error again.  I got the rcp error, but no version number.  Further up a bit in the output, I see some errors like this:
 
[eclipse.fetch] Missing directory entry: plugin@xxxxxxxxxxxxxxx,0.1.28.
[eclipse.fetch] Missing directory entry: bundle@xxxxxxxxxxxxxxx,0.1.28.
[eclipse.fetch] Missing directory entry: plugin@xxxxxxxxxxxxxx,1.6.5.
[eclipse.fetch] Missing directory entry: bundle@xxxxxxxxxxxxxx,1.6.5.
[eclipse.fetch] Missing directory entry: plugin@xxxxxxxxxxxxxxxxx,1.4.103.v20060601.
[eclipse.fetch] Missing directory entry: bundle@xxxxxxxxxxxxxxxxx,1.4.103.v20060601.
The versions appear to be from Eclipse 3.2.1!  So there must be something fishy on our build server.  We're definitely running from Eclipse 3.4, but I'm thinking maybe there's something cached somewhere, or some environment variable or something (ECLIPSE_HOME?).  Anyone know what might affect this?
 
Thanks,
Warren


From: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] On Behalf Of ext Andrew Niefer
Sent: Wednesday, June 11, 2008 3:14 PM
To: Equinox development mailing list
Subject: RE: [equinox-dev] RE: Need help building a product with p2


In red.


<Warren.Paul@xxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/11/2008 03:21 PM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To
<equinox-dev@xxxxxxxxxxx>
cc
Subject
RE: [equinox-dev] RE: Need help building a product with p2





Hi Andrew,
 
See my responses below.
 
Thanks,
Warren



From: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] On Behalf Of ext Andrew Niefer
Sent:
Wednesday, June 11, 2008 2:06 PM
To:
Equinox development mailing list
Subject:
RE: [equinox-dev] RE: Need help building a product with p2



Warren,


A) If you are just unziping GEF, EMF etc over the platform you must run that platform once in order for those bundles to be discovered and installed.  Then you can use the director to install your bundles into that.  Alternatively you can just use the director to install the GEF etc bundles into the platform.


 
B) This should work, however we suggest that you use the p2 director to install into a new location instead of trying to create the p2 directory in that install.  We haven't seen your problem with the stack trace below, this looks like the install is not set up properly, independent of p2.  (As if org.eclipse.equinox.common is missing).


[WP] I tried both ways.  If I install into a different directory, I only get p2, features, and plugins directories.  I don't get any configuration, launcher, etc.  If I try to use those from the other install, I get the same error as I do when just directing into that install.

[AN] This basically means your metadata is missing IUs for the launcher etc.  Try using "-config" as an argument to the metadata generator instead of "-source".  See the "Existing Non-p2 Eclipse Application" section of the metadata generator help.  However, I do believe that you will get better product metadata using (C).

C) Instead of trying to compose your product from pieces, you could do a product build.  Write a .product file that includes everything your product needs and use PDE/Build's productBuild.xml with the platform + GEF etc in the base location.  Turn on p2 metadata generation in the build and the result will be a repo that you can install from.


[WP] I tried this as well.  It works grand from the PDE UI product export, but not from a headless build.  If I have any org.eclipse.* features in my product file, I get an error during the headless build that org.eclipse.rcp_0.0.0 can't be found.  To work around that, I only build our features from the .product file, and user the packager to gather the org.eclipse. bundles we need.
 [AN]  If it works from the UI but not headless then I can only guess that there is something wrong with the setup.  You will need the delta pack to get the launchers you need.  Make sure everything is in your baseLocation.  Export is a headless build under the covers, the biggest difference is PDE/UI tells us where to find everything.

Doing the metadata generation from the product build seems to generate good data, but I think there's a timing bug.  When I run that on our build server, I get an error during a cleanup ant task in the generated ant scripts.  It's trying to delete some stuff that's still in use.  if I wait a few seconds it would work, but I don't control the call to the cleanup task.  It seems the metadata generation completes but hasn't released all of the plugins yet for some reason.
 [AN] We have not seen this kind of issue in our own builds, can you please raise a bug with the details.  I'm not sure which clean task you are refering to, if it is the one in the customTargets.xml, you can define "noclean=true" to turn it off.  Another possibility would be to use the custom Assembly steps ("Customizing a Headless Build" in the RC4 help).  The pre.archive task will be called after metadata generation, as well there is more metadata generation done at the end of the package phase and customTargets.xml/postPackag occurs immediately afterward.  You could try putting custom ant in these tasks to introduce a delay if necessary.

Maybe I'll go back and try the headless product build including org.eclipse.* features with RC4.  That's obviously the easiest and most desirable way, and it works from the UI.  Is there a way to see exactly what the product export from the UI is doing?
 [AN] The only way would be to launch a self hosted eclipse in the debugger and export from there.  You could then use the debugger to watch what PDE/UI is doing.  (Code is in org.eclipse.pde.core, and things would start in ProductExportOperation.run)

Is the delta pack necessary fo doing product builds, or just for RCP apps?  That wasn't clear to me from the docs.  I tried it both ways and didn't see a difference, so I assume it's not needed.
[AN] Yes the delta pack is necessary for headless product builds.  Exporting from the UI can work without it as the UI can take executables from the running eclipse, but headless build does not do this.
 
In RC4 there is help docs that might be helpful for you:

1) Platform Plug-in Developer Guide -> Programmer's Guide -> Packaging and delivering Eclipse based products -> Provisioning platform (p2)
               -> Installing software using p2 director application

               -> p2 metadata generation

2) Plug-in Development Environment Guide -> Tasks

               PDE Build -> Automated Building of RCP applications from a product configuration file

               PDE Build Advanced Topics -> PDE Build Integration with p2


-Andrew


<Warren.Paul@xxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/11/2008 11:07 AM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>


To
<equinox-dev@xxxxxxxxxxx>
cc
Subject
RE: [equinox-dev] RE: Need help building a product with p2







I hate being a pest, but this is the last day I have to get p2 working for our product.  If it's not working today, I have to disable it and use the old school updater.  At this point I'm just not convinced that I'm even doing the right thing, so if someone could please chime in and tell me the expected approach to p2-izing a complete product.

 

Should I:

 

A) Build our product (features/plugins), generate p2 metadata for it, and then install it using the p2 director into a fresh unzip of the platform (eclipse-platform-3.4RC4-win32.zip), gef (GEF-runtime-3.4.0RC4.zip), etc, and have it just update the p2 directory coming from the platform runtime archive?  My assumption here is that GEF, EMF, etc won't be updatable since nothing ever p2-ized them (e.g. no p2 stuff in the GEF archive).

 

B) Build our product and extract it into a fresh unzip of the platform (eclipse-platform-3.4RC4-win32.zip), gef (GEF-runtime-3.4.0RC4.zip), etc, minus the p2 directory from the platform runtime archive, and then generate p2 metadata for all of it.  Then use the p2 director to create the p2 directory in this install.  This is the approach I have been trying but always get the 0.0.0 version errors for p2 plugin dependencies.

 

C) Something else?

 

Thanks,

Warren



From: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] On Behalf Of ext Warren.Paul@xxxxxxxxx
Sent:
Tuesday, June 10, 2008 3:15 PM
To:
equinox-dev@xxxxxxxxxxx
Subject:
RE: [equinox-dev] RE: Need help building a product with p2


I'm about to give up.  I've spent too long on this already and don't feel like I'm much closer to having it working than I was this time last week.  Here's where I'm at.  Any advice would be greatly appreciated.

 

- I build our product configuration which gives me a zip of our features, plugins, and root files.

- I run the packager on a clean install of the platform, emf, gef, etc. which gives me a zip of all of those with the features we don't want removed.

- I extract those two into a product layout.  There is no p2 directory and no p2 references in the config.ini file.  I can run this product with no problems, but it does generated a p2 directory, and I launch the updater.

 

I _think_ I'm supposed to run the p2 metadata generator on the entire product layout (platform, emf, gef, our stuff, etc).  That should allow all features/plugins/root files to be updated, correct?  The generation works OK.  Then I run the p2 director using the generated metadata.  Depending on how it feels when I run it, it will either generate a p2 directory only, or it will generate that plus features/plugins.  This is with the exact same everything, same eclipse, same machine, same cmd line.  No errors either way, so I have very little trust that the tools are working correctly at any given time.  Anyway, I put the p2 directory in the product layout and run it, and I always get the error:

 

!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2008-06-05
22:48:18.007
!MESSAGE
!STACK 0
org.osgi.framework.BundleException: The bundle could not be resolved.
Reason: Missing Constraint: Require-Bundle: org.eclipse.equinox.common;
bundle-version="0.0.0"
              at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHo
st.java:305)
              at
org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractB
undle.java:355)
              at
org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framewor
k.java:1074)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles
(StartLevelManager.java:616)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(Start
LevelManager.java:508)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLev
el(StartLevelManager.java:299)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent
(StartLevelManager.java:489)
              at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventMana
ger.java:211)
              at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventMa
nager.java:321)

 
 


From: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] On Behalf Of ext Andrew Niefer
Sent:
Friday, June 06, 2008 2:35 PM
To:
Equinox development mailing list
Subject:
RE: [equinox-dev] RE: Need help building a product with p2



What version of eclipse are you using?  You could try I20080606-0100.  There were a couple of bug fixes regarding 0.0.0 versions.

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


I'm not sure about the absolute paths in the config.ini.  Perhaps -roaming would help?


Also, in that build are some freshly written docs that may be useful:

Plug-in Development Environment Guide -> Tasks -> PDE Build advanced Topics -> PDE Build Integration with p2

Platform Plug-in Developer Guide -> Programmer's Guide -> Packaging and delivering Eclipse based Products -> Provisioning platform (p2)


-Andrew

<Warren.Paul@xxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/06/2008 09:43 AM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>


To
<equinox-dev@xxxxxxxxxxx>
cc
Subject
RE: [equinox-dev] RE: Need help building a product with p2









After much trial and error, I have our product being built and packaged
using the steps I described below.  Basically this:

- build our product config
- use the packager to pull the desired bits from the Eclipse SDK
- extract the product and eclipse bits into a product layout
- run the p2 metadata generator on that layout
- run the p2 director on the generated metadata to generate the p2
directory in the product layout


Unfortunately, the product fails to launch.  The first problem is that
the generated config.ini file has a full path to a plugin on the build
server:

osgi.bundles=reference\:file\:/D\:/Products/Carbide/Tommy_product/Produc
t_Layout/eclipse/plugins/org.eclipse.equinox.p2.reconciler.dropins_1.0.0
.v20080529-1800.jar@4\:start

Any idea why?  Is there a hidden option for full paths or something?
Any way to debug this?


Anyway, I change that manually to

osgi.bundles=reference\:file\:org.eclipse.equinox.p2.reconciler.dropins_
1.0.0.v20080529-1800.jar@4\:start

and launch again.  Now I get the errors below.  It would appear that the
p2 info contains 0.0.0 as required bundle versions for some bundles.  I
looked through the content.xml file and do see 0.0.0 is some locations.
The generator and director both ran without errors, and nothing was
generated in the .log file.  Again, I'm not sure how to debug this
problem.  Any help would be greatly appreciated.  I've basically spent
the entire week trying to get this to work to no avail and it's been a
very frustrating experience.  :)

Thanks,
Warren


!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2008-06-05
22:48:18.007
!MESSAGE
!STACK 0
org.osgi.framework.BundleException: The bundle could not be resolved.
Reason: Missing Constraint: Require-Bundle: org.eclipse.equinox.common;
bundle-version="0.0.0"
              at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHo
st.java:305)
              at
org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractB
undle.java:355)
              at
org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framewor
k.java:1074)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles
(StartLevelManager.java:616)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(Start
LevelManager.java:508)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLev
el(StartLevelManager.java:299)
              at
org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent
(StartLevelManager.java:489)
              at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventMana
ger.java:211)
              at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventMa
nager.java:321)

!ENTRY org.eclipse.osgi 2 0 2008-06-05 22:48:18.069
!MESSAGE One or more bundles are not resolved because the following root
constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2008-06-05 22:48:18.069
!MESSAGE Bundle
initial@reference:file:plugins/org.eclipse.equinox.p2.reconciler.dropins
_1.0.0.v20080529-1800.jar/ was not resolved.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.query_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing required bundle org.eclipse.equinox.common_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.configurator_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.director_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.metadata.query_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository_0.0.
0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.artifact.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.artifact.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.metadata.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.extensionlocation_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing required bundle
org.eclipse.equinox.p2.touchpoint.eclipse_0.1.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package org.eclipse.equinox.app_1.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.core.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.metadata_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.engine_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository_0.0.
0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.spi.p2.core.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.metadata.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.update_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.core_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.directorywatcher_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.069
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.core.helpers_0.0.0.

!ENTRY org.eclipse.osgi 2 0 2008-06-05 22:48:18.085
!MESSAGE The following is a complete list of bundles which are not
resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2008-06-05 22:48:18.085
!MESSAGE Bundle
initial@reference:file:plugins/org.eclipse.equinox.p2.reconciler.dropins
_1.0.0.v20080529-1800.jar/ [1] was not resolved.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing required bundle org.eclipse.equinox.common_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing required bundle
org.eclipse.equinox.p2.touchpoint.eclipse_0.1.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package org.eclipse.equinox.app_1.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.core.helpers_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.extensionlocation_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.artifact.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.metadata.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.p2.update_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.configurator_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.artifact.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.core_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.core.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.director_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.directorywatcher_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.engine_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.metadata_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.metadata.query_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.metadata.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.p2.query_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository_0.0.
0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.spi.p2.core.repository_0.0.0.
!SUBENTRY 2 org.eclipse.equinox.p2.reconciler.dropins 2 0 2008-06-05
22:48:18.085
!MESSAGE Missing imported package
org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository_0.0.
0.

-----Original Message-----
From: equinox-dev-bounces@xxxxxxxxxxx
[mailto:equinox-dev-bounces@xxxxxxxxxxx] On Behalf Of ext
Warren.Paul@xxxxxxxxx
Sent: Tuesday, June 03, 2008 3:04 PM
To: equinox-dev@xxxxxxxxxxx
Subject: [equinox-dev] RE: Need help building a product with p2

I finally have the p2 director running and generating good data.
Unfortunately, I don't know what fixed it.  :)  The cmd line is exactly
the same.  I was getting JVM terminated dialogs after the p2 director
ran for a couple of minutes.  I rebooted my machine, installed RC3 (from
RC2), and tried again and got the JVM terminated once again.  Then I did
the same cmd line but also passed -clean.  It worked, and has been
working since!

More problems though.  I still can't get the product build to package
any org.eclipse stuff.  Maybe it's not supposed to?  I gave up that
route and decided to try using the Eclipse packager.  I copied the
template files and listed the features I was interested in.  It runs and
creates the zip file, but then I get this error:

BUILD FAILED
C:\Eclipse_3.4RC3\eclipse\plugins\org.eclipse.pde.build_3.4.0.v20080528\
scripts\
package.xml:86: The following error occurred while executing this line:
C:\Eclipse_3.4RC3\eclipse\plugins\org.eclipse.pde.build_3.4.0.v20080528\
scripts\
package.xml:51: The following error occurred while executing this line:
C:\testpackager3\workingPlace\package.all.xml:21: The following error
occurred w hile executing this line:
C:\testpackager3\workingPlace\package.all.xml:15: The following error
occurred w hile executing this line:
C:\Dev\Tommy\debug\eclipse\workspace\com.nokia.sdt.releng.tommybuilder\c
arbide.c
pp2\packager\customTargets.xml:16: The following error occurred while
executing this line:
C:\testpackager3\workingPlace\package..win32.win32.x86.xml:1600:
C:\testpackager
3\workingPlace\tmp\eclipse\win32.win32.x86\eclipse not found.

The generated Ant script is referencing a directory it never created.
No idea why.


Another issue I've run into is the headless product build fails if I
include the generate.p2.metadata stuff in the build.properties file.  It
fails when trying to delete the tmp directory because some of the
plugins are in use.  The appear to still be in use by the p2 metadata
generator.  If I remove that stuff from the build.properties file it
build fine.  For now I'm going to just try to run the metadata generator
from the command line myself after the product build.

So just to make sure I'm on the right track, here's my current thinking
on how it should work.  Please correct me if I'm wrong.

1) Create an Eclipse install with whatever we need to do our builds and
whatever we want to package that's pre-built (platform, cvs, emf, gef,
etc.)
2) Use that install to build our product from the cmd line.  Our product
only lists our features (no org.eclipse.*).
3) Use the packager to pull out the features we want to package from the
Eclipse install in (1)
4) Create a complete product layout from (2) and (3)
5) Run the p2 metadata generator on (4)
6) Run the p2 director on (5), generating a p2 directory in (4)


Thanks,
Warren





------------------------------

Message: 3
Date: Sat, 31 May 2008 07:41:37 -0500
From: <Warren.Paul@xxxxxxxxx>
Subject: [equinox-dev] RE: Need help building a product with p2
To: <equinox-dev@xxxxxxxxxxx>
Message-ID:
             
<78988A0C817D8B4F9734DE8EFCEA6F67019A4CFC@xxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain;                 charset="us-ascii"

Hi Andrew,

Changing the paths to URL's helped.  It now finds the product id
installIU, and takes a couple of minutes.  But it eventually comes back
with "Installation failed".  I wasn't sure what to put for profile.  I
assume PlatformProfile?  I tried that, SDKProfile, and remove the
profile option altogether.  I get the same error each time.  Is there a
way to get more details on what failed?  A verbose option perhaps?

Here's exactly how I'm invoking the director:

eclipsec.exe -nosplash -application
org.eclipse.equinox.p2.director.app.application -metadataRepository
file:C:\testproduct2\repository -artifactRepository
file:C:\testproduct2\repository -installIU com.nokia.carbide.cpp.product
-destination C:\testproduct2\eclipse -profile PlatformProfile
-profileProperties org.eclipse.update.install.features=true -bundlepool
C:\testproduct2\eclipse -p2.os win32 -p2.ws win32 -p2.arch x86 -roaming
-vmargs -Declipse.p2.data.area=C:\testproduct2\eclipse\p2


where C:\testproduct2\eclipse is where I exported the product to, and
C:\testproduct2\repository is what PDE generated for the product.

Thanks,
Warren


------------
Date: Fri, 30 May 2008 16:20:35 -0400
From: Andrew Niefer <aniefer@xxxxxxxxxx>
Subject: Re: [equinox-dev] Need help building a product with p2
To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
Message-ID:
             
<OFA0E574FE.7D42A298-ON85257459.00539CEC-85257459.006FBEE4@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"

Warren,

1) This is what I notice when I tried running your director command on a
product I exported:
-  the "-metadataRepository" and "-artifactRepository" values need to be
URLs: use "file:C:\testproduct\repository"
- I found I needed to specify -installIU to get anything out.  In this
case the IU is the product ID
- althrough not strictly necessary since the generated config.ini will
specify its location, you might want to put the p2.data.area in the same
folder as -destination.

My test product does not contain p2 bundles so I have not tried the
Software updates.





<Warren.Paul@xxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx
05/29/2008 08:25 PM
Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>


To
<equinox-dev@xxxxxxxxxxx>
cc

Subject
[equinox-dev] Need help building a product with p2






I've received some help from Andrew in this Bugzilla (
https://bugs.eclipse.org/bugs/show_bug.cgi?id=226614) but I'm still
having problems so I thought I'd take it to the list rather than in that
Bugzilla.
We've been shipping an IDE product based on Eclipse for a few years now.

The way we've built our product in the past is essentially this:
1) Download the platform runtime, EMF, GEF, etc.. from eclipse.org and
extract them into a product layout directory.
2) Checkout and tag our features and plugins
3) Use headless feature build on all of our features, and extract the
generated archives into the product layout directory.
4) Copy our modified version of config.ini, .eclipseproduct, etc. into
the product layout directory.
5) Generate an update site based on the generated features/plugins.
This gives us a full product layout for new installs, and allows users
with older installs of our product to update to the new version using
the update site.
This process broke when we moved to Eclipse 3.4M6 when p2 was
introduced.
I've come to discover that we weren't really building it in the ideal
fashion to begin with, so I'm trying to do it the proper way so we can
get a properly p2-ized product layout and update site.
Andrew provided several useful links in that Bugzilla.  I've read about
doing product builds, using the p2 meta generator and p2 director.  I've

also played with the examples from EclipseCon presentation.
Here are some of the problems I'm having:
1) I created a .product file based on features.  I included our features

as well as those org.eclipse features that we bundle with.  When I
export it using the PDE product export from the UI, it generates a
directory containing everything we need - all features and plugins (ours
and org.eclipse.*), our branded launcher and ini file, .eclipseproduct
file,

config.ini file, jre, etc..  It of course does not contain the p2 data
though.  I told the exporter to generate a metadata repository which it
did.  I think I'm then supposed to run it through the p2 director to get

the proper p2 directory.  I tried this, and it generated something, but
I get the error "Cannot launch the Update UI.  This installation has not
been configured properly for Software Updates" when I try to go to
Help->Software Updates.  I assume I didn't get the command line correct
for the p2 director.  This is what I did:
eclipsec.exe -nosplash -application
org.eclipse.equinox.p2.director.app.application -metadataRepository
C:\testproduct\repository\ -artifactRepository
C:\testproduct\repository\ -destination C:\testproduct\eclipse\ -profile
PlatformProfile -profileProperties
org.eclipse.update.install.features=true -bundlepool
C:\testproduct\eclipse -p2.os win32 -p2.ws win32 -p2.arch x86 -roaming
-vmargs -Declipse.p2.data.area=C:\testproduct2\eclipse\p2
Any idea what I'm doing wrong?  I thought I should be passing -installIU

but wasn't sure what to pass with it.  I tried the product id but it
errored out saying it couldn't find the IU.

2) What I did in 1) was really just a test because we'll need to build
everything from the command line and not from the export wizard.  I
tried to build the product from the command line and kept getting an
error that org.eclipse.rcp could not be found.  I removed all
org.eclipse.* features from our product file and tried again.  Now it
builds, and it generates the repo directory because I added the stuff to
our build.properties file as instructed:
generate.p2.metadata=true
p2.metadata.repo = file:${buildDirectory}/repo p2.artifact.repo =
file:${buildDirectory}/repo p2.metadata.repo.name = Carbide.c++ Metadata
Repository p2.artifact.repo.name = Carbide.c++ Artifact Repository
p2.flavor = tooling p2.publish.artifacts=true This repo directory only
contains the two xml files though (artifacts.xml and content.xml),
unlike the product export which generated those as well as binary,
features and plugins directories.
The other issue is that none of the org.eclipse.* features/plugins are
included.  This is presumably because they're no longer in the .product
file, but I had to do that to get the build to work.  I tried creating a

master feature which just required all of our features and the
org.eclipse features, but still got the missing rcp error.  Note: in the
example2 from the EclispeCon zip, it builds a product and does include
the org.eclipse

stuff in the output.  This example is based on plugins rather than
features.  This is the only meaningful difference I could see in the
.product files.
I'm also confused about the topLevelElementType and topLevelElementId
attributes in the build.properties files.  I couldn't find any
documentation on these.  Ideally I'd put type=product and id=our product

id, and then I assume the installIU would be the product id?
Anyway, sorry for the long email, but I'm stuck and could really use
some help.
Thanks,
Warren

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev



------------------------------

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


End of equinox-dev Digest, Vol 37, Issue 45
*******************************************
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev