[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Re: [p2-dev] who should declare dependencies on ds?

Note that Equinox does have the ability to declare non-code dependencies in bundle manifests. See Eclipse-GenericCapability and Eclipse-GenericRequire headers at:

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/bundle_manifest.html

This could be used by the DS implementation to declare a DS runtime capability and bundles defining DS components could declare a requirement on the DS runtime capability. But this mechanism only describes resolve time dependencies. It still would not solve Jeff's other concerns about the need to have DS active in order to truly work. Also note that p2 meta-data currently does not reflect the generic capabilities/requirements declared in a bundle manifest so even if we specified these today I don't think it would really help in ensuring a DS runtime is provisioned by p2. Perhaps we should consider adding that to p2?

Also note that the OSGi alliance is currently looking at providing a standard way for declaring generic capabilities and requirements for a future core specification. We should keep an eye on this space and feed any additional requirements we may have to OSGi in this area.

Tom



Inactive hide details for Jeff McAffer ---04/01/2010 11:46:32 AM---It should be up to the system integrator. Actually, there shJeff McAffer ---04/01/2010 11:46:32 AM---It should be up to the system integrator. Actually, there should be metadata (in p2) that expresses the need for various servic


From:

Jeff McAffer <jeff@xxxxxxxxxxxxxxxxx>

To:

P2 developer discussions <p2-dev@xxxxxxxxxxx>

Cc:

Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

Date:

04/01/2010 11:46 AM

Subject:

[equinox-dev] Re: [p2-dev] who should declare dependencies on ds?




It should be up to the system integrator. Actually, there should be metadata (in p2) that expresses the need for various services to be present to make the integrator's job easier but ultimately inclusion/activation/... are in the eye of the beholder. So we should not cod classpath (bundle or package) dependencies, rather we need more markup in p2 metadata to capture these non-classpath-related dependencies.

More detail: In this case you could declare a package dependency on the ds package but that will only get you the interfaces and not the implementation. The producer could similarly declare a bundle dependency on the Equinox ds bundle. This is short sighted as there are other DS implementations. Various p2 features could include the Equinox DS bundle. This is better but suffers from the same problem--that feature would not be usable with other DS implementations.

Note that the problem is a friend of the HTTP service, Help system and myriad of other situations where people need a service to be there but there is no clear declaration of that dependency.

Note also that simply having DS there is not enough. It needs to be started. This is a product/launch level concern (i.e., the DS bundle can/should not say that it should always be started).

So, unless the p2/ds problem is burning, it would be better to address the underlying issue than ad hoc addressing of the symptoms.

Jeff

On 2010-04-01, at 12:21 PM, Susan Franklin McCourt wrote:
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


GIF image

GIF image