When a developer consumes a shared library (say, zlib), they consume the
library by binding to a library that is identified by NAME, PLATFORM (x86/x64),
VERSION and PUBLICKEYTOKEN ... the publicKeyToken is derived from the public
key of the signing certificate.
So, if the publisher of zlib wants to publish one for VC9 and one for VC10 they
have to have two authenticode certificates. A bit of a pain, yes. But we can
have the same version of the library installed for multiple compilers at the
same time, and never have a conflict.
Ahh! That's a great solution!
Boost immediately comes to mind as a project that intrinsically supports being
built in all sorts of ways (different compilers, optimisations, etc), so the
publicKeyToken approach will work very well, IMO.
....and here's some thoughts out loud:
New user story:
I'm a Windows developer that wants to consume a bunch of CoApp projects. I
need to know all of their NAME, PLATFORM, VERSION and PUBLICKEYTOKEN details
with minimal fuss (I don't want to go to each project's website and have to
find the details individually).
I'd like to go to http://use.coapp.org, be presented with a Google-like
minimalist page; search box and not much else. I'd like to type in `python
boost apr zlib libpng` and then be presented with search results that clearly
depict the latest versions of each, with NAME/PLATFORM/VERSION and
PUBLICKEYTOKEN details readily available. For projects with multiple builds
(i.e. Boost), and thus, multiple PUBLICKEYTOKENS, I want clear descriptions of
which build does what.
Follow on questions:
What do I do with this information when I get it? Do I plug it into an XML
file that gets consumed/processed by the CoApp tool chain? If so, couldn't
http://use.coapp.org just generate the XML file for me? i.e. after I type in
the projects I want, I get search results with check boxes; I tick the ones I
want, press a 'Generate' button, and wallah, I get my XML file that describes
all my dependencies.
_______________________________________________
Mailing list: https://launchpad.net/~coapp-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~coapp-developers
More help : https://help.launchpad.net/ListHelp