[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Development of dropins bundle deployment capability

p2 reconciler depends on pretty much all of p2.
Here is a quick explanation of what p2 does without the reconciler
- When the user wants something to install, p2 connects to the URL provided by the user and downloads two files content.jar and artifacts.jar. The first one contains the list of all the entities that are installable and all their dependencies.
- After the user selected an IU to install and proceeds with the installation, p2 will perform dependency resolution in order to make sure that the software can actually be installed. (see org.eclipse.equinox.p2.director bundle)
- If this resolution phase succeeded, then p2 downloads the jars from the artifact repository and (parts of this are in org.eclipse.equinox.p2.engine)
- Once the artifacts are all downloaded then the jars are configured which ends up modifying bundles.info file (the code to write this file is in org.eclipse.equinox.simpleconfigurator.manipulator, the reader is in org.eclipse.equinox.simpleconfigurator), also write other eclipse configuration files like the config.ini and the eclipse.ini.
- The end

Then upon startup osgi loads the config.ini, see that it needs to run the simpleconfigurator bundle, the bundles.info is read, it installs all the bundles, ...


Now because of all the things we just described, the work of the reconciler is not as simple as adding a line in the bundles.info. HEre are some details
- When the user puts a bundles in the dropins folder, a mechanism finds that a new file has been added.
- A content.jar & artifacts.jar are created on the fly to represent this bundle
- The reconciler then takes all the entries from the content.jar and then at this point we are back to the process previously described. What I mean is that it is like if the reconciler was the user making a selection on what to install.
- This means that if a bundle is missing some dependencies (they are not already installed and are not in the dropins), then the bundle will never be listed in the bundles.info.

HTH

Pascal

On 15-11-08 08:34 AM, Chiranga Alwis wrote:
Hi,

I have posted a question with regards to developing using Equinox P2 associated with dropins bundle deployment capability. 

I have posted this question in stackoverflow forum as well hence I have provided the link to the question I have asked. Any advice and help is highly appreciated.



_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/p2-dev