[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] Product Exporting with Software Update Feature
|
Hi Bill,
Just for your and other's information...currently, there is a policy in
Eclipse/p2 that has the feature version info set to 'exact match'. For
example, as you indicate below, in the p2 feature (controlled by the
Eclipse platform project), is this
<plugin
id="org.eclipse.ecf"
download-size="0"
install-size="0"
version="3.1.0.v20100529-0735"
unpack="false"/>
What this means is that if you use the p2 feature in your own product,
it then requires that the ECF bundle versions be an exact match with
this version...version="3.1.0.v20100529-0735" i.e. it cannot be a
newer/some other version of ECF. That's why the complaint upon
building your product...because the ECF version that you had
installed/in your target platform was not the same version as the one
specified by the p2 feature.
Just for your and other's information, we/ECF are moving toward a
slightly more relaxed structure for our feature version matching, so
that consumers will be able to use some ECF features (e.g. remote
services) in other-than-Eclipse runtime contexts (e.g. on OSGi servers)
and be able to more easily/rapidly upgrade their ECF features without
running into what you ran into given this exact version match policy.
Among other things, this requires that we be very careful with our
feature version changes and our feature include structure.
There is a discussion going on the rt-pmc mailing list about the p2
repository policies...e.g. see the following posting by Markus about our
intentions WRT relaxing these policies for our own p2 repo generation.
http://dev.eclipse.org/mhonarc/lists/rt-pmc/msg01978.html
For reference, see also Jeff McAffer's response and relevant bugs
http://dev.eclipse.org/mhonarc/lists/rt-pmc/msg01979.html
https://bugs.eclipse.org/bugs/show_bug.cgi?id=309147#c2
https://bugs.eclipse.org/bugs/show_bug.cgi?id=249745
The main reason for ECF to relax this exact version match policy is to
make it easier for consumers to get and update ECF features in
non-Eclipse contexts...like OSGi servers. Note this relaxation is for
the ECF SDK features only, and doesn't imply anything about Eclipse's
version range matching policy (or any other project's for that matter).
So the p2/Eclipse version matching will likely remain the same at least
in the short-term (meaning that if you use/reuse the Eclipse p2 feature
for your own product build, it will therefore require that a specific
version of the parts of ECF that are included with p2/Eclipse...i.e. ECF
core, identity, and filetransfer (as you've found). We/ECF don't have
any say in the version matching policy for Eclipse or other projects
(even when it's ECF bundles being used), so unfortunately we can't
address your difficulty here directly.
So in any event, this little interlude was just for your and everyone's
information. If you wish to become involved in the discussion about
repo creation policy, version matching policies within and across
projects, etc., please see the links below.
Scott
bill reynolds wrote:
Scott,
Thank you for the suggestions. The net is that the "hello world" app
does export as expected when using classic 3.6.0 and no additional
downloading of ECF.
The next step is to package some real ECF functionality. I will let the list
know if there are any issues.
Many thx.
- Bill
1)
Start with a fresh install of Eclipse 3.6.0. Don't install ECF SDK.
Installed eclipse-SDK-3.6-win32
The plug ins folder contains:
org.eclipse.ecf.filetransfer.source_4.0.0.v20100529-0735.jar
org.eclipse.ecf.filetransfer_4.0.0.v20100529-0735.jar
org.eclipse.ecf.identity.source_3.1.0.v20100529-0735.jar
org.eclipse.ecf.identity_3.1.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer.httpclient.source_4.0.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source_1.0.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer.httpclient.ssl_1.0.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer.httpclient_4.0.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer.source_3.1.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer.ssl.source_1.0.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20100529-0735.jar
org.eclipse.ecf.provider.filetransfer_3.1.0.v20100529-0735.jar
org.eclipse.ecf.source_3.1.0.v20100529-0735.jar
org.eclipse.ecf.ssl.source_1.0.0.v20100529-0735.jar
org.eclipse.ecf.ssl_1.0.0.v20100529-0735.jar
org.eclipse.ecf_3.1.0.v20100529-0735.jar
The .\eclipse\features\org.eclipse.equinox.p2.user.ui_2.0.0.v20100503-897HFZ-FdHjO2NQo0sD_Nt
feature.xml contains
<plugin
id="org.eclipse.ecf"
download-size="0"
install-size="0"
version="3.1.0.v20100529-0735"
unpack="false"/>
The ECF plug-in versions are all "...v20100529-0735".
2)
Look in the plugins directory and verify that the appropriate
version of that bundle is present.
The .\eclipse\plugins folder contains ECF files "...v20100529-0735".
3) Create a plugin project "app" based on the "RCP Mail" template.
4) Create a product configuration for "app".
5) Create a feature project called "app.feature" which references "app" plugin
6) Add org.eclipse.rcp to the list of included features.
7) Open the product config and change it to a feature based configuration.
8) Add the feature to the product dependency list.
9) Launch the product from the product configuration.
According to http://swtxml.com/blog/eclipsercp/p2_updates_tutorial,
If you have started the product already, please delete the existing run
configuration before launching the product again (the dependencies are applied
to the run configuration only when a new run configuration is created):
10) Add org.eclipse.equinox.p2.user.ui feature to the list of included features
for the "app.feature".
11) Add org.apache.commons.logging as required plug-in to "app.feature".
12) Open the run configuration for the product
13) Go to the Plugins tab
14) Click "Add required plugins" (77 -> 99).
15) Click "Apply".
16) Click "Run".
17) Verify the two additional p2 menu items in the help menu.
18) Close the application.
19) In app.product, click "Eclipse Product Export Wizard".
20) Enter a directory path and click "Finish".
21) Run the result product.
Runs OK
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev