How to do it...

  1. It is recommended that you create a Roslyn issue at https://github.com/dotnet/roslyn/issues for your planned work and also discuss it with Roslyn team members prior to coding to avoid any unnecessary or redundant work.
  2. Make the source changes that you would like to contribute to the Roslyn code base in your local enlistment. For example, execute the recipe, Implementing a new semantic error in the C# compiler code base, covered earlier in this chapter.
  3. Add sufficient unit tests for your code changes. For example, execute the recipe, Writing unit tests for a new error in C# compiler code base, covered earlier in this chapter.
  4. Execute Test.cmd at the root of the repo to build and run all the tests to confirm that there are no regressions with your changes. For reference, see the recipe, Setting up Roslyn enlistment at the start of this chapter.
  5. Create a new git branch, add and commit your changes, and push them to the origin. For git help, search at https://help.github.com/.
  6. Sign the .NET Contributor License Agreement (CLA) at http://cla2.dotnetfoundation.org/ before sending the pull request.
  7. Follow the steps at https://help.github.com/articles/creating-a-pull-request/ to start a new pull request with your branch.
  1. Fill out the pull request template in the description tab of the pull request. You can edit this information even after creating a pull request.
  2. After creating a pull request, add a new comment tagging the compiler and/or the IDE team to review the changes:
    • Compiler team: @dotnet/roslyn-compiler
    • IDE team: @dotnet/roslyn-ide
  3. Make the requested code changes from the reviewers and ensure there are no merge conflicts in your branch.
  4. After you get at least two approvals and all the tests pass on the pull request, you can request your changes to be merged in by the team members.
You can read the Contributing Code guidelines for the Roslyn repo at https://github.com/dotnet/roslyn/wiki/Contributing-Code for further details.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset