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

213 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 | || ||

×