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.
AOSP에 컨트리뷰션 하기
SeongJae Park
반갑습니다!
<name>
SeongJae Park
</name>
<email>
sj38.park@gmail.com
</email>
컨트리뷰션?
【명사】
1.[불] (또는 a contribution) […에의] 기부, 출자, 기여, 공
헌, 조력, 기고, 투고[to, toward ‥]; 발언(하는 것)
a contribution of $50,000 ...
AOSP?
Android Open Source Project
From
community
Google internal
source treeAOSP
From
Googler
Release
Android is an OSS stack
* OSS : Open Source Software
AOSP 관리에 사용되는 도구
● git : Android를 구성하는 각 프로젝트의 VCS
● repo : 프로젝트들의 repository를 통합 관리
● gerrit : web 기반 소스코드 리뷰 시스템
컨트리뷰션 프로세스
소스 다운로드gerrit 설정
목표 설정
패치 작성
패치 업로드 Merged / Abandoned
Commented
리뷰
gerrit 설정
구글 계정으로 로그인
https://android-review.googlesource.com/#/
Contributor agreement에 동의
HTTP password 획득, ~/.netrc 설정
gerrit 설정 - contributor agreement
gerrit 설정 - contributor agreement
gerrit 설정 - contributor agreement
gerrit 설정 - contributor agreement
Gerrit 설정 - HTTP password
Gerrit 설정 - HTTP password
Gerrit 설정 - HTTP password
소스 다운로드
$ repo init -u 
https://android.googlesource.com/platform/manifest
$ repo sync
repo init
● .repo 디렉토리 구성
● 최신 repo 다운로드
● 전체 프로젝트 작업디렉토리 구성 매니페스
트 다운로드/설정
repo init
.repo/manifest.xml
repo sync
● 각 project 를 clone, 작업 directory 구성
● manifest 설정대로 remote.aosp 설정
● git hook 설치
목표 설정
버그 레포트 페이지
http://code.google.com/p/android/issues/list
토론의 장
https://groups.google.com/forum/?fromgroups#!
forum/an...
수정사항 만들기
Topic branch
$ repo start <branch_name> <project path>
코드 스타일 가이드라인
http://s.android.com/source/code-style.html
수정사항 만들기
소스 수정은 각자 편한대로.
(취향입니다. 존중해 주시죠?)
패치 업로드
push 대신 repo upload
$ git add -A
$ git commit -s
$ repo upload
Review process
Review process
Need Verification, approval
Add reviewer
리뷰어를 잘 골라야 진행이 편합니다.
git log 또는 gerrit 기록을 참고, 리뷰어 선택
패치 내용 수정하기
패치에 실수가 있었거나, 수정을 권고받으면?
$ git commit --amend
$ repo upload
패치 내용 수정하기
요점은 Change-ID
패치 내용 수정하기
repo가 설치한 commit-msg hook이 생성
패치 내용 수정하기
결국, Change-ID는,
"""tree 8bc51ccbccd3f90c131b1acd747bf869c2d569d4
parent f26d9d5884339dc450831dd453bbb77b4e77d9e...
Summary
소스 다운로드
repo init -u ...
repo sync
목표 설정
패치 작성
repo start
패치 업로드
git add -A
git commit [--amend]
repo upload
Merge...
Thank you
References
http://s.android.com/
https://android-review.googlesource.
com/Documentation/index.html
http://code.google.com/...
AOSP에 컨트리뷰션 하기   dev festx korea 2012 presentation
Upcoming SlideShare
Loading in …5
×

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

1,852 views

Published on

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

Published in: Technology
  • Be the first to comment

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/

×