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 $sl2_0 = 'C:/Program Files/Microsoft Silverlight/2.0.40115.0'
15 $sl2_0sdk = 'C:/Program Files/Microsoft SDKs/Silverlight/v2.0/Libraries/Client/'
16 $sl4 = 'C:/Program Files/Microsoft Silverlight/4.0.51204.0'
17 $sl4_sdk = 'C:/Program Files/Microsoft SDKs/Silverlight/v4.0/Libraries/Client'
23 "System.Data.OracleClient",
24 "System.DirectoryServices",
26 "System.Runtime.Remoting",
27 "System.Runtime.Serialization.Formatters.Soap",
29 "System.ServiceProcess",
31 "System.Web.Services",
32 "System.Windows.Forms",
35 "Microsoft.VisualBasic",
37 "System.Configuration.Install",
39 "System.Drawing.Design",
40 "System.EnterpriseServices",
48 "System.Configuration",
50 "System.Data.OracleClient",
51 "System.DirectoryServices",
53 "System.Runtime.Remoting",
54 "System.Runtime.Serialization.Formatters.Soap",
56 "System.ServiceProcess",
57 "System.Transactions",
59 "System.Web.Services",
60 "System.Windows.Forms",
63 "Microsoft.VisualBasic",
65 "Microsoft.Build.Engine",
66 "Microsoft.Build.Framework",
67 "Microsoft.Build.Tasks",
68 "Microsoft.Build.Utilities",
70 "System.Configuration.Install",
72 "System.Drawing.Design",
73 "System.EnterpriseServices",
81 "PresentationFramework",
85 "System.IdentityModel",
86 "System.IdentityModel.Selectors",
88 "System.Runtime.Serialization",
89 "System.ServiceModel",
91 "System.Workflow.Activities",
92 "System.Workflow.ComponentModel",
93 "System.Workflow.Runtime",
95 "PresentationBuildTasks",
97 "PresentationFramework.Aero",
98 "PresentationFramework.Classic",
99 "PresentationFramework.Luna",
100 "PresentationFramework.Royale",
110 "System.AddIn.Contract",
111 "System.Configuration",
113 "System.Configuration.Install",
116 "System.Data.OracleClient",
117 "System.DirectoryServices",
118 # "System.DirectoryServices.AccountManagement",
119 # "System.DirectoryServices.Protocols",
122 "System.Runtime.Remoting",
124 "System.ServiceProcess",
125 "System.Transactions",
127 "System.Web.Extensions",
128 "System.Web.Extensions.Design",
130 "System.Web.RegularExpressions",
131 "System.Web.Services",
132 "System.Windows.Forms",
136 "System.Runtime.Serialization.Formatters.Soap",
138 "Microsoft.VisualBasic",
140 "Microsoft.Build.Engine",
141 "Microsoft.Build.Framework",
142 "Microsoft.Build.Tasks",
143 "Microsoft.Build.Utilities",
144 "Microsoft.Build.Conversion.v3.5",
145 "Microsoft.Build.Utilities.v3.5",
147 "System.Configuration.Install",
149 "System.Drawing.Design",
150 "System.EnterpriseServices",
152 "System.Management.Instrumentation",
159 "Microsoft.Build.Conversion.v4.0",
161 "Microsoft.Build.Engine",
162 "Microsoft.Build.Framework",
163 "Microsoft.Build.Tasks.v4.0",
164 "Microsoft.Build.Utilities.v4.0",
166 "Microsoft.Data.Entity.Build.Tasks",
168 "Microsoft.VisualBasic.Compatibility.Data",
169 "Microsoft.VisualBasic.Compatibility",
170 "Microsoft.VisualBasic",
171 # "Microsoft.VisualC.STLCLR",
173 "PresentationBuildTasks",
175 "PresentationFramework.Aero",
176 "PresentationFramework.Classic",
177 "PresentationFramework",
178 "PresentationFramework.Luna",
179 "PresentationFramework.Royale",
184 "System.Activities.Core.Presentation",
185 "System.Activities.DurableInstancing",
186 "System.Activities.Presentation",
187 "System.AddIn.Contract",
189 "System.ComponentModel.Composition",
190 "System.ComponentModel.DataAnnotations",
191 "System.configuration",
192 "System.Configuration.Install",
194 "System.Data.DataSetExtensions",
196 "System.Data.Entity.Design",
197 "System.Data.Entity",
199 "System.Data.OracleClient",
200 "System.Data.Services.Client",
201 "System.Data.Services.Design",
202 "System.Data.Services",
203 "System.Data.SqlXml",
207 "System.DirectoryServices.AccountManagement",
208 "System.DirectoryServices",
209 "System.DirectoryServices.Protocols",
211 "System.Drawing.Design",
214 "System.EnterpriseServices",
215 "System.EnterpriseServices.Thunk",
216 "System.EnterpriseServices.Wrapper",
217 "System.IdentityModel",
218 "System.IdentityModel.Selectors",
221 "System.Management.Instrumentation",
226 "System.Runtime.Caching",
227 "System.Runtime.Remoting",
228 "System.Runtime.Serialization",
229 "System.Runtime.Serialization.Formatters.Soap",
231 "System.ServiceModel.Activation",
232 "System.ServiceModel.Activities",
233 "System.ServiceModel.Channels",
234 "System.ServiceModel.Discovery",
235 "System.ServiceModel",
236 "System.ServiceModel.Routing",
237 "System.ServiceModel.Web",
238 "System.ServiceProcess",
240 "System.Transactions",
241 "System.Web.Abstractions",
242 "System.Web.ApplicationServices",
243 "System.Web.DataVisualization.Design",
244 "System.Web.DataVisualization",
246 "System.Web.DynamicData.Design",
247 "System.Web.DynamicData",
248 "System.Web.Entity.Design",
250 "System.Web.Extensions.Design",
251 "System.Web.Extensions",
253 "System.Web.RegularExpressions",
254 "System.Web.Routing",
255 "System.Web.Services",
256 "System.Windows.Forms.DataVisualization.Design",
257 "System.Windows.Forms.DataVisualization",
258 "System.Windows.Forms",
259 "System.Windows.Presentation",
260 "System.Workflow.Activities",
261 "System.Workflow.ComponentModel",
262 "System.Workflow.Runtime",
263 "System.WorkflowServices",
265 "System.Xaml.Hosting",
276 "Microsoft.VisualBasic",
280 "System.Runtime.Serialization",
281 "System.ServiceModel",
282 "System.Windows.Browser",
286 "System.Windows.Controls",
287 "System.Windows.Controls.Data",
292 "Microsoft.VisualBasic",
296 "System.Runtime.Serialization",
297 "System.ServiceModel",
298 "System.ServiceModel.Web",
300 "System.Windows.Browser",
304 "System.ComponentModel.Composition",
305 "System.ComponentModel.Composition.Initialization",
306 "System.ComponentModel.DataAnnotations",
307 "System.Data.Services.Client",
310 "System.Runtime.Serialization.Json",
311 "System.ServiceModel.Extensions",
312 "System.ServiceModel.NetTcp",
313 "System.ServiceModel.PollingDuplex",
314 "System.ServiceModel.Syndication",
315 "System.ServiceModel.Web.Extensions",
316 "System.Windows.Controls.Data",
317 "System.Windows.Controls.Data.Input",
318 "System.Windows.Controls",
319 "System.Windows.Controls.Input",
320 "System.Windows.Controls.Navigation",
321 "System.Windows.Data",
323 "System.Xml.Serialization",
328 def locate(assembly, fxs = nil)
331 file = File.join fx, assembly + ".dll"
332 return file if File.file?(file)
336 gac = File.join $gac, assembly, "**", "*.dll"
340 return glob.first if glob and glob.length > 0
344 Dir.glob(glob).each do |file|
349 def clean(pattern, allow_create = false)
350 if allow_create and not File.directory? "masterinfos"
351 Dir.mkdir("masterinfos")
355 delete(File.join("masterinfos", pattern))
358 def generate(location, assembly)
359 out = File.join "masterinfos", assembly + ".xml"
360 system("./mono-api-info.exe \"#{location}\" > #{out}")
363 def process(profile, assemblies, fxs = nil)
366 assemblies.each do |assembly|
367 if assembly != nil and assembly.length > 0
369 location = locate(assembly, fxs)
371 generate(location, assembly)
373 puts "fail to locate " + assembly
375 #puts " " + location if location
381 file = "masterinfos-#{profile}.tar"
383 system("tar -cf #{file} masterinfos")
384 system("gzip #{file}")
388 Dir.delete("masterinfos")
393 process("1.1", $net_1_1, [$fx1_1])
394 process("2.0", $net_2_0, [$fx2_0])
395 process("3.0", $net_3_0, [$fx3_0, $fx2_0])
396 process("3.5", $net_3_5, [$fx3_5, $fx2_0])
397 process("4.0", $net_4_0, [$fx4_0, $fx4_0_wpf])
398 process("SL4", $sl_4, [$sl4, $sl4_sdk])