Update README.md with new manifest name, add cross-repo workflow

Change-Id: I75b2f48274dc580e096f0cd0e460e88615cca747
1 file changed
tree: 06dc92bbc8fd41b2d436134ae19fdc837546c974
  1. git-hooks/
  2. android
  3. buildtools
  4. LICENSE
  5. minimal
  6. mojo
  7. README.md
README.md

mojo-manifest

Contains the jiri manifest for the Mojo project

Creating a new checkout

Mojo uses the jiri tool to manage repositories https://github.com/vanadium/go.jiri. This tool manages a set of repositories specified by a manifest. The bootstrap procedure requires that you have Go 1.4 or newer and Git installed and on your PATH. To create a new Mojo checkout in a directory called ‘mojo’ run the following commands. The ‘mojo’ directory should not exist before running these steps.

curl -s https://raw.githubusercontent.com/vanadium/go.jiri/master/scripts/bootstrap_jiri | bash -s mojo
export PATH=`pwd`/mojo/.jiri_root/scripts:`pwd`/mojo/depot_tools:$PATH
cd mojo
jiri import --name manifest mojo https://mojo.googlesource.com/manifest
jiri update

Setting up your environment

Mojo requires several libraries and tools to build and run. Many are placed within the checkout and updated whenever jiri update runs, but some must be installed on the system. Run

mojo/src/build/install-build-deps.sh

to install these packages.

See https://github.com/domokit/mojo for instructions on building and running tests for Mojo.

Submitting changes

To submit a patch in the Mojo repo do the following

cd mojo/src

# create a new change (makes a new local branch, checks it out)
jiri cl new branch_name

# write some awesome stuff, commit to branch_name
vim some_file ...
git commit ...

# upload the patch to gerrit
jiri cl mail

# once the change is landed, clean up the branch
jiri cl cleanup branch_name

Cross-repo changes

Changes in two separate repos will be automatically tracked for you by jiri if you use the same branch name.

cd mojo/src
jiri cl new add_feature_foo
vim foo_related_files ...
git commit ...

cd mojo/src/base
jiri cl new add_feature_foo
vim more_foo_related_files ...
git commit ...

# upload both changes to gerrit
jiri cl mail

# cleanup the branch after the changes land
jiri cl cleanup add_feature_foo

Multipart changes are tracked in gerrit via topics, are tested together, and can be landed in gerrit at the same time with submit whole topic.