tag | 14ca7c6c1ca5301b2e7af6b4ea026b51df1d25fb | |
---|---|---|
tagger | The Android Open Source Project <initial-contribution@android.com> | Mon Apr 23 09:50:08 2018 -0700 |
object | 6faa47f47bb9f6897837c4df1c162fea84ef300d |
Gradle Plugin Release 3.1.2
commit | 6faa47f47bb9f6897837c4df1c162fea84ef300d | [log] [tgz] |
---|---|---|
author | android-build-team Robot <android-build-team-robot@google.com> | Thu Feb 01 14:56:49 2018 +0000 |
committer | android-build-team Robot <android-build-team-robot@google.com> | Thu Feb 01 14:56:49 2018 +0000 |
tree | 33b7f133cde1e232631c8287b848a7d8d3254652 | |
parent | ab8b0dd8f56fa2b9bebc25b81344b77a4b62cecc [diff] | |
parent | e006a4d19df960cf6f51d7ace58a6c97719e793e [diff] |
Snap for 4579330 from e006a4d19df960cf6f51d7ace58a6c97719e793e to studio-3.1-release Change-Id: I95538414170ad1f5e2a2fae86a1af79ffeb958a5
This document describes how to import changes from upstream repo (https://github.com/JetBrains/jdk8u*.git). Before doing these, you need forge-author
, forge-committer
and direct-push
permissions for the relevant projects in jetbrains-master-mirror
and jetbrains-master-mirror-osx
branches.
JetBrains's projects have two branches - master
and master-osx
that we need to track. The master
branch is used for linux and windows. The master-osx
branch is used for mac. These map to jetbrains-master-mirror
and jetbrains-master-mirror-osx
respectively in our tree. No change should be made directly to these branches and they should track the upstream bit-for-bit. After importing the changes from jetbrains into these mirror branches, we can merge them into studio-master-dev
and studio-master-dev-osx
. Any changes made by us, should be made to studio-master-dev
.
There is an auto-merger from studio-master-dev
to studio-master-dev-osx
. So, any change made should be available for both branches.
repo init -u persistent-https://googleplex-android.git.corp.google.com/platform/manifest -b openjdk repo sync # Do not use '-c' here
merge.sh
with the following contents and grant it execute permissions:#!/bin/bash PROJECT_NAME=$(basename $REPO_PROJECT) # Make sure we're in a clean state. git checkout aosp/studio-master-dev # to make sure local_copy isn't checked out git branch -D local_copy local_copy-osx # Fetch changes and push to jetbrains-master-mirror. git fetch https://github.com/JetBrains/$PROJECT_NAME.git master:local_copy git fetch https://github.com/JetBrains/$PROJECT_NAME.git master-osx:local_copy-osx git push aosp local_copy:refs/heads/jetbrains-master-mirror git push aosp local_copy-osx:refs/heads/jetbrains-master-mirror-osx # Merge the mirror into studio-master-dev and upload to gerrit COMMIT_MSG="Merge 'jetbrains-master-mirrorSUFFIX' into studio-master-devSUFFIX" # edit as needed. git branch -D studio-master-dev studio-master-dev-osx git checkout -b studio-master-dev -t aosp/studio-master-dev git merge -m "${COMMIT_MSG//SUFFIX/}" local_copy repo upload --br=studio-master-dev $REPO_PROJECT
repo forall -c ./merge.sh # assuming merge.sh is in the current dir.
The above should create a merge CL per project that you can review in gerrit and submit.
There is an auto-merger from studio-master-dev
to studio-master-dev-osx
. Once the merge submitted above has merged into studio-master-dev-osx
, continue with the following steps.
Create another file called merge2.sh
with the followning contents and grant it execute permissions:
#!/bin/bash COMMIT_MSG="Merge 'jetbrains-master-mirrorSUFFIX' into studio-master-devSUFFIX" # edit as needed. git checkout -b studio-master-dev-osx -t aosp/studio-master-dev-osx git merge -m "${COMMIT_MSG//SUFFIX/-osx}" local_copy-osx repo upload --br=studio-master-dev-osx -D studio-master-dev-osx $REPO_PROJECT
repo forall -c ./merge2.sh
You can add the following lines to ~/.gitconfig
to skip “are you sure you want to upload” question from repo.
[review "https://android-review.googlesource.com/"] autoupload = true
repo forall -c git checkout aosp/studio-master-dev-osx
.repo forall -c git checkout goog/mirror-studio-master-dev-osx