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.Configuration",
115 "System.Configuration.Install",
118 "System.Data.OracleClient",
119 "System.DirectoryServices",
120 # "System.DirectoryServices.AccountManagement",
121 # "System.DirectoryServices.Protocols",
124 "System.Runtime.Remoting",
126 "System.ServiceProcess",
127 "System.Transactions",
129 "System.Web.Extensions",
130 "System.Web.Extensions.Design",
132 "System.Web.RegularExpressions",
133 "System.Web.Services",
134 "System.Windows.Forms",
138 "System.Runtime.Serialization.Formatters.Soap",
140 "Microsoft.VisualBasic",
142 "Microsoft.Build.Engine",
143 "Microsoft.Build.Framework",
144 "Microsoft.Build.Tasks",
145 "Microsoft.Build.Utilities",
146 "Microsoft.Build.Conversion.v3.5",
147 "Microsoft.Build.Utilities.v3.5",
149 "System.Configuration.Install",
151 "System.Drawing.Design",
152 "System.EnterpriseServices",
154 "System.Management.Instrumentation",
161 "Microsoft.Build.Conversion.v4.0",
163 "Microsoft.Build.Engine",
164 "Microsoft.Build.Framework",
165 "Microsoft.Build.Tasks.v4.0",
166 "Microsoft.Build.Utilities.v4.0",
168 "Microsoft.Data.Entity.Build.Tasks",
170 "Microsoft.VisualBasic.Compatibility.Data",
171 "Microsoft.VisualBasic.Compatibility",
172 "Microsoft.VisualBasic",
173 # "Microsoft.VisualC.STLCLR",
175 "PresentationBuildTasks",
177 "PresentationFramework.Aero",
178 "PresentationFramework.Classic",
179 "PresentationFramework",
180 "PresentationFramework.Luna",
181 "PresentationFramework.Royale",
186 "System.Activities.Core.Presentation",
187 "System.Activities.DurableInstancing",
188 "System.Activities.Presentation",
189 "System.AddIn.Contract",
191 "System.ComponentModel.Composition",
192 "System.ComponentModel.DataAnnotations",
193 "System.configuration",
194 "System.Configuration.Install",
196 "System.Data.DataSetExtensions",
198 "System.Data.Entity.Design",
199 "System.Data.Entity",
201 "System.Data.OracleClient",
202 "System.Data.Services.Client",
203 "System.Data.Services.Design",
204 "System.Data.Services",
205 "System.Data.SqlXml",
209 "System.DirectoryServices.AccountManagement",
210 "System.DirectoryServices",
211 "System.DirectoryServices.Protocols",
213 "System.Drawing.Design",
216 "System.EnterpriseServices",
217 "System.EnterpriseServices.Thunk",
218 "System.EnterpriseServices.Wrapper",
219 "System.IdentityModel",
220 "System.IdentityModel.Selectors",
223 "System.Management.Instrumentation",
228 "System.Runtime.Caching",
229 "System.Runtime.Remoting",
230 "System.Runtime.Serialization",
231 "System.Runtime.Serialization.Formatters.Soap",
233 "System.ServiceModel.Activation",
234 "System.ServiceModel.Activities",
235 "System.ServiceModel.Channels",
236 "System.ServiceModel.Discovery",
237 "System.ServiceModel",
238 "System.ServiceModel.Routing",
239 "System.ServiceModel.Web",
240 "System.ServiceProcess",
242 "System.Transactions",
243 "System.Web.Abstractions",
244 "System.Web.ApplicationServices",
245 "System.Web.DataVisualization.Design",
246 "System.Web.DataVisualization",
248 "System.Web.DynamicData.Design",
249 "System.Web.DynamicData",
250 "System.Web.Entity.Design",
252 "System.Web.Extensions.Design",
253 "System.Web.Extensions",
255 "System.Web.RegularExpressions",
256 "System.Web.Routing",
257 "System.Web.Services",
258 "System.Windows.Forms.DataVisualization.Design",
259 "System.Windows.Forms.DataVisualization",
260 "System.Windows.Forms",
261 "System.Windows.Presentation",
262 "System.Workflow.Activities",
263 "System.Workflow.ComponentModel",
264 "System.Workflow.Runtime",
265 "System.WorkflowServices",
267 "System.Xaml.Hosting",
278 "Microsoft.Activities.Build",
279 "Microsoft.Build.Conversion.v4.0",
281 "Microsoft.Build.Engine",
282 "Microsoft.Build.Framework",
283 "Microsoft.Build.Tasks.v4.0",
284 "Microsoft.Build.Utilities.v4.0",
286 "Microsoft.Data.Entity.Build.Tasks",
288 "Microsoft.VisualBasic.Activities.Compiler",
289 "Microsoft.VisualBasic.Compatibility.Data",
290 "Microsoft.VisualBasic.Compatibility",
291 "Microsoft.VisualBasic",
292 "Microsoft.Windows.ApplicationServer.Applications",
294 "PresentationBuildTasks",
296 "PresentationFramework.Aero",
297 "PresentationFramework.Classic",
298 "PresentationFramework",
299 "PresentationFramework.Luna",
300 "PresentationFramework.Royale",
309 "System.Activities.Core.Presentation",
310 "System.Activities.DurableInstancing",
311 "System.Activities.Presentation",
312 "System.AddIn.Contract",
314 "System.ComponentModel.Composition",
315 "System.ComponentModel.DataAnnotations",
316 "System.Configuration",
317 "System.Configuration.Install",
319 "System.Data.DataSetExtensions",
321 "System.Data.Entity.Design",
322 "System.Data.Entity",
324 "System.Data.OracleClient",
325 "System.Data.Services.Client",
326 "System.Data.Services.Design",
327 "System.Data.Services",
328 "System.Data.SqlXml",
332 "System.DirectoryServices.AccountManagement",
333 "System.DirectoryServices",
334 "System.DirectoryServices.Protocols",
336 "System.Drawing.Design",
339 "System.EnterpriseServices",
340 "System.EnterpriseServices.Thunk",
341 "System.EnterpriseServices.Wrapper",
342 "System.IdentityModel",
343 "System.IdentityModel.Selectors",
344 "System.IdentityModel.Services",
345 "System.IO.Compression",
346 "System.IO.Compression.FileSystem",
349 "System.Management.Instrumentation",
353 "System.Net.Http.WebRequest",
355 "System.Reflection.context",
356 "System.Runtime.Caching",
357 "System.Runtime.Remoting",
358 "System.Runtime.Serialization",
359 "System.Runtime.Serialization.Formatters.Soap",
361 "System.ServiceModel.Activation",
362 "System.ServiceModel.Activities",
363 "System.ServiceModel.Channels",
364 "System.ServiceModel.Discovery",
365 "System.ServiceModel",
366 "System.ServiceModel.Routing",
367 "System.ServiceModel.Web",
368 "System.ServiceProcess",
369 "System.Threading.Tasks.Dataflow",
370 "System.Transactions",
371 "System.Web.Abstractions",
372 "System.Web.ApplicationServices",
373 "System.Web.DataVisualization.Design",
374 "System.Web.DataVisualization",
376 "System.Web.DynamicData.Design",
377 "System.Web.DynamicData",
378 "System.Web.Entity.Design",
380 "System.Web.Extensions.Design",
381 "System.Web.Extensions",
383 "System.Web.RegularExpressions",
384 "System.Web.Services",
385 "System.Windows.Forms.DataVisualization.Design",
386 "System.Windows.Forms.DataVisualization",
387 "System.Windows.Forms",
388 "System.Windows.Presentation",
389 "System.Workflow.Activities",
390 "System.Workflow.ComponentModel",
391 "System.Workflow.Runtime",
392 "System.WorkflowServices",
394 "System.Xaml.Hosting",
402 "Microsoft.VisualBasic",
406 "System.Runtime.Serialization",
407 "System.ServiceModel",
408 "System.Windows.Browser",
412 "System.Windows.Controls",
413 "System.Windows.Controls.Data",
418 "Microsoft.VisualBasic",
422 "System.Runtime.Serialization",
423 "System.ServiceModel",
424 "System.ServiceModel.Web",
426 "System.Windows.Browser",
430 "System.ComponentModel.Composition",
431 "System.ComponentModel.Composition.Initialization",
432 "System.ComponentModel.DataAnnotations",
433 "System.Data.Services.Client",
436 "System.Runtime.Serialization.Json",
437 "System.ServiceModel.Extensions",
438 "System.ServiceModel.NetTcp",
439 "System.ServiceModel.PollingDuplex",
440 "System.ServiceModel.Syndication",
441 "System.ServiceModel.Web.Extensions",
442 "System.Windows.Controls.Data",
443 "System.Windows.Controls.Data.Input",
444 "System.Windows.Controls",
445 "System.Windows.Controls.Input",
446 "System.Windows.Controls.Navigation",
447 "System.Windows.Data",
449 "System.Xml.Serialization",
454 def locate(assembly, fxs = nil)
457 file = File.join fx, assembly + ".dll"
458 return file if File.file?(file)
462 gac = File.join $gac, assembly, "**", "*.dll"
466 return glob.first if glob and glob.length > 0
470 Dir.glob(glob).each do |file|
475 def clean(pattern, allow_create = false)
476 if allow_create and not File.directory? "masterinfos"
477 Dir.mkdir("masterinfos")
481 delete(File.join("masterinfos", pattern))
484 def generate(location, assembly)
485 out = File.join "masterinfos", assembly + ".xml"
486 system("./mono-api-info.exe \"#{location}\" > #{out}")
489 def process(profile, assemblies, fxs = nil)
492 assemblies.each do |assembly|
493 if assembly != nil and assembly.length > 0
495 location = locate(assembly, fxs)
497 generate(location, assembly)
499 puts "fail to locate " + assembly
501 #puts " " + location if location
507 file = "masterinfos-#{profile}.tar"
509 system("tar -cf #{file} masterinfos")
510 system("gzip #{file}")
514 Dir.delete("masterinfos")
519 process("2.0", $net_2_0, [$fx2_0])
520 process("3.0", $net_3_0, [$fx3_0, $fx2_0])
521 process("3.5", $net_3_5, [$fx3_5, $fx2_0])
522 process("4.0", $net_4_0, [$fx4_0, $fx4_0_wpf])
523 process("4.5", $net_4_5, [$fx4_5, $fx4_5_wpf])
524 process("SL4", $sl_4, [$sl4, $sl4_sdk])