Add support for resolving project and other assembly references, including
[mono.git] / mcs / class / Microsoft.Build.Tasks / Microsoft.Build.Tasks / ChangeLog
1 2009-06-08  Ankit Jain  <jankit@novell.com>
2
3         * ResolvedReference.cs: New.
4         * AssemblyResolver.cs (GetResolvedReference): New. Honor's the
5         'Private' metadata and sets CopyLocal.
6         (SearchPath): New. Used to track how the reference was resolved.
7         (IsStrongNamed): Fix potential null ref.
8         All the assembly resolution methods now return ResolvedReference
9         instead of strings, to aid in proper CopyLocal behavior and
10         dependency resolution.
11         * ResolveAssemblyReference.cs: Add support for finding related files,
12         satellite files, resolving dependencies, copy local files.
13         Resolve files specified in "AssemblyFiles" param also, used to resolve
14         project references and dependencies.
15
16 2009-06-07  Ankit Jain  <jankit@novell.com>
17
18         * Csc.cs (AddResponseFileCommands): Split DefineConstants on space also.
19
20 2009-06-07  Ankit Jain  <jankit@novell.com>
21
22         * AssignTargetPath.cs (Execute): Expand incoming path to absolute
23         path, and correctly extract relative path (skipping over the preceding
24         dir separator).
25
26 2009-06-07  Ankit Jain  <jankit@novell.com>
27
28         * Copy.cs (CopyFile): Don't copy if the source and dest are the same.
29
30 2009-04-27  Ankit Jain  <jankit@novell.com>
31
32         * CreateCSharpManifestResourceName.cs (GetResourceIdFromFileName): Move
33         to ..
34         * CreateManifestResourceName.cs: .. here.
35         * CreateVisualBasicManifestResourceName.cs: Implement.
36
37 2009-04-27  Ankit Jain  <jankit@novell.com>
38
39         * Vbc.cs (AddResponseFileCommands): Escape DefineConstants as it can
40         contain double quotes itself. Fix /doc switch.
41         (EscapeDoubleQuotes): New.
42
43 2009-03-22  Daniel Nauck  <dna@mono-project.de>
44
45         * GenerateResource.cs: Set BasePath property of
46                 ResXResourceReader class.
47                 See: http://lists.ximian.com/pipermail/mono-devel-list/2009-March/031459.html
48
49 2009-03-19  Ankit Jain  <jankit@novell.com>
50
51         Fix bugs #323833 and #484384.
52         * AssemblyResolver.cs (GatherGacAssemblies): Handle duplicate entries.
53         These seem to be old copies of the assemblies with old keys. Pick
54         the one with the latest timestamp.
55
56 2009-03-03  Ankit Jain  <jankit@novell.com>
57
58         Fix bug #480856.
59         * Csc.cs (AddResponseFileCommands): Split DefineConstants on ';'.
60
61 2009-02-26  Ankit Jain  <jankit@novell.com>
62
63         * MakeDir.cs (Execute): Don't create+log if dir already exists.
64
65 2009-02-25  Ankit Jain  <jankit@novell.com>
66
67         * AL.cs (Execute): Use ToolTask.Execute instead of doing our own.
68
69 2009-02-25  Ankit Jain  <jankit@novell.com>
70
71         * AssemblyResolver.cs:
72         * ResolveAssemblyReference.cs: Honor SpecificVersion. Emit detailed error
73         messages incase assembly resolution fails. Make specific version
74         strict.
75
76 2009-02-25  Ankit Jain  <jankit@novell.com>
77
78         * ManagedCompiler.cs (AddResponseFileCommands): Use LogicalName for
79         embedded resources, wherever available.
80         * CreateCSharpManifestResourceName.cs (GetResourceIdFromFileName): Use
81         Path.Combine instead of hardcoding "\".
82
83 2009-02-25  Ankit Jain  <jankit@novell.com>
84
85         * MSBuild.cs (Execute): Reset current directory back after every
86         project's execution.
87
88 2009-02-21  Ankit Jain  <jankit@novell.com>
89
90         Fix bug #458916.
91         * Copy.cs: CopiedFiles and DestinationFiles should have target paths
92         instead of source. Also, the metadata should get retained from source
93         items. Based on a patch by Jeffrey Richardson <themann@indyfantasysports.net>
94         Refactor a bit to remove code duplication.
95
96 2009-02-21  Ankit Jain  <jankit@novell.com>
97
98         * MSBuild.cs (SplitPropertiesToDictionary): Split into exactly 2 parts.
99
100 2009-02-11  Leszek Ciesielski <skolima@gmail.com>
101
102         * ResolveAssemblyReference.cs : AllowedRelatedFileExtensions stub
103
104 2009-02-02  Ankit Jain  <jankit@novell.com>
105
106         * MSBuild.cs (Execute): Disable incorrect 'rebaseOutputs' behavior.
107
108 2009-02-02  Ankit Jain  <jankit@novell.com>
109
110         * ResolveAssemblyReference.cs: Honor SearchPaths and the special
111         items like '{HintPathFromItem}', '{TargetFrameworkDirectory}' etc.
112         * AssemblyResolver.cs: Add api for more specific search, like search
113         in a directory, target frameworks, gac etc.
114
115 2009-02-01  Ankit Jain  <jankit@novell.com>
116
117         * CallTarget.cs: Copy all items from target to TargetOutputs.
118
119 2009-02-01  Ankit Jain  <jankit@novell.com>
120
121         * Csc.cs (AddResponseFileCommands):
122         * ManagedCompiler.cs (AddResponseFileCommands): 'AddModules' and
123         'AdditionalLibPaths' can be empty.
124
125 2009-01-30  Ankit Jain  <jankit@novell.com>
126
127         * Copy.cs (Execute): Use for loop instead of enumerators.
128         sourceFiles and destinationFiles can be null, handle that.
129         Create new directory if required.
130
131 2009-01-27  Ankit Jain  <jankit@novell.com>
132
133         * Delete.cs (Execute): Skip non-existant files.
134
135 2009-01-06  Ankit Jain  <jankit@novell.com>
136
137         * CreateManifestResourceName.cs (Execute): Use full path, also helps
138         with debugging.
139
140 2008-12-17  Ankit Jain  <jankit@novell.com>
141
142         * Copy.cs: Always overwrite destination files.
143
144 2008-12-17  Ankit Jain  <jankit@novell.com>
145
146         * GenerateResource.cs (Execute): Items in 'OutputResources' correspond to
147         items in 'Sources', handle correctly.
148
149 2008-12-12  Ankit Jain  <jankit@novell.com>
150
151         * CreateManifestResourceName.cs: Implement.
152         * CreateCSharpManifestResourceName.cs: Implement.
153
154 2008-11-27  Ankit Jain  <jankit@novell.com>
155
156         * AssignCulture.cs (Execute): Emit "Culture" metadata also.
157
158 2008-11-23  Ankit Jain  <jankit@novell.com>
159
160         * AssignCulture.cs (Execute): Implement.
161
162 2008-11-22  Ankit Jain  <jankit@novell.com>
163
164         * AssignTargetPath.cs (Execute): Implement.
165
166 2008-11-21  Ankit Jain  <jankit@novell.com>
167
168         * GenerateResource.cs (Execute): Use for loop instead of manually
169         using enumerators.
170
171 2008-11-21  Ankit Jain  <jankit@novell.com>
172
173         * CreateItem (Execute): AdditionalMetadata can be null.
174         Trim metadata values.
175         (IsExcluded): 'exclude' can be null.
176
177 2008-10-09  Ankit Jain  <jankit@novell.com>
178
179         * CreateItem.cs (Execute): Implement.
180
181 2008-10-01  Ankit Jain  <jankit@novell.com>
182
183         * CallTarget.cs (Execute): Implement.
184
185 2008-08-06  Ankit Jain  <jankit@novell.com>
186
187         * Csc.cs (AddResponseFileCommands): Don't quote DefineConstants.
188         Correctly handle response filenames and win32 resource switch.
189
190 2008-06-02  Atsushi Enomoto  <atsushi@ximian.com>
191
192         * AssemblyResolver.cs : do not crash when there is no mono installed.
193
194 2007-05-17  Marek Sieradzki  <marek.sieradzki@gmail.com>
195
196         * ResolveAssemblyReference.cs
197         * AssemblyResolver.cs: Resolve HintPath properly.
198
199 2007-03-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
200
201         * CombinePath.cs: Implemented.
202
203 2007-03-10  Marek Sieradzki  <marek.sieradzki@gmail.com>
204
205         * Vbc.cs: Implemented.
206
207 2007-03-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
208
209         * MSBuild.cs (Execute): Copy referenced project's dlls to output
210         directory.
211
212 2007-02-18  Marek Sieradzki  <marek.sieradzki@gmail.com>
213
214         * AssemblyResolver.cs: Resolve HintPath correctly.
215
216 2007-02-04  Marek Sieradzki  <marek.sieradzki@gmail.com>
217
218         * Delete.cs: Formatting.
219
220 2007-02-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
221
222         * AppDomainIsolatedTaskExtension.cs
223         * ManagedCompiler.cs: corcompare changes.
224
225 2007-02-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
226
227         * ResolveAssemblyReference.cs (Execute): Use Low MessageImportance.
228
229 2007-01-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
230
231         * AssemblyResolver.cs: Added.
232         * ResolveAssemblyReference.cs: Moved most of code to AssemblyResolver.
233
234 2007-01-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
235
236         * GetFrameworkPath.cs
237         * GetFrameworkSdkPath.cs: Changed to use ToolLocationHelper instead of
238         MonoLocationHelper.
239
240 2007-01-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
241
242         * GetAssemblyIdentity.cs
243         * ResolveManifestFiles.cs
244         * RemoveDuplicates.cs
245         * TaskLoggingHelperExtensios.cs: Added
246
247         * SGen.cs: Added missing [Required] and [Output].
248
249 2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
250
251         * RemoveDir.cs (Execute): Don't remove recursively.
252         * CreateProperty.cs: Use the same field for both properties.
253
254 2006-12-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
255
256         * ManagedCompiler.cs, Csc.cs: Moved some code from
257         ManagedCompiler.AddResponseFileCommands to Csc.
258         * SGen.cs: Added. It won't work yet.
259
260 2006-12-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
261
262         * VCBuild.cs: Changed formatting and changed EnvironmentOverride to
263         override from virtual. (corcompare didn't notice the difference)
264         * ToolTaskExtension.cs, TaskExtension.cs: Moved ctors to the beginning
265         of the file.
266         * GenerateDeploymentManifest.cs: Added "using";
267         * ManagedCompiler.cs: Set OutputAssembly when it's empty and Sources
268         is set.
269
270 2006-12-04  Marek Sieradzki  <marek.sieradzki@gmail.com>
271
272         * ManagedCompiler.cs: AddCommandLineCommands (): Changes according to
273         new tests. CheckAllReferences (): Added a null check.
274         * AL.cs (AddResponseFileCommands): Changes according to new tests.
275
276 2006-12-04  Marek Sieradzki  <marek.sieradzki@gmail.com>
277
278         * MSBuild.cs: Added MonoTODO.
279         * MakeDir.cs: Added logging.
280         * Exec.cs: Added FIXME and commented unused variables.
281
282 2006-10-21  Leszek Ciesielski <skolima@gmail.com>
283
284         * CreateTemporaryVCProject.cs:
285         * VCBuild.cs:
286         * UpdateManifest.cs:
287         * Vbc.cs:
288         * GenerateDeploymentManifest.cs: added class stubs
289         * ToolTaskExtension.cs:
290         * TaskExtension.cs: changed constructor to internal
291
292 2006-10-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
293
294         * Exec.cs: Added AddCommandLineCommands ().
295         * GenerateBootstrapper.cs: Added missing attributes.
296         * GenerateManifestBase.cs: Added missing attributes.
297         * GenerateApplicationManifest.cs: Added ValidateInputs ().
298
299 2006-10-10  Marek Sieradzki  <marek.sieradzki@gmail.com>
300
301         * FormatUrl.cs
302         * ResolveAssemblyReference.cs
303         * ResolveProjectBase.cs
304         * AssignTargetPath.cs
305         * CallTarget.cs
306         * AssignCulture.cs
307         * FormatVersion.cs
308         * AssignProjectConfiguration.cs
309         * CreateManifestResourceName.cs: Added missing [Output] and
310         [Required].
311
312 2006-10-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
313
314         * MSBuild.cs: Added error logging.
315         * Copy.cs: Fixed runtime cast exception.
316
317 2006-09-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
318
319         * ResolveAssemblyReference.cs: Added.
320
321 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
322
323         * CreateProperty.cs: First implementation.
324
325 2006-08-15  Marek Sieradzki  <marek.sieradzki@gmail.com>
326
327         * MakeDir.cs, Touch.cs, ReadLinesFromFile.cs, RemoveDir.cs, Delete.cs,
328         Message.cs, FindUnderPath.cs, GenerateResource.cs, Copy.cs: Start to
329         use generics.
330
331 2006-07-17  Marek Sieradzki  <marek.sieradzki@gmail.com>
332
333         * ManagedCompiler.cs: TargetType.Get: added null check.
334
335 2006-06-25  Marek Sieradzki  <marek.sieradzki@gmail.com>
336
337         * Csc.cs: Changed ToolName to make it use gmcs.
338         * ExtractedClassName.cs: Fixed a typo.
339
340 2006-06-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
341
342         * ManagedCompiler.cs: Change TargetType to return lower case text.
343
344 2006-06-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
345
346         * FormatUrl.cs, CreateVisualBasicManifestResourceName.cs,
347         GenereateBootstrapper.cs, ExtractedClassName.cs,
348         GenerateManifestBase.cs, FormatVersion.cs,
349         CreateManifestResourceName.cs, CreateCSharpManifestResourceName.cs,
350         GenerateApplicationManifest.cs: Added stubs.
351         * Exec.cs: Removed some assignments.
352         * CreateItem.cs: Formatting.
353
354 2006-06-17  Marek Sieradzki  <marek.sieradzki@gmail.com>
355
356         * Error.cs: Added null check and changed return value of Execute () to
357         false.
358         * ResolveProjectBase.cs, AssignTargetPath.cs, CallTarget.cs,
359         AspNetCompiler.cs, AssignCulture.cs, AssignProjectConfiguration.cs:
360         Added stubs.
361
362 2006-05-26  Marek Sieradzki  <marek.sieradzki@gmail.com>
363
364         * RegisterAssembly.cs, SignFile.cs, GenerateTrustInfo.cs,
365         CreateItem.cs, UnregisterAssembly.cs, Csc.cs: Changed various return
366         null and return true to NotImplementedException;
367         * Error.cs: Changed to use helpKeyword and code.
368         * GetFrameworkSdkPath.cs, GetFrameworkPath.cs: Changed to use
369         Mono.XBuild.Utilities.MonoLocationHelper.
370         * Message.cs: Fixed to use proper MessageImportance and removed error
371         logging.
372         * ManagedCompiler.cs: Added MonoTODO and ListHasNoDuplicateItems ().
373         * GenerateResource.cs: Fixed wrong if block.
374
375 2006-05-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
376
377         * Message.cs: Made messageImportance local variable.
378
379 2006-05-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
380
381         * MakeDir.cs: Removed warning.
382         * Exec.cs: Fixed commmand execution.
383         * ReadLinesFromFile.cs: Formatting.
384
385 2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
386
387         * GenerateResource.cs: Added authors of monoresgen.
388
389 2006-03-18  Marek Sieradzki  <marek.sieradzki@gmail.com> 
390
391         * ManagedCompiler.cs: Fixed a typo.
392         * AssemblyInfo.cs: Removed AllowPartiallyTrustedCallersAttribute.
393
394 2006-03-11  Marek Sieradzki  <marek.sieradzki@gmail.com> 
395
396         * MonoTODOAttribute.cs: Removed.
397         * CombinePath.cs, CreateProperty.cs, GenerateResources.cs,
398         SignFile.cs: Added missing attributes.
399         * Warning.cs: Added missing properties.
400         * WriteLinesToFiles.cs: Compressed properties.
401         * Exec.cs, ManagedCompiler.cs: Added missing methods.
402
403 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com>
404
405         * CombinePath.cs: Added.
406
407 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com>
408
409         * AL.cs: Added Output attribute to OutputAssembly.
410         * AppDomainIsolatedTaskExtension.cs: Added LoadInSeparateAppDomain
411         attribute.
412         * Copy.cs: Added Output attribute to DestinationFiles and Required to
413         SourceFiles.
414         * CreateItem.cs, CreateProperty.cs: Changed string to string[].
415         * Csc.cs: Added PdbFile property.
416         * Error.cs: Added Code and HelpKeyword properties.
417         * Exec.cs: Changed TaskExtension to ToolTaskExtension.
418         * GenerateResource.cs: Added NeverLockType and PublicClass properties.
419         * GenerateTrustInfo.cs: Added Required to TargetZone and Output to
420         TrustInfoFile.
421         * GetFrameworkPath.cs, GetFrameworkSdkPath: Added Output to Path.
422         * MSBuild.cs: Changed string to string[].
423         * ReadLinesFromFile.cs: Added Required to File.
424         * RegiserAssembly.cs: Added AssemblyListFile and CreateCodeBase
425         properties.
426         * UnregisterAssembly.cs: Added AssemblyListFile property.
427         * WriteLinesToFile.cs: Added Required to Lines.
428
429 2006-02-25  Marek Sieradzki <marek.sieradzki@gmail.com> 
430
431         * Csc.cs, ManagedCompiler.cs: Changes required by the new API.
432
433 2005-09-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
434
435         * MakeDir.cs, AppDomainIsolatedTaskExtension.cs, Touch.cs, Exec.cs,
436         RegisterAssembly.cs, Error.cs, ReadLinesFromFile.cs,
437         CommandLineBuilderExtension.cs, RemoveDir.cs, ToolTaskExtension.cs,
438         TaskExtension.cs, SignFile.cs, Delete.cs, Warning.cs,
439         GenerateTrustInfo.cs, GetFrameworkSdkPath.cs, CreateItem.cs,
440         Message.cs, ManagedCompiler.cs, UnregisterAssembly.cs,
441         WriteLinesToFile.cs, FindUnderPath.cs, AL.cs, MSBuild.cs,
442         GenerateResource.cs, CreateProperty.cs, Csc.cs, Copy.cs,
443         GetFrameworkPath.cs: Added #if NET_2_0.
444
445 2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
446
447         * ManagedCompiler.cs, Csc.cs: Moved code to ManagedCompiler.
448         * MSBuild.cs: Added really simple temporary code.
449         * AL.cs: Replaced variables with Bag property.
450
451 2005-09-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
452
453         * AppDomainIsolatedTaskExtension.cs: Changed Log property to base.Log
454         instead of previous protected log field.
455
456 2005-09-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
457
458         * Touch.cs: Changed to use full paths and fixed stream closing.
459         * ReadLinesFromFile.cs: Formatting.
460         * WriteLineToFile.cs: Changed to use full paths.
461         * AL.cs: Changed ToolName.
462
463 2005-08-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
464
465         * Touch.cs: Changed Console.WriteLine to Log.LogErrorFromException.
466
467 2005-08-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
468
469         * Exec.cs: Removed "exited".
470         * AL.cs: Removed Regex.
471         * Csc.cs: Changed default GenerateFullPaths to false.
472
473 2005-08-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
474
475         * Exec.cs: Reformatted and added try/catch.
476         * Error.cs, RemoveDir.cs, Warning.cs, Message.cs, FindUnderPath.cs,
477         GenerateResource.cs, Copy.cs: Changed to use properties.
478         * ToolTaskExtension.cs: Rewritten.
479         * TaskExtension.cs: Changed to use base property.
480         * GetFrameworkSdkPath.cs: Formatting.
481         * ManagedCompiler.cs: Changed to use Bag instead of fields.
482         * AL.cs: Moved command line arguments generation to proper method.
483         * Csc.cs: Changed to use Bag instead of fields and added support for
484         compilation.
485
486 2005-08-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
487
488         * Exec.cs: Fixed arguments.
489
490 2005-08-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
491
492         * Exec.cs: Added redirection of output and removed timeout handling.
493         * Copy.cs: Formatting.
494         * CommandLineBuilderExtension.cs: Formatting.
495
496 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
497
498         * CommandLineBuilderExtension.cs: Added.
499         * ToolTaskExtension.cs, GenerateTrustInfo.cs, GetFrameworkSdkPath.cs,
500         CreateItem.cs, ManagedCompiler.cs, AL.cs, MSBuild.cs,
501         GenerateResource.cs, Csc.cs, CreateProperty.cs, GetFrameworkPath.cs:
502         Updated.
503
504 2005-08-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
505
506         * Exec.cs: First implementation.
507         * MakeDir.cs, GetFrameworkSdkPath.cs, RegisterAssembly.cs, Message.cs,
508         ManagedCompiler.cs, Error.cs, FindUnderPath.cs, RemoveDir.cs, AL.cs,
509         ToolTaskExtension.cs, SignFile.cs, Delete.cs, GenerateResource.cs,
510         Warnings.cs, Csc.cs, GetFrameworkPath.cs: Various fixes.
511
512 2005-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
513
514         * CreateItem.cs, CreateProperty.cs, MSBuild.cs,: Initial check-in.
515         * Copy.cs, ReadLinesFromFile.cs, TaskExtension.cs, Touch.cs,
516         Warning.cs, WriteLinesToFile.cs: First implementation.
517
518 2005-07-13  Marek Sieradzki  <marek.sieradzki@gmail.com>
519
520         * AL.cs, AppDomainIsolatedTaskExtension.cs, Copy.cs, Csc.cs,
521         Delete.cs, Error.cs, Exec.cs, FindUnderPath.cs, GenerateResource.cs,
522         GenerateTrustInfo.cs, GetFrameworkPath.cs, GetFrameworkSdkPath.cs,
523         MSBuild.cs, MakeDir.cs, ManagedCompiler.cs, Message.cs,
524         MonoTODOAttribute.cs, ReadLinesFromFile.cs, RegisterAssembly.cs,
525         RemoveDir.cs, SignFile.cs, TaskExtension.cs, ToolTaskExtension.cs,
526         Touch.cs, UnregisterAssembly.cs, Warning.cs, WriteLinesToFile.cs:
527         initial check-in