← Back to team overview

coapp-developers team mailing list archive

Re: What packages do you want to see?

 

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.



Follow ups

References