[doc] Improve documentation.
This change adds description of 'package' tags in manifest.md.
Bug: 39793
Change-Id: I00bb098f67296f98ba59c363bb000de0128c3621
diff --git a/manifest.md b/manifest.md
index 0f48e2a..edebdd3 100644
--- a/manifest.md
+++ b/manifest.md
@@ -30,6 +30,16 @@
/>
...
</projects>
+ <packages>
+ <package name="package/path"
+ version="version"
+ path="path/to/directory"
+ internal="true"
+ platforms="os-arch1,os-arch2..."
+ flag="filename|content_successful|content_failed"
+ />
+ ...
+ </packages>
<overrides>
<project ... />
</overrides>
@@ -56,7 +66,7 @@
* name (optional) - The name of the project corresponding to the manifest repository. If your manifest contains a <project> with the same remote as the manifest remote, then the "name" attribute of on the
<import> tag should match the "name" attribute on the <project>. Otherwise, jiri will clone the manifest repository on every update.
-The <project> tags describe the projects to sync, and what state they should sync to, accoring to the following attributes:
+The <project> tags describe the projects to sync, and what state they should sync to, according to the following attributes:
* name (required) - The name of the project.
@@ -74,6 +84,20 @@
* githooks (optional) - The path (relative to the jiri root) of a directory containing git hooks that will be installed in the projects .git/hooks directory during each update.
+The <packages> tags describe the CIPD packages to sync, and what version they should sync to, according to the following attributes:
+
+* name (required) - The CIPD path of the package.
+
+* version (required) - The version tag of the CIPD package. Floating refs are not recommended.
+
+* path (optional) - The local path this package should be stored. It should be a relative path based on `JIRI_ROOT`. If the manifest does not define this attribute, it will be put into `JIRI_ROOT/prebuilt` directory. Jiri allows the path to be platform specific, for example `path="buildtools/{{.OS}}-{{.Arch}}"`, if run jiri under linux-amd64, it will be expanded to `path="buildtools/linux-amd64"`
+
+* internal (optional) - Whether the package is accessible to the public. If a cipd package requires explicit permissions such as packages under fuchsia_internal, this attribute needs to be set to `true`. By default it is `false`.
+
+* platforms (optional) - The platforms supported by the package. By default, it is set to `linux-amd64,mac-amd64`. However, if this package supports other platforms, e.g. `linux-arm64`, this attribute needs to be explicitly defined.
+
+* flag (optional) - The flag needs to be written by jiri when this package is successfully fetched. The flag attribute has a format of `filename|content_successful|content_failed` When a package is successfully downloaded, jiri will write `content_succeful` to filename. If the package is not downloaded due to access reasons, jiri will write `content_failed` to filename.
+
The projects in the <overrides> tag replace existing projects defined by in the <projects> tag (and from transitively imported <projects> tags).
Only the root manifest can contain overrides and repositories referenced using the
<import> tag (including from transitive imports) cannot be overridden.