AOSP에 컨트리뷰션 하기 dev festx korea 2012 presentation

967 views
749 views

Published on

dev festx korea 2012 행사 때 발표했던, AOSP에 컨트리뷰션 하는 방법을 다룬 발표자료입니다.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
967
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

AOSP에 컨트리뷰션 하기 dev festx korea 2012 presentation

  1. 1. AOSP에 컨트리뷰션 하기 SeongJae Park
  2. 2. 반갑습니다! <name> SeongJae Park </name> <email> sj38.park@gmail.com </email>
  3. 3. 컨트리뷰션? 【명사】 1.[불] (또는 a contribution) […에의] 기부, 출자, 기여, 공 헌, 조력, 기고, 투고[to, toward ‥]; 발언(하는 것) a contribution of $50,000 to the project 계획에 대한 5만 달러의 출자 America's contribution to the peaceful development of Asia 아시아의 평화적 개발에 대한 미국의 공헌 make a small[a large] contribution toward revising the law 법률 개정에 약간[크게] 기여하다.
  4. 4. AOSP? Android Open Source Project From community Google internal source treeAOSP From Googler Release
  5. 5. Android is an OSS stack * OSS : Open Source Software
  6. 6. AOSP 관리에 사용되는 도구 ● git : Android를 구성하는 각 프로젝트의 VCS ● repo : 프로젝트들의 repository를 통합 관리 ● gerrit : web 기반 소스코드 리뷰 시스템
  7. 7. 컨트리뷰션 프로세스 소스 다운로드gerrit 설정 목표 설정 패치 작성 패치 업로드 Merged / Abandoned Commented 리뷰
  8. 8. gerrit 설정 구글 계정으로 로그인 https://android-review.googlesource.com/#/ Contributor agreement에 동의 HTTP password 획득, ~/.netrc 설정
  9. 9. gerrit 설정 - contributor agreement
  10. 10. gerrit 설정 - contributor agreement
  11. 11. gerrit 설정 - contributor agreement
  12. 12. gerrit 설정 - contributor agreement
  13. 13. Gerrit 설정 - HTTP password
  14. 14. Gerrit 설정 - HTTP password
  15. 15. Gerrit 설정 - HTTP password
  16. 16. 소스 다운로드 $ repo init -u https://android.googlesource.com/platform/manifest $ repo sync
  17. 17. repo init ● .repo 디렉토리 구성 ● 최신 repo 다운로드 ● 전체 프로젝트 작업디렉토리 구성 매니페스 트 다운로드/설정
  18. 18. repo init .repo/manifest.xml
  19. 19. repo sync ● 각 project 를 clone, 작업 directory 구성 ● manifest 설정대로 remote.aosp 설정 ● git hook 설치
  20. 20. 목표 설정 버그 레포트 페이지 http://code.google.com/p/android/issues/list 토론의 장 https://groups.google.com/forum/?fromgroups#! forum/android-contrib
  21. 21. 수정사항 만들기 Topic branch $ repo start <branch_name> <project path> 코드 스타일 가이드라인 http://s.android.com/source/code-style.html
  22. 22. 수정사항 만들기 소스 수정은 각자 편한대로. (취향입니다. 존중해 주시죠?)
  23. 23. 패치 업로드 push 대신 repo upload $ git add -A $ git commit -s $ repo upload
  24. 24. Review process
  25. 25. Review process Need Verification, approval
  26. 26. Add reviewer 리뷰어를 잘 골라야 진행이 편합니다. git log 또는 gerrit 기록을 참고, 리뷰어 선택
  27. 27. 패치 내용 수정하기 패치에 실수가 있었거나, 수정을 권고받으면? $ git commit --amend $ repo upload
  28. 28. 패치 내용 수정하기 요점은 Change-ID
  29. 29. 패치 내용 수정하기 repo가 설치한 commit-msg hook이 생성
  30. 30. 패치 내용 수정하기 결국, Change-ID는, """tree 8bc51ccbccd3f90c131b1acd747bf869c2d569d4 parent f26d9d5884339dc450831dd453bbb77b4e77d9e5 author SeongJae Park <sj38.park@gmail.com> 1336637344 +0900 committer SeongJae Park <sj38.park@gmail.com> 1336637344 +0900 Test for devFestX""" 의 SHA-1
  31. 31. Summary 소스 다운로드 repo init -u ... repo sync 목표 설정 패치 작성 repo start 패치 업로드 git add -A git commit [--amend] repo upload Merged / Abandoned Commented 리뷰 gerrit 설정
  32. 32. Thank you
  33. 33. References http://s.android.com/ https://android-review.googlesource. com/Documentation/index.html http://code.google.com/p/gerrit/ http://code.google.com/p/gource/

×