1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <xs : schema xmlns : xs =" http://www.w3.org/2001/XMLSchema" elementFormDefault =" qualified" >
3+ <!-- Root element -->
4+ <xs : element name =" dload" >
5+ <xs : annotation >
6+ <xs : documentation >DLoad configuration for downloading and managing binary artifacts</xs : documentation >
7+ </xs : annotation >
8+ <xs : complexType >
9+ <xs : sequence >
10+ <!-- Actions container -->
11+ <xs : element name =" actions" minOccurs =" 0" maxOccurs =" 1" >
12+ <xs : annotation >
13+ <xs : documentation >Container for download actions</xs : documentation >
14+ </xs : annotation >
15+ <xs : complexType >
16+ <xs : sequence >
17+ <xs : element name =" download" minOccurs =" 0" maxOccurs =" unbounded" >
18+ <xs : annotation >
19+ <xs : documentation >Defines a software package to download</xs : documentation >
20+ </xs : annotation >
21+ <xs : complexType >
22+ <xs : attribute name =" software" type =" xs:string" use =" required" >
23+ <xs : annotation >
24+ <xs : documentation >Software identifier to download</xs : documentation >
25+ </xs : annotation >
26+ </xs : attribute >
27+ <xs : attribute name =" version" type =" xs:string" >
28+ <xs : annotation >
29+ <xs : documentation >Version constraint (composer-style)</xs : documentation >
30+ </xs : annotation >
31+ </xs : attribute >
32+ <xs : attribute name =" version-path" type =" xs:string" >
33+ <xs : annotation >
34+ <xs : documentation >Path to extract version from (e.g. composer.json@require.package/name)</xs : documentation >
35+ </xs : annotation >
36+ </xs : attribute >
37+ <xs : attribute name =" extract-path" type =" xs:string" >
38+ <xs : annotation >
39+ <xs : documentation >Custom path where to unpack downloaded asset</xs : documentation >
40+ </xs : annotation >
41+ </xs : attribute >
42+ </xs : complexType >
43+ </xs : element >
44+ </xs : sequence >
45+ </xs : complexType >
46+ </xs : element >
47+
48+ <!-- Registry container -->
49+ <xs : element name =" registry" minOccurs =" 0" maxOccurs =" 1" >
50+ <xs : annotation >
51+ <xs : documentation >Custom software registry configuration</xs : documentation >
52+ </xs : annotation >
53+ <xs : complexType >
54+ <xs : sequence >
55+ <xs : element name =" software" minOccurs =" 0" maxOccurs =" unbounded" >
56+ <xs : annotation >
57+ <xs : documentation >Software configuration entity</xs : documentation >
58+ </xs : annotation >
59+ <xs : complexType >
60+ <xs : sequence >
61+ <xs : element name =" repository" minOccurs =" 0" maxOccurs =" unbounded" >
62+ <xs : annotation >
63+ <xs : documentation >Repository configuration</xs : documentation >
64+ </xs : annotation >
65+ <xs : complexType >
66+ <xs : attribute name =" type" type =" xs:string" default =" github" >
67+ <xs : annotation >
68+ <xs : documentation >Repository type identifier</xs : documentation >
69+ </xs : annotation >
70+ </xs : attribute >
71+ <xs : attribute name =" uri" type =" xs:string" use =" required" >
72+ <xs : annotation >
73+ <xs : documentation >Repository URI identifier</xs : documentation >
74+ </xs : annotation >
75+ </xs : attribute >
76+ <xs : attribute name =" asset-pattern" type =" xs:string" default =" /^.*$/" >
77+ <xs : annotation >
78+ <xs : documentation >Regular expression pattern to match assets</xs : documentation >
79+ </xs : annotation >
80+ </xs : attribute >
81+ </xs : complexType >
82+ </xs : element >
83+ <xs : element name =" binary" minOccurs =" 0" maxOccurs =" unbounded" >
84+ <xs : annotation >
85+ <xs : documentation >Binary configuration</xs : documentation >
86+ </xs : annotation >
87+ <xs : complexType >
88+ <xs : attribute name =" name" type =" xs:string" use =" required" >
89+ <xs : annotation >
90+ <xs : documentation >Binary executable name</xs : documentation >
91+ </xs : annotation >
92+ </xs : attribute >
93+ <xs : attribute name =" pattern" type =" xs:string" >
94+ <xs : annotation >
95+ <xs : documentation >Regular expression pattern to match binary file during extraction</xs : documentation >
96+ </xs : annotation >
97+ </xs : attribute >
98+ <xs : attribute name =" version-command" type =" xs:string" >
99+ <xs : annotation >
100+ <xs : documentation >Command argument to check binary version (e.g. "--version")</xs : documentation >
101+ </xs : annotation >
102+ </xs : attribute >
103+ </xs : complexType >
104+ </xs : element >
105+ <xs : element name =" file" minOccurs =" 0" maxOccurs =" unbounded" >
106+ <xs : annotation >
107+ <xs : documentation >File configuration</xs : documentation >
108+ </xs : annotation >
109+ <xs : complexType >
110+ <xs : attribute name =" pattern" type =" xs:string" default =" /^.*$/" >
111+ <xs : annotation >
112+ <xs : documentation >Regular expression pattern to match files</xs : documentation >
113+ </xs : annotation >
114+ </xs : attribute >
115+ <xs : attribute name =" rename" type =" xs:string" >
116+ <xs : annotation >
117+ <xs : documentation >Rename found file to this value with the same extension</xs : documentation >
118+ </xs : annotation >
119+ </xs : attribute >
120+ <xs : attribute name =" extract-path" type =" xs:string" >
121+ <xs : annotation >
122+ <xs : documentation >Directory where to extract files</xs : documentation >
123+ </xs : annotation >
124+ </xs : attribute >
125+ </xs : complexType >
126+ </xs : element >
127+ </xs : sequence >
128+ <xs : attribute name =" name" type =" xs:string" use =" required" >
129+ <xs : annotation >
130+ <xs : documentation >Software package name</xs : documentation >
131+ </xs : annotation >
132+ </xs : attribute >
133+ <xs : attribute name =" alias" type =" xs:string" >
134+ <xs : annotation >
135+ <xs : documentation >CLI command alias</xs : documentation >
136+ </xs : annotation >
137+ </xs : attribute >
138+ <xs : attribute name =" homepage" type =" xs:string" >
139+ <xs : annotation >
140+ <xs : documentation >Official software homepage URL</xs : documentation >
141+ </xs : annotation >
142+ </xs : attribute >
143+ <xs : attribute name =" description" type =" xs:string" >
144+ <xs : annotation >
145+ <xs : documentation >Short description of the software</xs : documentation >
146+ </xs : annotation >
147+ </xs : attribute >
148+ </xs : complexType >
149+ </xs : element >
150+ </xs : sequence >
151+ <xs : attribute name =" overwrite" type =" xs:boolean" default =" false" >
152+ <xs : annotation >
153+ <xs : documentation >Replace the built-in software collection with custom ones</xs : documentation >
154+ </xs : annotation >
155+ </xs : attribute >
156+ </xs : complexType >
157+ </xs : element >
158+ </xs : sequence >
159+ <xs : attribute name =" temp-dir" type =" xs:string" >
160+ <xs : annotation >
161+ <xs : documentation >Temporary directory for downloads</xs : documentation >
162+ </xs : annotation >
163+ </xs : attribute >
164+ </xs : complexType >
165+ </xs : element >
166+ </xs : schema >
0 commit comments