This directory contains tools used by admin users to create and manage programs and projects. Regular users should not need to use these tools.
The tools in this directory include (described in more detail below):
create_partner_repo
: This script does the heavy lifting in creating new programs and projects. It creates the repos, sets ACLs, makes necessary manifest changes, etc.gen_project
: This script puts the basic skeleton of files and symlinks in place when starting a new program and project. It is intended to bootstrap the process and lay things out in an idiomatic way.create_partner_repo
The script creates partner program or project git repos, gerrit groups, and applies ACLs to both the repos and groups. The script is idempotent and can be re-run as many times as you wish:
$ sudo apt-get install jq
For a new program, manually create a {program}_local_manifest.xml file and commit to this script's directory. That local_manifest with get copied to all project repos in the program.
To add resources for a program $ ./create_partner_repo --program programName
To add resource for a project $ ./create_partner_repo --program programName --project projectName
To apply ACLs to project's committer and access groups (--project is optional) $ ./create_partner_repo --program programName --project projectName --run acls
To create and apply default permissions to gerrit groups (--project is optional) $ ./create_partner_repo --program programName --project projectName --run gerritgroups
To add a local_manifest.xml into the project repo $ ./create_partner_repo --program programName --project projectName --run localmanifest
To create gs buckets and assign ACLs to them $ ./create_partner_repo --program programName --project projectName --run createprojectbuckets
gen_project
TODO