5 $gac = 'C:/WINDOWS/assembly/GAC_MSIL'
\r
6 $fx = 'C:/WINDOWS/Microsoft.NET/Framework'
\r
8 $fx1 = File.join $fx, "v1.1.4322"
\r
9 $fx2 = File.join $fx, "v2.0.50727"
\r
10 $fx3_0 = 'C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.0'
\r
11 $fx3_5 = 'C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.5'
\r
12 $sl2_0 = 'C:/Program Files/Microsoft Silverlight/2.0.31005.0'
\r
18 "System.Data.OracleClient",
\r
19 "System.DirectoryServices",
\r
21 "System.Runtime.Remoting",
\r
22 "System.Runtime.Serialization.Formatters.Soap",
\r
24 "System.ServiceProcess",
\r
26 "System.Web.Services",
\r
27 "System.Windows.Forms",
\r
30 "Microsoft.VisualBasic",
\r
32 "System.Configuration.Install",
\r
34 "System.Drawing.Design",
\r
35 "System.EnterpriseServices",
\r
36 "System.Management",
\r
43 "System.Configuration",
\r
45 "System.Data.OracleClient",
\r
46 "System.DirectoryServices",
\r
48 "System.Runtime.Remoting",
\r
49 "System.Runtime.Serialization.Formatters.Soap",
\r
51 "System.ServiceProcess",
\r
52 "System.Transactions",
\r
54 "System.Web.Services",
\r
55 "System.Windows.Forms",
\r
58 "Microsoft.VisualBasic",
\r
60 "Microsoft.Build.Engine",
\r
61 "Microsoft.Build.Framework",
\r
62 "Microsoft.Build.Tasks",
\r
63 "Microsoft.Build.Utilities",
\r
65 "System.Configuration.Install",
\r
67 "System.Drawing.Design",
\r
68 "System.EnterpriseServices",
\r
69 "System.Management",
\r
76 "PresentationFramework",
\r
80 "System.IdentityModel",
\r
81 "System.IdentityModel.Selectors",
\r
83 "System.Runtime.Serialization",
\r
84 "System.ServiceModel",
\r
86 "System.Workflow.Activities",
\r
87 "System.Workflow.ComponentModel",
\r
88 "System.Workflow.Runtime",
\r
90 "PresentationBuildTasks",
\r
92 "PresentationFramework.Aero",
\r
93 "PresentationFramework.Classic",
\r
94 "PresentationFramework.Luna",
\r
95 "PresentationFramework.Royale",
\r
105 "System.AddIn.Contract",
\r
106 "System.Configuration",
\r
108 "System.Configuration.Install",
\r
110 "System.Data.Linq",
\r
111 "System.Data.OracleClient",
\r
112 "System.DirectoryServices",
\r
113 # "System.DirectoryServices.AccountManagement",
\r
114 # "System.DirectoryServices.Protocols",
\r
117 "System.Runtime.Remoting",
\r
119 "System.ServiceProcess",
\r
120 "System.Transactions",
\r
122 "System.Web.Extensions",
\r
123 "System.Web.Extensions.Design",
\r
124 "System.Web.Mobile",
\r
125 "System.Web.RegularExpressions",
\r
126 "System.Web.Services",
\r
127 "System.Windows.Forms",
\r
131 "System.Runtime.Serialization.Formatters.Soap",
\r
133 "Microsoft.VisualBasic",
\r
135 "Microsoft.Build.Engine",
\r
136 "Microsoft.Build.Framework",
\r
137 "Microsoft.Build.Tasks",
\r
138 "Microsoft.Build.Utilities",
\r
140 "System.Configuration.Install",
\r
142 "System.Drawing.Design",
\r
143 "System.EnterpriseServices",
\r
144 "System.Management",
\r
145 "System.Management.Instrumentation",
\r
146 "System.Messaging",
\r
152 "Microsoft.VisualBasic",
\r
156 "System.Runtime.Serialization",
\r
157 "System.ServiceModel",
\r
158 "System.Windows.Browser",
\r
162 def locate(assembly, fxs = nil)
\r
165 file = File.join fx, assembly + ".dll"
\r
166 return file if File.file?(file)
\r
170 gac = File.join $gac, assembly, "**", "*.dll"
\r
172 glob = Dir.glob gac
\r
174 return glob.first if glob and glob.length > 0
\r
178 Dir.glob(glob).each do |file|
\r
183 def clean(pattern, allow_create = false)
\r
184 if allow_create and not File.directory? "masterinfos"
\r
185 Dir.mkdir("masterinfos")
\r
189 delete(File.join("masterinfos", pattern))
\r
192 def generate(assembly)
\r
193 asm = File.join "masterinfos", assembly + ".dll"
\r
194 out = File.join "masterinfos", assembly + ".xml"
\r
195 system("./mono-api-info.exe #{asm} > #{out}")
\r
198 def process(profile, assemblies, fxs = nil)
\r
201 assemblies.each do |assembly|
\r
202 if assembly != nil and assembly.length > 0
\r
204 location = locate(assembly, fxs)
\r
206 File.copy(location, "masterinfos")
\r
209 puts "fail to locate " + assembly
\r
211 #puts " " + location if location
\r
217 file = "masterinfos-#{profile}.tar"
\r
219 system("tar -cf #{file} masterinfos")
\r
220 system("gzip #{file}")
\r
224 Dir.delete("masterinfos")
\r
229 process("1.1", $net_1_1, [$fx1])
\r
230 process("2.0", $net_2_0, [$fx2])
\r
231 process("3.0", $net_3_0, [$fx3_0, $fx2])
\r
232 process("3.5", $net_3_5, [$fx3_5, $fx2])
\r
233 process("SL2", $sl_2_0, [$sl2_0])
\r