aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Prebuild
diff options
context:
space:
mode:
authorOren Hurvitz2013-12-03 08:47:47 +0200
committerOren Hurvitz2014-03-24 12:26:54 +0100
commitf5ae36d7e25a20199d676e53a066be79f76b580d (patch)
tree30b6bb359ced6b6ff899b078c921df70ad3a4358 /Prebuild
parentEnable runprebuild.bat to run in Cygwin (diff)
downloadopensim-SC-f5ae36d7e25a20199d676e53a066be79f76b580d.zip
opensim-SC-f5ae36d7e25a20199d676e53a066be79f76b580d.tar.gz
opensim-SC-f5ae36d7e25a20199d676e53a066be79f76b580d.tar.bz2
opensim-SC-f5ae36d7e25a20199d676e53a066be79f76b580d.tar.xz
Updated Prebuild to support .NET 4.5
Resolves http://opensimulator.org/mantis/view.php?id=6951
Diffstat (limited to 'Prebuild')
-rw-r--r--Prebuild/prebuild.xml8
-rw-r--r--Prebuild/src/Core/Kernel.cs2
-rw-r--r--Prebuild/src/Core/Nodes/ProjectNode.cs10
-rw-r--r--Prebuild/src/Core/Targets/VS2010Target.cs4
-rw-r--r--Prebuild/src/Properties/AssemblyInfo.cs4
-rw-r--r--Prebuild/src/data/prebuild-1.10.xsd338
6 files changed, 357 insertions, 9 deletions
diff --git a/Prebuild/prebuild.xml b/Prebuild/prebuild.xml
index 588d788..f39175b 100644
--- a/Prebuild/prebuild.xml
+++ b/Prebuild/prebuild.xml
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8" ?> 1<?xml version="1.0" encoding="utf-8" ?>
2<Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.9.xsd" version="1.9"> 2<Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.10.xsd" version="1.10">
3 <Solution name="Prebuild" version="2.0.5"> 3 <Solution name="Prebuild" version="2.0.6">
4 <Configuration name="Debug"> 4 <Configuration name="Debug">
5 <Options> 5 <Options>
6 <CompilerDefines>DEBUG;TRACE</CompilerDefines> 6 <CompilerDefines>DEBUG;TRACE</CompilerDefines>
@@ -31,7 +31,7 @@
31 type="Exe" 31 type="Exe"
32 rootNamespace="Prebuild" 32 rootNamespace="Prebuild"
33 startupObject="Prebuild.Prebuild" 33 startupObject="Prebuild.Prebuild"
34 version="2.0.5" 34 version="2.0.6"
35 frameworkVersion="v3_5" 35 frameworkVersion="v3_5"
36 > 36 >
37 <Author>Matthew Holmes (matthew@wildfiregames.com)</Author> 37 <Author>Matthew Holmes (matthew@wildfiregames.com)</Author>
@@ -66,7 +66,7 @@
66 <Reference name="System" /> 66 <Reference name="System" />
67 <Files> 67 <Files>
68 <Match pattern="App.ico" buildAction="EmbeddedResource"/> 68 <Match pattern="App.ico" buildAction="EmbeddedResource"/>
69 <Match path="data" pattern="prebuild-1.9.xsd" buildAction="EmbeddedResource"/> 69 <Match path="data" pattern="prebuild-1.10.xsd" buildAction="EmbeddedResource"/>
70 <Match path="data" pattern="autotools.xml" buildAction="EmbeddedResource"/> 70 <Match path="data" pattern="autotools.xml" buildAction="EmbeddedResource"/>
71 <Match pattern="*.cs" recurse="true"/> 71 <Match pattern="*.cs" recurse="true"/>
72 </Files> 72 </Files>
diff --git a/Prebuild/src/Core/Kernel.cs b/Prebuild/src/Core/Kernel.cs
index 67051d5..761962e 100644
--- a/Prebuild/src/Core/Kernel.cs
+++ b/Prebuild/src/Core/Kernel.cs
@@ -73,7 +73,7 @@ namespace Prebuild.Core
73 /// <summary> 73 /// <summary>
74 /// This must match the version of the schema that is embeeded 74 /// This must match the version of the schema that is embeeded
75 /// </summary> 75 /// </summary>
76 private const string m_SchemaVersion = "1.9"; 76 private const string m_SchemaVersion = "1.10";
77 private const string m_Schema = "prebuild-" + m_SchemaVersion + ".xsd"; 77 private const string m_Schema = "prebuild-" + m_SchemaVersion + ".xsd";
78 private const string m_SchemaURI = "http://dnpb.sourceforge.net/schemas/" + m_Schema; 78 private const string m_SchemaURI = "http://dnpb.sourceforge.net/schemas/" + m_Schema;
79 bool disposed; 79 bool disposed;
diff --git a/Prebuild/src/Core/Nodes/ProjectNode.cs b/Prebuild/src/Core/Nodes/ProjectNode.cs
index fb92b32..a822704 100644
--- a/Prebuild/src/Core/Nodes/ProjectNode.cs
+++ b/Prebuild/src/Core/Nodes/ProjectNode.cs
@@ -93,7 +93,15 @@ namespace Prebuild.Core.Nodes
93 /// .NET 4.0 93 /// .NET 4.0
94 /// </summary> 94 /// </summary>
95 v4_0, 95 v4_0,
96 } 96 /// <summary>
97 /// .NET 4.5
98 /// </summary>
99 v4_5,
100 /// <summary>
101 /// .NET 4.5.1
102 /// </summary>
103 v4_5_1
104 }
97 /// <summary> 105 /// <summary>
98 /// The Node object representing /Prebuild/Solution/Project elements 106 /// The Node object representing /Prebuild/Solution/Project elements
99 /// </summary> 107 /// </summary>
diff --git a/Prebuild/src/Core/Targets/VS2010Target.cs b/Prebuild/src/Core/Targets/VS2010Target.cs
index ea9f736..f7562b0 100644
--- a/Prebuild/src/Core/Targets/VS2010Target.cs
+++ b/Prebuild/src/Core/Targets/VS2010Target.cs
@@ -106,7 +106,9 @@ namespace Prebuild.Core.Targets
106 { 106 {
107 switch (frameworkVersion) 107 switch (frameworkVersion)
108 { 108 {
109 case FrameworkVersion.v4_0: 109 case FrameworkVersion.v4_5_1:
110 case FrameworkVersion.v4_5:
111 case FrameworkVersion.v4_0:
110 case FrameworkVersion.v3_5: 112 case FrameworkVersion.v3_5:
111 return "ToolsVersion=\"4.0\""; 113 return "ToolsVersion=\"4.0\"";
112 case FrameworkVersion.v3_0: 114 case FrameworkVersion.v3_0:
diff --git a/Prebuild/src/Properties/AssemblyInfo.cs b/Prebuild/src/Properties/AssemblyInfo.cs
index f3ac30f..013743d 100644
--- a/Prebuild/src/Properties/AssemblyInfo.cs
+++ b/Prebuild/src/Properties/AssemblyInfo.cs
@@ -61,7 +61,7 @@ using System.Resources;
61[assembly: AssemblyConfiguration(".NET CLR")] 61[assembly: AssemblyConfiguration(".NET CLR")]
62[assembly: AssemblyCompany("The Prebuild Project")] 62[assembly: AssemblyCompany("The Prebuild Project")]
63[assembly: AssemblyProduct("")] 63[assembly: AssemblyProduct("")]
64[assembly: AssemblyCopyright("Copyright 2004-2010 " + 64[assembly: AssemblyCopyright("Copyright 2004-2013 " +
65 "Matthew Holmes, " + 65 "Matthew Holmes, " +
66 "Dan Moorehead, " + 66 "Dan Moorehead, " +
67 "C.J. Adams-Collier, " + 67 "C.J. Adams-Collier, " +
@@ -71,7 +71,7 @@ using System.Resources;
71[assembly: AssemblyTrademark("")] 71[assembly: AssemblyTrademark("")]
72[assembly: AssemblyCulture("")] 72[assembly: AssemblyCulture("")]
73[assembly: NeutralResourcesLanguageAttribute("en-US")] 73[assembly: NeutralResourcesLanguageAttribute("en-US")]
74[assembly: AssemblyVersion("2.0.5.*")] 74[assembly: AssemblyVersion("2.0.6.*")]
75 75
76// 76//
77// Version information for an assembly consists of the following four values: 77// Version information for an assembly consists of the following four values:
diff --git a/Prebuild/src/data/prebuild-1.10.xsd b/Prebuild/src/data/prebuild-1.10.xsd
new file mode 100644
index 0000000..eee07a8
--- /dev/null
+++ b/Prebuild/src/data/prebuild-1.10.xsd
@@ -0,0 +1,338 @@
1<?xml version="1.0" encoding="utf-8"?>
2<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dnpb.sourceforge.net/schemas/prebuild-1.10.xsd" xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.10.xsd">
3 <xs:annotation>
4 <xs:documentation>
5 Copyright (c) 2004-2007
6 Matthew Holmes (calefaction at houston . rr . com),
7 Dan Moorehead (dan05a at gmail . com),
8 David Hudson (jendave at yahoo dot com),
9 C.J. Adams-Collier (cjac at colliertech dot com)
10
11 .NET Prebuild is a cross-platform XML-driven pre-build tool which
12 allows developers to easily generate project or make files for major
13 IDE's and .NET development tools including: Visual Studio .NET 2002,
14 2003, and 2005, SharpDevelop, MonoDevelop, NAnt, Xcode and the GNU Autotools.
15
16 BSD License:
17
18 Redistribution and use in source and binary forms, with or without modification, are permitted
19 provided that the following conditions are met:
20
21 * Redistributions of source code must retain the above copyright notice, this list of conditions
22 and the following disclaimer.
23 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions
24 and the following disclaimer in the documentation and/or other materials provided with the
25 distribution.
26 * The name of the author may not be used to endorse or promote products derived from this software
27 without specific prior written permission.
28
29 THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
30 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
34 OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
35 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 </xs:documentation>
37 </xs:annotation>
38
39 <xs:element name="Prebuild">
40 <xs:complexType>
41 <xs:sequence>
42 <xs:element ref="Process" minOccurs="0" maxOccurs="unbounded" />
43 <xs:element ref="Solution" minOccurs="1" maxOccurs="1" />
44 </xs:sequence>
45 <xs:attribute name="version" />
46 <xs:attribute name="checkOsVars" />
47 </xs:complexType>
48 </xs:element>
49
50 <xs:element name="Process" type="xs:string" />
51
52 <xs:element name="Solution">
53 <xs:complexType>
54 <xs:sequence>
55 <xs:element ref="Configuration" minOccurs="1" maxOccurs="unbounded" />
56 <xs:element ref="Process" minOccurs="0" maxOccurs="unbounded" />
57 <xs:element ref="Options" minOccurs="0" />
58 <xs:element ref="Files" minOccurs="0" />
59 <xs:element ref="Project" minOccurs="0" maxOccurs="unbounded" />
60 <xs:element ref="DatabaseProject" minOccurs="0" maxOccurs="unbounded" />
61 <xs:element ref="EmbeddedSolution" minOccurs="0" maxOccurs="unbounded" />
62 </xs:sequence>
63 <xs:attribute name="name" type="xs:string" use="required" />
64 <xs:attribute name="activeConfig" type="xs:string" default="Debug" />
65 <xs:attribute name="path" type="xs:string" default="" />
66 <xs:attribute name="version" type="xs:string" default="1.0.0" />
67 </xs:complexType>
68 </xs:element>
69
70 <xs:element name="EmbeddedSolution">
71 <xs:complexType>
72 <xs:sequence>
73 <xs:element ref="Process" minOccurs="0" maxOccurs="unbounded" />
74 <xs:element ref="Files" minOccurs="0" />
75 <xs:element ref="Project" minOccurs="0" maxOccurs="unbounded" />
76 <xs:element ref="DatabaseProject" minOccurs="0" maxOccurs="unbounded" />
77 <xs:element ref="EmbeddedSolution" minOccurs="0" maxOccurs="unbounded" />
78 </xs:sequence>
79 <xs:attribute name="name" type="xs:string" use="required" />
80 <xs:attribute name="activeConfig" type="xs:string" default="Debug" />
81 <xs:attribute name="path" type="xs:string" default="" />
82 <xs:attribute name="version" type="xs:string" default="1.0.0" />
83 </xs:complexType>
84 </xs:element>
85
86 <xs:element name="DatabaseProject">
87 <xs:complexType>
88 <xs:sequence>
89 <xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
90 <xs:element ref="DatabaseReference" minOccurs="0" maxOccurs="unbounded" />
91 </xs:sequence>
92 <xs:attribute name="name" type="xs:string" use="required" />
93 <xs:attribute name="path" type="xs:string" />
94 </xs:complexType>
95 </xs:element>
96
97 <xs:element name="DatabaseReference">
98 <xs:complexType>
99 <xs:attribute name="name" type="xs:string" use="required" />
100 <xs:attribute name="providerId" type="xs:string" />
101 <xs:attribute name="providerName" type="xs:string" />
102 <xs:attribute name="connectionString" type="xs:string" use="required" />
103 </xs:complexType>
104 </xs:element>
105
106 <xs:element name="Project">
107 <xs:complexType>
108 <xs:sequence>
109 <xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
110 <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1" />
111 <xs:element ref="Configuration" minOccurs="1" maxOccurs="unbounded" />
112 <xs:element name="ReferencePath" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
113 <xs:element name="Reference" minOccurs="0" maxOccurs="unbounded">
114 <xs:complexType>
115 <xs:attribute name="name" type="xs:string" use="required" />
116 <xs:attribute name="path" type="xs:string" />
117 <xs:attribute name="localCopy" type="xs:boolean" />
118 <xs:attribute name="version" type="xs:string" />
119 </xs:complexType>
120 </xs:element>
121 <xs:element ref="Files" />
122 </xs:sequence>
123 <xs:attribute name="name" type="xs:string" use="required" />
124 <xs:attribute name="designerFolder" type="xs:string" default="" />
125 <xs:attribute name="filterGroups" type="xs:string" default="" />
126 <xs:attribute name="path" type="xs:string" default="" />
127 <xs:attribute name="icon" type="xs:string" default="" />
128 <xs:attribute name="configFile" type="xs:string" default="" />
129 <xs:attribute name="version" type="xs:string" default="1.0.0" />
130 <xs:attribute name="guid" type="xs:string"/>
131 <xs:attribute name="language" default="C#">
132 <xs:simpleType>
133 <xs:restriction base="xs:string">
134 <xs:enumeration value="C#" />
135 <xs:enumeration value="VB.NET" />
136 </xs:restriction>
137 </xs:simpleType>
138 </xs:attribute>
139 <xs:attribute name="type" default="Exe">
140 <xs:simpleType>
141 <xs:restriction base="xs:string">
142 <xs:enumeration value="Exe" />
143 <xs:enumeration value="WinExe" />
144 <xs:enumeration value="Library" />
145 <xs:enumeration value="Web" />
146 </xs:restriction>
147 </xs:simpleType>
148 </xs:attribute>
149 <xs:attribute name="runtime" default="Microsoft">
150 <xs:simpleType>
151 <xs:restriction base="xs:string">
152 <xs:enumeration value="Microsoft" />
153 <xs:enumeration value="Mono" />
154 </xs:restriction>
155 </xs:simpleType>
156 </xs:attribute>
157 <xs:attribute name="frameworkVersion" default="v2_0">
158 <xs:simpleType>
159 <xs:restriction base="xs:string">
160 <xs:enumeration value="v2_0" />
161 <xs:enumeration value="v3_0" />
162 <xs:enumeration value="v3_5" />
163 <xs:enumeration value="v4_0" />
164 <xs:enumeration value="v4_5" />
165 <xs:enumeration value="v4_5_1" />
166 </xs:restriction>
167 </xs:simpleType>
168 </xs:attribute>
169 <xs:attribute name="startupObject" type="xs:string" default="" />
170 <xs:attribute name="rootNamespace" type="xs:string" />
171 <xs:attribute name="assemblyName" type="xs:string" />
172 <xs:attribute name="generateAssemblyInfoFile" type="xs:boolean" default="false" />
173 </xs:complexType>
174 </xs:element>
175
176 <xs:element name="Configuration">
177 <xs:complexType>
178 <xs:sequence>
179 <xs:element ref="Options" minOccurs="0" />
180 </xs:sequence>
181 <xs:attribute name="name" type="xs:string" use="required" />
182 <xs:attribute name="platform" type="xs:string" use="required" />
183 </xs:complexType>
184 </xs:element>
185 <xs:element name="Options">
186 <xs:complexType>
187 <xs:all>
188 <xs:element name="CompilerDefines" type="xs:string" minOccurs="0" />
189 <xs:element name="OptimizeCode" type="xs:boolean" minOccurs="0" />
190 <xs:element name="CheckUnderflowOverflow" type="xs:boolean" minOccurs="0" />
191 <xs:element name="AllowUnsafe" type="xs:boolean" minOccurs="0" />
192 <xs:element name="PreBuildEvent" type="xs:string" minOccurs="0" />
193 <xs:element name="PostBuildEvent" type="xs:string" minOccurs="0" />
194 <xs:element name="RunPostBuildEvent" minOccurs="0" default="OnBuildSuccess">
195 <xs:simpleType>
196 <xs:restriction base="xs:string">
197 <xs:enumeration value="OnBuildSuccess" />
198 <xs:enumeration value="Always" />
199 <xs:enumeration value="OnOutputUpdated" />
200 </xs:restriction>
201 </xs:simpleType>
202 </xs:element>
203 <xs:element name="RunScript" type="xs:string" minOccurs="0" />
204 <xs:element name="PreBuildEventArgs" type="xs:string" minOccurs="0" />
205 <xs:element name="PostBuildEventArgs" type="xs:string" minOccurs="0" />
206 <xs:element name="WarningLevel" minOccurs="0">
207 <xs:simpleType>
208 <xs:restriction base="xs:integer">
209 <xs:minInclusive value="0" />
210 <xs:maxInclusive value="4" />
211 </xs:restriction>
212 </xs:simpleType>
213 </xs:element>
214 <xs:element name="WarningsAsErrors" type="xs:boolean" minOccurs="0" />
215 <xs:element name="SuppressWarnings" type="xs:string" minOccurs="0" />
216 <xs:element name="OutputPath" type="xs:string" minOccurs="0" />
217 <xs:element name="GenerateDocumentation" type="xs:boolean" minOccurs="0" />
218 <xs:element name="XmlDocFile" type="xs:string" minOccurs="0" />
219 <xs:element name="DebugInformation" type="xs:boolean" minOccurs="0" />
220 <xs:element name="RegisterComInterop" type="xs:boolean" minOccurs="0" />
221 <xs:element name="RemoveIntegerChecks" type="xs:boolean" minOccurs="0" />
222 <xs:element name="IncrementalBuild" type="xs:boolean" minOccurs="0" />
223 <xs:element name="BaseAddress" type="xs:string" minOccurs="0" />
224 <xs:element name="FileAlignment" type="xs:integer" minOccurs="0" />
225 <xs:element name="NoStdLib" type="xs:boolean" minOccurs="0" />
226 <xs:element name="KeyFile" type="xs:string" minOccurs="0" />
227 </xs:all>
228 </xs:complexType>
229 </xs:element>
230 <xs:element name="Files">
231 <xs:complexType>
232 <xs:sequence>
233 <xs:element ref="File" minOccurs="0" maxOccurs="unbounded" />
234 <xs:element ref="Match" minOccurs="0" maxOccurs="unbounded" />
235 </xs:sequence>
236 </xs:complexType>
237 </xs:element>
238 <xs:element name="File">
239 <xs:complexType>
240 <xs:simpleContent>
241 <xs:extension base="xs:string">
242 <xs:attribute name="resourceName" type="xs:string" default="" />
243 <xs:attribute name="buildAction" default="Compile">
244 <xs:simpleType>
245 <xs:restriction base="xs:string">
246 <xs:enumeration value="None" />
247 <xs:enumeration value="Compile" />
248 <xs:enumeration value="Content" />
249 <xs:enumeration value="EmbeddedResource" />
250 <xs:enumeration value="ApplicationDefinition" />
251 <xs:enumeration value="Page" />
252 </xs:restriction>
253 </xs:simpleType>
254 </xs:attribute>
255 <xs:attribute name="subType" default="Code">
256 <xs:simpleType>
257 <xs:restriction base="xs:string">
258 <xs:enumeration value="Code" />
259 <xs:enumeration value="CodeBehind" />
260 <xs:enumeration value="Component" />
261 <xs:enumeration value="Form" />
262 <xs:enumeration value="Settings" />
263 <xs:enumeration value="UserControl" />
264 </xs:restriction>
265 </xs:simpleType>
266 </xs:attribute>
267 <xs:attribute name="link" type="xs:boolean" />
268 <xs:attribute name="copyToOutput" default="Never">
269 <xs:simpleType>
270 <xs:restriction base="xs:string">
271 <xs:enumeration value="Never" />
272 <xs:enumeration value="Always" />
273 <xs:enumeration value="PreserveNewest" />
274 </xs:restriction>
275 </xs:simpleType>
276 </xs:attribute>
277 <xs:attribute name="preservePath" type="xs:boolean" />
278 <xs:attribute name="linkPath" type="xs:string" />
279 </xs:extension>
280 </xs:simpleContent>
281 </xs:complexType>
282 </xs:element>
283 <xs:element name="Match">
284 <xs:complexType>
285 <xs:sequence>
286 <xs:element ref="Exclude" minOccurs="0" maxOccurs="unbounded" />
287 </xs:sequence>
288 <xs:attribute name="path" type="xs:string" />
289 <xs:attribute name="pattern" type="xs:string" use="required" />
290 <xs:attribute name="recurse" type="xs:boolean" default="false" />
291 <xs:attribute name="useRegex" type="xs:boolean" default="false" />
292 <xs:attribute name="buildAction" default="Compile">
293 <xs:simpleType>
294 <xs:restriction base="xs:string">
295 <xs:enumeration value="None" />
296 <xs:enumeration value="Compile" />
297 <xs:enumeration value="Content" />
298 <xs:enumeration value="EmbeddedResource" />
299 <xs:enumeration value="ApplicationDefinition" />
300 <xs:enumeration value="Page" />
301 </xs:restriction>
302 </xs:simpleType>
303 </xs:attribute>
304 <xs:attribute name="resourceName" type="xs:string" default="" />
305 <xs:attribute name="subType" default="Code">
306 <xs:simpleType>
307 <xs:restriction base="xs:string">
308 <xs:enumeration value="Code" />
309 <xs:enumeration value="CodeBehind" />
310 <xs:enumeration value="Component" />
311 <xs:enumeration value="Designer" />
312 <xs:enumeration value="Form" />
313 <xs:enumeration value="Settings" />
314 <xs:enumeration value="UserControl" />
315 </xs:restriction>
316 </xs:simpleType>
317 </xs:attribute>
318 <xs:attribute name="link" type="xs:boolean" />
319 <xs:attribute name="copyToOutput" default="Never">
320 <xs:simpleType>
321 <xs:restriction base="xs:string">
322 <xs:enumeration value="Never" />
323 <xs:enumeration value="Always" />
324 <xs:enumeration value="PreserveNewest" />
325 </xs:restriction>
326 </xs:simpleType>
327 </xs:attribute>
328 <xs:attribute name="preservePath" type="xs:boolean" />
329 <xs:attribute name="linkPath" type="xs:string" />
330 </xs:complexType>
331 </xs:element>
332 <xs:element name="Exclude">
333 <xs:complexType>
334 <xs:attribute name="name" type="xs:string" />
335 <xs:attribute name="pattern" type="xs:string" />
336 </xs:complexType>
337 </xs:element>
338</xs:schema>