Moduleset DTD updates and regenerated RNC wrt to recent bzr changes
[jhbuild.git] / modulesets / moduleset.rnc
blob8901dec82b9251547d065a154ba31ec58114190a
1 namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
3 moduleset =
4   element moduleset {
5     attlist.moduleset,
6     (repository
7      | \include
8      | autotools
9      | metamodule
10      | tarball
11      | distutils
12      | perl
13      | linux
14      | testmodule
15      | cvsroot
16      | cvsmodule
17      | waf)+
18   }
19 attlist.moduleset &= attribute name { text }?
20 repository = element repository { attlist.repository, mirror* }
21 attlist.repository &=
22   attribute name { text },
23   attribute type {
24     "arch"
25     | "bzr"
26     | "cvs"
27     | "darcs"
28     | "fossil"
29     | "git"
30     | "hg"
31     | "svn"
32     | "tarball"
33   },
34   [ a:defaultValue = "no" ] attribute default { "yes" | "no" }?,
35   attribute password { text }?,
36   attribute cvsroot { text }?,
37   attribute archive { text }?,
38   attribute href { text }?,
39   attribute server { text }?,
40   attribute database { text }?,
41   attribute defbranch { text }?,
42   attribute developer-href-example { text }?,
43   attribute trunk-template { text }?,
44   attribute branches-template { text }?,
45   attribute tags-template { text }?
46 # note the following attributes are specific to some repository types:
47 # - CVS: password & cvsroot
48 # - Arch: archive & href
49 # - Monotone: server, database, defbranch
50 # - Subversion: *-template
51 mirror = element mirror { attlist.mirror, empty }
52 attlist.mirror &=
53   attribute type {
54     "arch"
55     | "bzr"
56     | "cvs"
57     | "darcs"
58     | "fossil"
59     | "git"
60     | "hg"
61     | "svn"
62     | "tarball"
63   },
64   attribute trunk-template { text }?,
65   attribute branches-template { text }?,
66   attribute href { text }?
67 \include = element include { attlist.include, empty }
68 attlist.include &= attribute href { text }
69 autotools =
70   element autotools {
71     attlist.autotools, branch, dependencies?, suggests?, after?
72   }
73 # Note: Here the ID type is not used as some existing IDs in modsets are not
74 # valid XML ID types - instead CDATA is used
75 attlist.autotools &=
76   attribute id { text },
77   attribute autogenargs { text }?,
78   attribute makeargs { text }?,
79   attribute makeinstallargs { text }?,
80   attribute autogen-sh { text }?,
81   attribute makefile { text }?,
82   [ a:defaultValue = "false" ]
83   attribute skip-autogen { "true" | "false" | "never" }?,
84   [ a:defaultValue = "yes" ]
85   attribute supports-non-srcdir-builds { "yes" | "no" }?,
86   attribute autogen-template { text }?,
87   [ a:defaultValue = "true" ]
88   attribute check-target { "true" | "false" }?
89 waf =
90   element waf { attlist.waf, branch, dependencies?, suggests?, after? }
91 # Note: Here the ID type is not used as some existing IDs in modsets are not
92 # valid XML ID types - instead CDATA is used
93 attlist.waf &=
94   attribute id { text },
95   attribute waf-command { text }?
96 metamodule =
97   element metamodule { attlist.metamodule, dependencies, after? }
98 attlist.metamodule &= attribute id { text }
99 # tarball module type is deprecated, a tarball repository inside the
100 # appropriate modtype should be used instead
101 tarball =
102   element tarball {
103     attlist.tarball,
104     source,
105     branch?,
106     dependencies?,
107     patches?,
108     suggests?,
109     after?
110   }
111 attlist.tarball &=
112   attribute id { text },
113   attribute version { text },
114   attribute checkoutdir { text }?,
115   attribute autogenargs { text }?,
116   attribute makeargs { text }?,
117   attribute autogen-sh { text }?,
118   [ a:defaultValue = "yes" ]
119   attribute supports-non-srcdir-builds { "yes" | "no" }?
120 distutils =
121   element distutils {
122     attlist.distutils, branch?, dependencies?, after?
123   }
124 attlist.distutils &=
125   attribute id { xsd:ID },
126   [ a:defaultValue = "yes" ]
127   attribute supports-non-srcdir-builds { "yes" | "no" }?
128 cmake = element cmake { attlist.cmake, branch?, dependencies?, after? }
129 attlist.cmake &=
130   attribute id { text },
131   attribute makeargs { text }?
132 perl = element perl { attlist.perl, branch?, dependencies?, after? }
133 attlist.perl &=
134   attribute id { text },
135   attribute makeargs { text }?
136 linux =
137   element linux {
138     attlist.linux, branch?, dependencies?, after?, kconfig+
139   }
140 attlist.linux &=
141   attribute id { text },
142   attribute makeargs { text }?
143 ant = element ant { attlist.ant, branch?, dependencies?, after? }
144 attlist.ant &=
145   attribute id { text },
146   attribute makeargs { text }?
147 testmodule =
148   element testmodule {
149     attlist.testmodule, branch?, dependencies?, after?, testedmodules?
150   }
151 attlist.testmodule &=
152   attribute id { text },
153   attribute type { text }
154 cvsroot = element cvsroot { attlist.cvsroot, empty }
155 attlist.cvsroot &=
156   attribute name { text },
157   attribute root { text },
158   [ a:defaultValue = "" ] attribute password { text }?
159 cvsmodule =
160   element cvsmodule {
161     attlist.cvsmodule, suggests?, dependencies?, after?
162   }
163 attlist.cvsmodule &=
164   attribute id { text },
165   attribute cvsroot { text },
166   [ a:defaultValue = "yes" ]
167   attribute supports-non-srcdir-builds { "yes" | "no" }?
168 # Tarball's children
169 source = element source { attlist.source, empty }
170 attlist.source &=
171   attribute href { text },
172   attribute size { text }?,
173   attribute md5sum { text }?,
174   attribute hash { text }?
175 patches = element patches { attlist.patches, patch* }
176 attlist.patches &= empty
177 patch = element patch { attlist.patch, empty }
178 attlist.patch &=
179   attribute file { text },
180   [ a:defaultValue = "0" ] attribute strip { text }?
181 # Linux's children
182 kconfig = element kconfig { attlist.kconfig, empty }
183 attlist.kconfig &=
184   attribute repo { text }?,
185   attribute version { text },
186   attribute module { text }?,
187   attribute config { text }?
188 # Testmodule's children
189 testedmodules = element testedmodules { attlist.testedmodules, tested }
190 attlist.testedmodules &= empty
191 tested = element tested { attlist.tested, empty }
192 attlist.tested &= attribute package { text }
193 # Other children
194 dependencies = element dependencies { attlist.dependencies, dep* }
195 attlist.dependencies &= empty
196 suggests = element suggests { attlist.suggests, dep* }
197 attlist.suggests &= empty
198 after = element after { attlist.after, dep* }
199 attlist.after &= empty
200 dep = element dep { attlist.dep, empty }
201 attlist.dep &= attribute package { text }
202 branch = element branch { attlist.branch, patch* }
203 attlist.branch &=
204   attribute repo { text }?,
205   attribute module { text }?,
206   attribute checkoutdir { text }?,
207   [ a:defaultValue = "yes" ]
208   attribute override-checkoutdir { "yes" | "no" }?,
209   [ a:defaultValue = "yes" ]
210   attribute update-new-dirs { "yes" | "no" }?,
211   attribute source-subdir { text }?,
212   attribute revision { text }?,
213   attribute tag { text }?,
214   attribute user { text }?,
215   attribute revspec { text }?,
216   attribute branch { text }?,
217   attribute version { text }?,
218   attribute size { text }?,
219   attribute md5sum { text }?,
220   attribute hash { text }?
221 # override-checkoutdir and update-new-dirs are CVS only
222 # source-subdir is tarballs only
223 quilt = element quilt { attlist.quilt, branch }
224 attlist.quilt &= attribute id { text }
225 start = quilt | moduleset | cmake | ant