Add project annotation handling to repo
Allow the optional addition of "annotation" nodes nested under
projects. Each annotation node must have "name" and "value"
attributes. These name/value pairs will be exported into the
environment during any forall command, prefixed with "REPO__"
In addition, an optional "keep" attribute with case insensitive "true"
or "false" values can be included to determine whether the annotation
will be exported with 'repo manifest'
Change-Id: Icd7540afaae02c958f769ce3d25661aa721a9de8
Signed-off-by: James W. Mills <jameswmills@gmail.com>
diff --git a/docs/manifest-format.txt b/docs/manifest-format.txt
index a7bb156..e5f5ee1 100644
--- a/docs/manifest-format.txt
+++ b/docs/manifest-format.txt
@@ -43,12 +43,17 @@
<!ELEMENT manifest-server (EMPTY)>
<!ATTLIST url CDATA #REQUIRED>
- <!ELEMENT project (EMPTY)>
+ <!ELEMENT project (annotation?)>
<!ATTLIST project name CDATA #REQUIRED>
<!ATTLIST project path CDATA #IMPLIED>
<!ATTLIST project remote IDREF #IMPLIED>
<!ATTLIST project revision CDATA #IMPLIED>
<!ATTLIST project groups CDATA #IMPLIED>
+
+ <!ELEMENT annotation (EMPTY)>
+ <!ATTLIST annotation name CDATA #REQUIRED>
+ <!ATTLIST annotation value CDATA #REQUIRED>
+ <!ATTLIST annotation keep CDATA "true">
<!ELEMENT remove-project (EMPTY)>
<!ATTLIST remove-project name CDATA #REQUIRED>
@@ -163,6 +168,17 @@
whitespace or comma separated. All projects are part of the group
"default" unless "-default" is specified in the list of groups.
+Element annotation
+------------------
+
+Zero or more annotation elements may be specified as children of a
+project element. Each element describes a name-value pair that will be
+exported into each project's environment during a 'forall' command,
+prefixed with REPO__. In addition, there is an optional attribute
+"keep" which accepts the case insensitive values "true" (default) or
+"false". This attribute determines whether or not the annotation will
+be kept when exported with the manifest subcommand.
+
Element remove-project
----------------------