Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributing to Chromium

Contributing to Chromium

Chromium is the open-source project behind Google’s Chrome web browser, and there’s nothing more satisfying than contributing to something you use. Except maybe a freshly opened can of Pringles. But how do you _actually_ contribute to it? We’ll talk about building Chromium locally, making changes, and sending them out for review.

Monica Dinculescu

February 10, 2015

More Decks by Monica Dinculescu

Other Decks in Programming


  1. (or: all your code could belong to us) chromium Contributing

  2. @notwaldorf [email protected]

  3. None
  4. the long con Act 1:

  5. open source ❤

  6. ❤ user impact


  8. giant codebase ❤

  9. ❤ NEED A beefy machine

  10. the SETUP Act 2:

  11. get the code

  12. fetch chromium

  13. git pull && gclient sync


  15. get the code build the code

  16. ninja -C out/Debug chrome get the code

  17. ninja -C out/Release chrome get the code

  18. ninja -C out/Release tests get the code

  19. get another coffee get the code

  20. get the code build the code make changes

  21. get the code build the code

  22. get the code build the code out/Debug/chrome.exe

  23. get the code build the code git commit

  24. get the code build the code review changes make changes

  25. get the code build the code make changes git cl

  26. let’s talk about tools Intermission!

  27. depot tools

  28. generate build files gclient sync

  29. ninja BUILD THE CODE

  30. git cl upload UPLOAD YOUR CODE

  31. git cl upload kinda like git push UPLOAD YOUR CODE

  32. git cl try TEST YOUR CODE ON BOTS

  33. git cl patch DOWNLOAD FROM CODE REVIEW

  34. GIT

  35. git pull GET THE NEW CODE

  36. git status -sb what is up?

  37. git checkout -b foo MAKE A BRANCH

  38. git rebase master UPDATE A BRANCH

  39. git commit SAVE YOUR CODE

  40. None
  41. None
  42. None
  43. None
  44. None
  45. None
  46. code reviews Act 3

  47. PIET MONDRIAN de stijl

  48. gerrit rietveld de stijl

  49. None
  50. None
  51. git cl upload

  52. None
  53. None
  54. None
  55. OWNERS & OWNER FILES Digression

  56. None
  57. None
  58. None
  59. git cl try

  60. codesearch tl; dr: crbug how to halp list halp irc

    https://code.google.com/p/chromium/codesearch https://code.google.com/p/chromium/issues/list [email protected] #chromium http://www.chromium.org/developers/how-tos/get-the-code halpful blog post http://meowni.ca/posts/chromium-101
  61. ❤ @notwaldorf