Code review comment for lp://staging/~macslow/unity-notifications/modal-snap-decisions

Revision history for this message
MichaƂ Sawicz (saviq) wrote :

You're right, in a sense, that this implements both v2 and v3 of the Notifications API, but I don't think we're at the point where we care. Just drop the -impl-2 and replace with -impl-3 please.

The whole idea is like so:
unity-api defines the API by providing headers, for each group of interfaces (application, notifications etc.), there's a pkg-config file (i.e. unity-notifications.pc), which in the Version field defines the version of the API implemented. Right now it's manual, but we'll make it automagic, that unity-notifications-impl-$version will be generated from this .pc file.

Then, any consumer of this API (unity8 in our case) depends on $default-implementation-real-package | unity-$interface-impl, unity-$interface-impl-$version. We wouldn't need the first bit, but dpkg would choke on only-virtual dependency like that.

On top of that, the unity-api tests will be ran against the actual implementation to verify the expected API.

Makes some sense now? The idea is to ensure shell-facing API stability and allow for easy drop-in replacements, as long as they implement the same interfaces.

review: Needs Fixing

« Back to merge proposal