[
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