5 $gac = 'C:/WINDOWS/assembly/GAC_MSIL'
6 $fx = 'C:/WINDOWS/Microsoft.NET/Framework'
8 $fx1_1 = File.join $fx, "v1.1.4322"
9 $fx2_0 = File.join $fx, "v2.0.50727"
10 $fx3_0 = 'C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.0'
11 $fx3_5 = 'C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.5'
12 $fx4_0 = File.join $fx, "v4.0.30319"
13 $fx4_0_wpf = File.join $fx4_0, "WPF"
14 $fx4_5 = File.join $fx, "v4.0.30319"
15 $fx4_5_wpf = File.join $fx4_0, "WPF"
16 $sl2_0 = 'C:/Program Files/Microsoft Silverlight/2.0.40115.0'
17 $sl2_0sdk = 'C:/Program Files/Microsoft SDKs/Silverlight/v2.0/Libraries/Client/'
18 $sl4 = 'C:/Program Files/Microsoft Silverlight/4.0.51204.0'
19 $sl4_sdk = 'C:/Program Files/Microsoft SDKs/Silverlight/v4.0/Libraries/Client'
25 "System.Data.OracleClient",
26 "System.DirectoryServices",
28 "System.Runtime.Remoting",
29 "System.Runtime.Serialization.Formatters.Soap",
31 "System.ServiceProcess",
33 "System.Web.Services",
34 "System.Windows.Forms",
37 "Microsoft.VisualBasic",
39 "System.Configuration.Install",
41 "System.Drawing.Design",
42 "System.EnterpriseServices",
50 "System.Configuration",
52 "System.Data.OracleClient",
53 "System.DirectoryServices",
55 "System.Runtime.Remoting",
56 "System.Runtime.Serialization.Formatters.Soap",
58 "System.ServiceProcess",
59 "System.Transactions",
61 "System.Web.Services",
62 "System.Windows.Forms",
65 "Microsoft.VisualBasic",
67 "Microsoft.Build.Engine",
68 "Microsoft.Build.Framework",
69 "Microsoft.Build.Tasks",
70 "Microsoft.Build.Utilities",
72 "System.Configuration.Install",
74 "System.Drawing.Design",
75 "System.EnterpriseServices",
83 "PresentationFramework",
87 "System.IdentityModel",
88 "System.IdentityModel.Selectors",
90 "System.Runtime.Serialization",
91 "System.ServiceModel",
93 "System.Workflow.Activities",
94 "System.Workflow.ComponentModel",
95 "System.Workflow.Runtime",
97 "PresentationBuildTasks",
99 "PresentationFramework.Aero",
100 "PresentationFramework.Classic",
101 "PresentationFramework.Luna",
102 "PresentationFramework.Royale",
112 "System.AddIn.Contract",
113 "System.ComponentModel.DataAnnotations",
114 "System.Configuration",
116 "System.Configuration.Install",
119 "System.Data.OracleClient",
120 "System.DirectoryServices",
121 # "System.DirectoryServices.AccountManagement",
122 # "System.DirectoryServices.Protocols",
125 "System.Runtime.Remoting",
127 "System.ServiceProcess",
128 "System.Transactions",
130 "System.Web.Extensions",
131 "System.Web.Extensions.Design",
133 "System.Web.RegularExpressions",
134 "System.Web.Services",
135 "System.Windows.Forms",
139 "System.Runtime.Serialization.Formatters.Soap",
141 "Microsoft.VisualBasic",
143 "Microsoft.Build.Engine",
144 "Microsoft.Build.Framework",
145 "Microsoft.Build.Tasks",
146 "Microsoft.Build.Utilities",
147 "Microsoft.Build.Conversion.v3.5",
148 "Microsoft.Build.Utilities.v3.5",
150 "System.Configuration.Install",
152 "System.Drawing.Design",
153 "System.EnterpriseServices",
155 "System.Management.Instrumentation",
162 "Microsoft.Build.Conversion.v4.0",
164 "Microsoft.Build.Engine",
165 "Microsoft.Build.Framework",
166 "Microsoft.Build.Tasks.v4.0",
167 "Microsoft.Build.Utilities.v4.0",
169 "Microsoft.Data.Entity.Build.Tasks",
171 "Microsoft.VisualBasic.Compatibility.Data",
172 "Microsoft.VisualBasic.Compatibility",
173 "Microsoft.VisualBasic",
174 # "Microsoft.VisualC.STLCLR",
176 "PresentationBuildTasks",
178 "PresentationFramework.Aero",
179 "PresentationFramework.Classic",
180 "PresentationFramework",
181 "PresentationFramework.Luna",
182 "PresentationFramework.Royale",
187 "System.Activities.Core.Presentation",
188 "System.Activities.DurableInstancing",
189 "System.Activities.Presentation",
190 "System.AddIn.Contract",
192 "System.ComponentModel.Composition",
193 "System.ComponentModel.DataAnnotations",
194 "System.configuration",
195 "System.Configuration.Install",
197 "System.Data.DataSetExtensions",
199 "System.Data.Entity.Design",
200 "System.Data.Entity",
202 "System.Data.OracleClient",
203 "System.Data.Services.Client",
204 "System.Data.Services.Design",
205 "System.Data.Services",
206 "System.Data.SqlXml",
210 "System.DirectoryServices.AccountManagement",
211 "System.DirectoryServices",
212 "System.DirectoryServices.Protocols",
214 "System.Drawing.Design",
217 "System.EnterpriseServices",
218 "System.EnterpriseServices.Thunk",
219 "System.EnterpriseServices.Wrapper",
220 "System.IdentityModel",
221 "System.IdentityModel.Selectors",
224 "System.Management.Instrumentation",
229 "System.Runtime.Caching",
230 "System.Runtime.Remoting",
231 "System.Runtime.Serialization",
232 "System.Runtime.Serialization.Formatters.Soap",
234 "System.ServiceModel.Activation",
235 "System.ServiceModel.Activities",
236 "System.ServiceModel.Channels",
237 "System.ServiceModel.Discovery",
238 "System.ServiceModel",
239 "System.ServiceModel.Routing",
240 "System.ServiceModel.Web",
241 "System.ServiceProcess",
243 "System.Transactions",
244 "System.Web.Abstractions",
245 "System.Web.ApplicationServices",
246 "System.Web.DataVisualization.Design",
247 "System.Web.DataVisualization",
249 "System.Web.DynamicData.Design",
250 "System.Web.DynamicData",
251 "System.Web.Entity.Design",
253 "System.Web.Extensions.Design",
254 "System.Web.Extensions",
256 "System.Web.RegularExpressions",
257 "System.Web.Routing",
258 "System.Web.Services",
259 "System.Windows.Forms.DataVisualization.Design",
260 "System.Windows.Forms.DataVisualization",
261 "System.Windows.Forms",
262 "System.Windows.Presentation",
263 "System.Workflow.Activities",
264 "System.Workflow.ComponentModel",
265 "System.Workflow.Runtime",
266 "System.WorkflowServices",
268 "System.Xaml.Hosting",
279 "Microsoft.Activities.Build",
280 "Microsoft.Build.Conversion.v4.0",
282 "Microsoft.Build.Engine",
283 "Microsoft.Build.Framework",
284 "Microsoft.Build.Tasks.v4.0",
285 "Microsoft.Build.Utilities.v4.0",
287 "Microsoft.Data.Entity.Build.Tasks",
289 "Microsoft.VisualBasic.Activities.Compiler",
290 "Microsoft.VisualBasic.Compatibility.Data",
291 "Microsoft.VisualBasic.Compatibility",
292 "Microsoft.VisualBasic",
293 "Microsoft.Windows.ApplicationServer.Applications",
295 "PresentationBuildTasks",
297 "PresentationFramework.Aero",
298 "PresentationFramework.Classic",
299 "PresentationFramework",
300 "PresentationFramework.Luna",
301 "PresentationFramework.Royale",
310 "System.Activities.Core.Presentation",
311 "System.Activities.DurableInstancing",
312 "System.Activities.Presentation",
313 "System.AddIn.Contract",
315 "System.ComponentModel.Composition",
316 "System.ComponentModel.DataAnnotations",
317 "System.Configuration",
318 "System.Configuration.Install",
320 "System.Data.DataSetExtensions",
322 "System.Data.Entity.Design",
323 "System.Data.Entity",
325 "System.Data.OracleClient",
326 "System.Data.Services.Client",
327 "System.Data.Services.Design",
328 "System.Data.Services",
329 "System.Data.SqlXml",
333 "System.DirectoryServices.AccountManagement",
334 "System.DirectoryServices",
335 "System.DirectoryServices.Protocols",
337 "System.Drawing.Design",
340 "System.EnterpriseServices",
341 "System.EnterpriseServices.Thunk",
342 "System.EnterpriseServices.Wrapper",
343 "System.IdentityModel",
344 "System.IdentityModel.Selectors",
345 "System.IdentityModel.Services",
346 "System.IO.Compression",
347 "System.IO.Compression.FileSystem",
350 "System.Management.Instrumentation",
354 "System.Net.Http.WebRequest",
356 "System.Reflection.context",
357 "System.Runtime.Caching",
358 "System.Runtime.Remoting",
359 "System.Runtime.Serialization",
360 "System.Runtime.Serialization.Formatters.Soap",
362 "System.ServiceModel.Activation",
363 "System.ServiceModel.Activities",
364 "System.ServiceModel.Channels",
365 "System.ServiceModel.Discovery",
366 "System.ServiceModel",
367 "System.ServiceModel.Routing",
368 "System.ServiceModel.Web",
369 "System.ServiceProcess",
370 "System.Threading.Tasks.Dataflow",
371 "System.Transactions",
372 "System.Web.Abstractions",
373 "System.Web.ApplicationServices",
374 "System.Web.DataVisualization.Design",
375 "System.Web.DataVisualization",
377 "System.Web.DynamicData.Design",
378 "System.Web.DynamicData",
379 "System.Web.Entity.Design",
381 "System.Web.Extensions.Design",
382 "System.Web.Extensions",
384 "System.Web.RegularExpressions",
385 "System.Web.Services",
386 "System.Windows.Forms.DataVisualization.Design",
387 "System.Windows.Forms.DataVisualization",
388 "System.Windows.Forms",
389 "System.Windows.Presentation",
390 "System.Workflow.Activities",
391 "System.Workflow.ComponentModel",
392 "System.Workflow.Runtime",
393 "System.WorkflowServices",
395 "System.Xaml.Hosting",
403 "Microsoft.VisualBasic",
407 "System.Runtime.Serialization",
408 "System.ServiceModel",
409 "System.Windows.Browser",
413 "System.Windows.Controls",
414 "System.Windows.Controls.Data",
419 "Microsoft.VisualBasic",
423 "System.Runtime.Serialization",
424 "System.ServiceModel",
425 "System.ServiceModel.Web",
427 "System.Windows.Browser",
431 "System.ComponentModel.Composition",
432 "System.ComponentModel.Composition.Initialization",
433 "System.ComponentModel.DataAnnotations",
434 "System.Data.Services.Client",
437 "System.Runtime.Serialization.Json",
438 "System.ServiceModel.Extensions",
439 "System.ServiceModel.NetTcp",
440 "System.ServiceModel.PollingDuplex",
441 "System.ServiceModel.Syndication",
442 "System.ServiceModel.Web.Extensions",
443 "System.Windows.Controls.Data",
444 "System.Windows.Controls.Data.Input",
445 "System.Windows.Controls",
446 "System.Windows.Controls.Input",
447 "System.Windows.Controls.Navigation",
448 "System.Windows.Data",
450 "System.Xml.Serialization",
455 def locate(assembly, fxs = nil)
458 file = File.join fx, assembly + ".dll"
459 return file if File.file?(file)
463 gac = File.join $gac, assembly, "**", "*.dll"
467 return glob.first if glob and glob.length > 0
471 Dir.glob(glob).each do |file|
476 def clean(pattern, allow_create = false)
477 if allow_create and not File.directory? "masterinfos"
478 Dir.mkdir("masterinfos")
482 delete(File.join("masterinfos", pattern))
485 def generate(location, assembly)
486 out = File.join "masterinfos", assembly + ".xml"
487 system("./mono-api-info.exe \"#{location}\" > #{out}")
490 def process(profile, assemblies, fxs = nil)
493 assemblies.each do |assembly|
494 if assembly != nil and assembly.length > 0
496 location = locate(assembly, fxs)
498 generate(location, assembly)
500 puts "fail to locate " + assembly
502 #puts " " + location if location
508 file = "masterinfos-#{profile}.tar"
510 system("tar -cf #{file} masterinfos")
511 system("gzip #{file}")
515 Dir.delete("masterinfos")
520 process("2.0", $net_2_0, [$fx2_0])
521 process("3.0", $net_3_0, [$fx3_0, $fx2_0])
522 process("3.5", $net_3_5, [$fx3_5, $fx2_0])
523 process("4.0", $net_4_0, [$fx4_0, $fx4_0_wpf])
524 process("4.5", $net_4_5, [$fx4_5, $fx4_5_wpf])
525 process("SL4", $sl_4, [$sl4, $sl4_sdk])