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
Tweet

More Decks by Monica Dinculescu

Other Decks in Programming

Transcript

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

    View Slide

  2. @notwaldorf
    [email protected]

    View Slide

  3. View Slide

  4. the long con
    Act 1:

    View Slide

  5. open source

    View Slide


  6. user impact

    View Slide


  7. GOOD DOCUMENTATION

    View Slide

  8. giant codebase

    View Slide


  9. NEED A beefy machine

    View Slide

  10. the SETUP
    Act 2:

    View Slide

  11. get the code

    View Slide

  12. fetch chromium

    View Slide

  13. git pull && gclient sync

    View Slide

  14. GET A COFFEE

    View Slide

  15. get the code
    build the code

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. get another coffee
    get the code

    View Slide

  20. get the code
    build the code
    make changes

    View Slide

  21. get the code
    build the code

    View Slide

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

    View Slide

  23. get the code
    build the code
    git commit

    View Slide

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

    View Slide

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

    View Slide

  26. let’s talk about tools
    Intermission!

    View Slide

  27. depot tools

    View Slide

  28. generate build files
    gclient sync

    View Slide

  29. ninja
    BUILD THE CODE

    View Slide

  30. git cl upload
    UPLOAD YOUR CODE

    View Slide

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

    View Slide

  32. git cl try
    TEST YOUR CODE ON BOTS

    View Slide

  33. git cl patch
    DOWNLOAD FROM CODE REVIEW

    View Slide

  34. GIT

    View Slide

  35. git pull
    GET THE NEW CODE

    View Slide

  36. git status -sb
    what is up?

    View Slide

  37. git checkout -b foo
    MAKE A BRANCH

    View Slide

  38. git rebase master
    UPDATE A BRANCH

    View Slide

  39. git commit
    SAVE YOUR CODE

    View Slide

  40. View Slide

  41. View Slide

  42. View Slide

  43. View Slide

  44. View Slide

  45. View Slide

  46. code reviews
    Act 3

    View Slide

  47. PIET MONDRIAN
    de stijl

    View Slide

  48. gerrit rietveld
    de stijl

    View Slide

  49. View Slide

  50. View Slide

  51. git cl upload

    View Slide

  52. View Slide

  53. View Slide

  54. View Slide

  55. OWNERS & OWNER FILES
    Digression

    View Slide

  56. View Slide

  57. View Slide

  58. View Slide

  59. git cl try

    View Slide

  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

    View Slide


  61. @notwaldorf

    View Slide