# 우선 크롬 소스 다운로드 받고 빌드에 이상이 없는 환경이어야 한다.
# chromium mac build 포스트 참고
#
https://yoonbh2714.blogspot.kr/2018/03/chromium-mac-build_79.html# depot_tools 를 사용할 수 있도록 path 등록
export PATH="$PATH:${HOME}/workspace/depot_tools"
# 커밋 설명
#
https://www.chromium.org/developers/contributing-code# 로컬 브랜치 생성
git checkout -b ysoftman -t origin/master
# git config 설정
# 특이하게 gerrit 이라는 리뷰툴을 사용한다.
git config --global user.name "ysoftman"
git config --global user.email "ysoftman@gmail.com"
git config --global core.autocrlf false
git config --global core.filemode false
git config --global branch.autosetuprebase always
git config --local gerrit.host true
# chromium 에 처음으로 커밋한다면 AUTHORS 파일에 명시해야 한다.
# 커밋 설명 'legal stuff' 부분 참고
# 우선 개인 또는 기업으로 라이센스 동의서를 작성해야 한다.
# 개인(Individual Contributor License Agreement)
https://cla.developers.google.com/about/google-individual?csw=1# 기업
https://cla.developers.google.com/about/google-corporate?csw=1# 해당 포맷(Name <email address>)을 알파벳순서에 맞게 추가한다.
cd ~/workspace/chromium/src && vi AUTHORS
# upload (push) 하기
git cl upload
# 커밋 메시지는 다음과 같은 형식으로 작성한다.
Summary of change
Longer description of change addressing as appropriate: why the change is made,
context if it is part of many changes, description of previous behavior and
newly introduced differences, etc.
Long lines should be wrapped to 80 columns for easier log message viewing in
terminals.
Bug: 123456
# gerrit 에서 커밋에 대한 reviewer 지정하고 리뷰 시작 버튼을 클릭한다.
# 참고로 dry run(모의 테스트)는 committer만 실행할 수 있고 그냥 두면 된다.
# 예시
https://chromium-review.googlesource.com/c/chromium/src/+/1025544# reviewers 로부터 accept 가 되지 않는 경우
# 소스 수정이 필요한경우 우선 master 의 최신 내용을 pull 해 온다.
# 위에서 브랜치 생성시(checkout) master 브랜치를 트래킹(-t)하고 있기 때문에 master 브랜치가 pull 된다.
git pull
# 이제 소스 수정...
# 커밋
git ci -a
# 푸시
git cl upload
# merged 가 되면 chrome release 에서 명시된 버전별 change log 에서
# 커밋을 검색해 현재 어떤 채널과 버전을 파악할 수 있다.
# 위 예시 커밋은 68.0.3432.3 버전에 포함되어 있고 현재 dev 채널이다.
https://chromium.googlesource.com/chromium/src/+log/68.0.3423.2..68.0.3432.3?pretty=fuller&n=10000# 크롬 버전 릴리즈 현황 파악
https://chromereleases.googleblog.com/# major 버전업은 6주마다 적용되니 우선 dev 버전을 받아 미리 확인해볼 수 있다.
https://www.chromium.org/getting-involved/dev-channel