find-build-share-use
DESCRIPTION
Find-Build-Share-Use. == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett Serack @ FearTheCowboy Microsoft Open Source Technology Center. First things first. What the hell is package management about?. - PowerPoint PPT PresentationTRANSCRIPT
Find-Build-Share-Use
== Or ==What the hell can I tell you
about NuGet For C++ in the next 20 minutes that
won`t get me killed.Garrett Serack@FearTheCowboy
Microsoft Open Source Technology Center
First things first
What the hell is package management
about?
Short, dull answer
A consistent and convenient method of bundling
together libraries, headers, binaries and resources…
Short, dull answer
… that users can easily Find, Share, Build and
Use
Needless expansion of statement
Discovery, Publication, Authoring
and Consumption
Tell me something I don’t know
Managing libraries (on Windows) is really
hard.
How bad can it be?
Even a ‘single’ library can have way too
damn many Variations.
How many?Platforms : x86, x64, ARM
Configuration: Release/DebugLinkage: Static, Dynamic, LTCG, SxSTarget: Windows, StoreApps, Phone,
…Compiler:
VC6,VC7,VC8,VC9,VC10,VC11,GCC …
Charset: Unicode, MBCS, UTF8, UTF16 …
Calling Convention: Cdecl, Stdcall …
Too many!
Crap, I ran out of fingers.
Needless to say, it’s just too many.
Now What?
Ok.. So, any solution for this Has to support any number
ofArbitrary combinations
without limit.
Secret to success
Find someone else to care about
what you care about, and make it their problem
Clever reiterationSet the building on fire,
Take someone else’s stuff into the
building with you, And scream for help
like a baby.
Dragging NuGet into the fire
NuGet works great* for
Managed libraries. Right?
8-Ball Answer
All signs point to ‘yes’
8-Ball Answer
Stupid 8-ball.
From the Duck Tape & Bailing Twine Department
So we added a couple
tiny features to NuGet
From the Duck Tape & Bailing Twine Department
And I spent four months cranking out an
insanely complex authoring tool.
That and $4 will get you a coffee at Starbucks
And I come up with the CoApp PowerShell
Tools
How’s that work?
Basically a few toolsthat can assist building
All those damn variations…
How’s that work?
…And then collect all the bits up, and package
and publish them.
Kindergarten
This is where we play Show and tell.
So, now what?
I’m lonely--Please come play
with me!
Awwwwww
That’s the price I pay for being an Open
Source guy At Microsoft.
Not so subtle pleaWe could sure use helpBuilding, publishing
and maintaining libraries
(Ooh… and documentation!)
Whoa, questions...
Does this work on Linux or Mac or <whatever>?
Look, the goodyear blinp!
NuGet runs on Mono, so consumption side
would be really, really close.
D’oh!
Authoring has a few dependencies on
Windows libraries still (and…uh, powershell)
Really?
However, it’s not insurmountable to remove
those (and switch to cmdline tools instead of
cmdlets)
Back in that burning building
But, I’d need some help to
make sure I didn’t #*$! it up.
MicrosoftMicrosoftMicrosoftMicrosoft
Your potential . Our passion .™
®