34
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

Find-Build-Share-Use

  • Upload
    binta

  • View
    42

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Find-Build-Share-Use

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

Page 2: Find-Build-Share-Use

First things first

What the hell is package management

about?

Page 3: Find-Build-Share-Use

Short, dull answer

A consistent and convenient method of bundling

together libraries, headers, binaries and resources…

Page 4: Find-Build-Share-Use

Short, dull answer

… that users can easily Find, Share, Build and

Use

Page 5: Find-Build-Share-Use

Needless expansion of statement

Discovery, Publication, Authoring

and Consumption

Page 6: Find-Build-Share-Use

Tell me something I don’t know

Managing libraries (on Windows) is really

hard.

Page 7: Find-Build-Share-Use

How bad can it be?

Even a ‘single’ library can have way too

damn many Variations.

Page 8: Find-Build-Share-Use

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 …

Page 9: Find-Build-Share-Use

Too many!

Crap, I ran out of fingers.

Needless to say, it’s just too many.

Page 10: Find-Build-Share-Use

Now What?

Ok.. So, any solution for this Has to support any number

ofArbitrary combinations

without limit.

Page 11: Find-Build-Share-Use

Secret to success

Find someone else to care about

what you care about, and make it their problem

Page 12: Find-Build-Share-Use

Clever reiterationSet the building on fire,

Take someone else’s stuff into the

building with you, And scream for help

like a baby.

Page 13: Find-Build-Share-Use

Dragging NuGet into the fire

NuGet works great* for

Managed libraries. Right?

Page 14: Find-Build-Share-Use

8-Ball Answer

All signs point to ‘yes’

Page 15: Find-Build-Share-Use

8-Ball Answer

Stupid 8-ball.

Page 16: Find-Build-Share-Use

From the Duck Tape & Bailing Twine Department

So we added a couple

tiny features to NuGet

Page 17: Find-Build-Share-Use

From the Duck Tape & Bailing Twine Department

And I spent four months cranking out an

insanely complex authoring tool.

Page 18: Find-Build-Share-Use

That and $4 will get you a coffee at Starbucks

And I come up with the CoApp PowerShell

Tools

Page 19: Find-Build-Share-Use

How’s that work?

Basically a few toolsthat can assist building

All those damn variations…

Page 20: Find-Build-Share-Use

How’s that work?

…And then collect all the bits up, and package

and publish them.

Page 21: Find-Build-Share-Use

Kindergarten

This is where we play Show and tell.

Page 22: Find-Build-Share-Use
Page 23: Find-Build-Share-Use

So, now what?

I’m lonely--Please come play

with me!

Page 24: Find-Build-Share-Use

Awwwwww

That’s the price I pay for being an Open

Source guy At Microsoft.

Page 25: Find-Build-Share-Use

Not so subtle pleaWe could sure use helpBuilding, publishing

and maintaining libraries

(Ooh… and documentation!)

Page 26: Find-Build-Share-Use

Plug the site, man!

http://coapp.org

Page 27: Find-Build-Share-Use

Whoa, questions...

Does this work on Linux or Mac or <whatever>?

Page 28: Find-Build-Share-Use

Look, the goodyear blinp!

NuGet runs on Mono, so consumption side

would be really, really close.

Page 29: Find-Build-Share-Use

D’oh!

Authoring has a few dependencies on

Windows libraries still (and…uh, powershell)

Page 30: Find-Build-Share-Use

Really?

However, it’s not insurmountable to remove

those (and switch to cmdline tools instead of

cmdlets)

Page 31: Find-Build-Share-Use

Back in that burning building

But, I’d need some help to

make sure I didn’t #*$! it up.

Page 32: Find-Build-Share-Use

Get the tools

http://CoApp.org/releases

Page 33: Find-Build-Share-Use

THE@fear

Get Involved!

http://CoApp.org

cowboy

Page 34: Find-Build-Share-Use

MicrosoftMicrosoftMicrosoftMicrosoft

Your potential . Our passion .™

®