Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
________________________________
< Extending the .NET CLI: >
<Custom tooling without all the work >
----------------------...
___________________
< Why is it Important? >
-------------------------------
 ^__^
 (oo) ________
(__) )/
||--------w |
||...
____________________________
< Did you know it was extensible? >
----------------------------------------------
 ^__^
 (**...
_________________________
< It’s extensible in three ways! >
-----------------------------------------
 ^__^
 (oo) _______...
______________________________
< Per project using NuGet packages! >
-------------------------------------------------
 ^_...
______________________________
< Custom build targets using NuGet >
< packages! >
----------------------------------------...
______________________________
< Adding tools to your system path!! >
-------------------------------------------------
 ^...
_________________________
< Conventions that need used >
-----------------------------------------
 ^__^
 (oo) ________
(_...
___________________________
< Any command line application, >
< not only .NET! >
-----------------------------------------...
________________________________
< It must be named dotnet-command >
----------------------------------------------------
...
Examples
on
NuGet
__________________
< Building Your Own >
-----------------------------
 ^__^
 (oo) ________
(__) )/
||--------w |
|| ||
Portable Operating System Interface
• IEEE standard
• Current version is 1003.1-2008
• Lots of conventions and standards
•...
POSIX Example
• utility_name -d[-a][-c option_argument][operand...]
___________________
< What’s all the fuss? >
-------------------------------
 ^__^
 (oo) ________
(__) )/
||--------w |
||...
POSIX Options
• Designated by '-'
• Not designated by '/'
GNU Coding Standards
• A good idea is to follow these too.
• All programs should support two standard options: ‘--version’...
POSIX/ GNU Short Name
• -h : gets the help
• -v : gets the version
GNU Long Name
• --help : gets the help
• --version : gets the version
__________________________
< Why do I need to know this? >
------------------------------------------
 ^__^
 (oo) ________...
___________________
< Let’s have a DEMO! >
-------------------------------
 ^__^
 (**) ________
(__) )/
||--------w |
|| ||
Per project example
<ItemGroup>
<DotNetCliToolReference Include="dotnet-codestock"
Version="1.0.0" />
</ItemGroup>
System Path Example
____________
< Questions? >
--------------------
 ^__^
 (oo) ________
(__) )/
||--------w |
|| ||
Upcoming SlideShare
Loading in …5
×

Extending the .NET CLI

505 views

Published on

Talk presented on extending the .NET CLI

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Extending the .NET CLI

  1. 1. ________________________________ < Extending the .NET CLI: > <Custom tooling without all the work > ---------------------------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || || Jamie Phillips Web: phillipsj.net Twitter: phillipsj73
  2. 2. ___________________ < Why is it Important? > ------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  3. 3. ____________________________ < Did you know it was extensible? > ---------------------------------------------- ^__^ (**) ________ (__) )/ ||--------w | || ||
  4. 4. _________________________ < It’s extensible in three ways! > ----------------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  5. 5. ______________________________ < Per project using NuGet packages! > ------------------------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  6. 6. ______________________________ < Custom build targets using NuGet > < packages! > ------------------------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  7. 7. ______________________________ < Adding tools to your system path!! > ------------------------------------------------- ^__^ ( .. ) ________ (__) )/ ||--------w | || ||
  8. 8. _________________________ < Conventions that need used > ----------------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  9. 9. ___________________________ < Any command line application, > < not only .NET! > -------------------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  10. 10. ________________________________ < It must be named dotnet-command > ---------------------------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  11. 11. Examples on NuGet
  12. 12. __________________ < Building Your Own > ----------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  13. 13. Portable Operating System Interface • IEEE standard • Current version is 1003.1-2008 • Lots of conventions and standards • 14 overall guidelines • https://tinyurl.com/POSIXCLI
  14. 14. POSIX Example • utility_name -d[-a][-c option_argument][operand...]
  15. 15. ___________________ < What’s all the fuss? > ------------------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||
  16. 16. POSIX Options • Designated by '-' • Not designated by '/'
  17. 17. GNU Coding Standards • A good idea is to follow these too. • All programs should support two standard options: ‘--version’ and ‘--help’. • https://tinyurl.com/GNUCLI
  18. 18. POSIX/ GNU Short Name • -h : gets the help • -v : gets the version
  19. 19. GNU Long Name • --help : gets the help • --version : gets the version
  20. 20. __________________________ < Why do I need to know this? > ------------------------------------------ ^__^ (oo) ________ (__) )/ ||--------w | || ||
  21. 21. ___________________ < Let’s have a DEMO! > ------------------------------- ^__^ (**) ________ (__) )/ ||--------w | || ||
  22. 22. Per project example <ItemGroup> <DotNetCliToolReference Include="dotnet-codestock" Version="1.0.0" /> </ItemGroup>
  23. 23. System Path Example
  24. 24. ____________ < Questions? > -------------------- ^__^ (oo) ________ (__) )/ ||--------w | || ||

×