This folder contains tools to update the files in the aosp/expected_upstream branch.
aosp
is setup in your local git repository,
separatorgit branch local_expected_upstream aosp/expected_upstream git checkout local_expected_upstream
source ./tools/expected_upstream/install_tools.sh
For example, upgrade java.lang.String
to 11+28 version:
ojluni_modify_expectation modify java.lang.String jdk11u/jdk-11+28 ojluni_refresh_files
or if java.lang.String
is missing in EXPECTED_UPSTREAM:
ojluni_modify_expectation add jdk11u/jdk-11+28 java.lang.String ojluni_refresh_files
2 commits should be created to update the ojluni/src/main/java/java/lang/String.java
. You can verify and view the diff by the following command
git diff aosp/expected_upstream -- ojluni/src/main/java/java/lang/String.java
You can then upload your change to AOSP gerrit.
repo upload --cbr -t . # -t sets a topic to the CLs in the gerrit
Remember to commit your EXPECTED_UPSTREAM file change into a new commit
git commit -- EXPECTED_UPSTREAM
Then upload your change to AOSP gerrit.
repo upload --cbr -t . # -t sets a topic to the CLs in the gerrit
Then you can switch back to your local master
branch to apply the changes
git checkout <local_master_branch> git merge local_expected_upstream # Resolve any merge conflict git commit --amend # Amend the commit message and add the bug number you are working on repo upload .
The process is similar to the above commands, but needs to run ojluni_modify_expectation
with an add
subcommand.
For example, add a test for String.isEmpty()
method:
ojluni_modify_expectation add jdk8u/jdk8u121-b13 java.lang.String.IsEmpty
Note: java.lang.String.IsEmpty is a test class in the upstream repository.
repo upload
may not succeed because gerrit returns error.repo upload
again!repo upload
returns TimeOutException, but the CL has been uploaded. Just find your CL in http://r.android.com/. See http://b/202848945git rev-parse HEAD # a sha is printed and you will need it later git reset HEAD~1 # reset to a earlier commit repo upload --cbr . # try to upload it again git reset <the sha printed above>
ojluni_modify_expectation add
and ojluni_refresh_files
, a git commit -a
would include more files than just EXPECTED_UPSTREAM, because git
, e.g. git status
, isn't aware of changes in the working tree / in the file system. This can lead to an error when checking out the branch that is based on master.git checkout --hard <initial commit before the add>
ojluni_modify_expectation add
and ojluni_refresh_files
git stash && git stash pop
git reset aosp/expected_upstream