Branches syntax [message #608086] |
Thu, 20 May 2010 22:06 |
Henrik Lindberg Messages: 2509 Registered: July 2009 |
Senior Member |
|
|
Hi,
I have now elaborated on the "branches" syntax. This is what it now
looks like:
Branch returns build::Branch : {build::Branch}
(documentation = DOCUMENTATION)?
"branch"
name = EscapedQualifiedName
'{' (
( (branchPointType = BranchPointTypeLatest ';')
| (branchPointType = BranchPointTypeOther ':' branchPoint =
Expression ';')
)?
& ("update-policy" ':' updateStrategy = UpdateStrategy ';')?
& ("exclude" ':' '[' (exclude += NamePredicate) (',' exclude +=
NamePredicate)* ']' ';')?
& ("include" ':' '[' (include += NamePredicate) (',' include +=
NamePredicate)* ']' ';')?
)
'}'
;
Comments:
- Documentation added (if someone creates an elaborate scheme with
include, exclude, use properties to denote branchPoint etc, they may
want to document this.
- branchPoint is now an expression to allow use of properties etc. This
complicates validation and code completion, but I think it is worth it.
- branpoint type/branchpoint, update-policy, exclude and include can now
appear in any order.
- syntax uses ':' ',' '[]' and ';' consistently
- a change to literal pattern now makes it possible to just list a mix
of strings and patterns in includes and excludes without use of extra
keywords.
Change to Pattern:
- I made a literal SimplePattern available as in ~"a simple pattern*"
- The use of ~// ~"" and _ is now allowed everywhere a pattern is allowed.
- henrik
|
|
|
Powered by
FUDForum. Page generated in 0.06278 seconds