1 2009-07-22 Ankit Jain <jankit@novell.com>
4 * ResolvedReference.cs (AssemblyName): New.
5 (IsPrimary): New. Primary (eg. specified in the project file) or
7 (FoundInSearchPathAsString): New.
8 * AssemblyResolver.cs (GetResolvedReference): Add a 'assembly name'
9 param for the new field in ResolvedReference.
10 (AssemblyNamesCompatible): Fix the check for public key token.
13 * ResolveAssemblyReference.cs: Keep track of resolved assemblies,
14 prevent duplicate references and other files.
15 Process dependencies after resolving all the primary references.
16 Search for dependencies in parent assembly's dir first and then
17 the specified search paths.
18 Detect assembly version conflicts and try to resolve.
19 Improve logged messages.
20 (PrimaryReference): New.
21 (ResolveAssemblyReferenceHelper.AddUniqueFile): New extension method.
23 2009-07-16 Ankit Jain <jankit@novell.com>
27 * AssemblyResolver.cs (FindInDirectory): Try the @reference as a
28 filename as it is, or with different @file_extensions.
29 If @reference is a assembly name, then look for *.@file_extensions
31 (GetAssemblyNameFromFile): Log FileNotFoundException and BadImageFormatException
32 separately, instead of a single unclear message.
34 Change all uses of Assembly.GetAssemblyName with GetAssemblyNameFromFile
35 which does the required error checking and logging.
37 2009-06-12 Ankit Jain <jankit@novell.com>
40 * AL.cs, AspNetCompiler.cs, Csc.cs,
41 SGen.cs, Vbc.cs (ToolName): Append ".bat" when running
44 2009-06-09 Ankit Jain <jankit@novell.com>
46 * MSBuild.cs (Execute): Copy metadata from the @Projects items
47 to the target outputs.
49 2009-06-08 Ankit Jain <jankit@novell.com>
51 * ResolvedReference.cs: Add missing file.
53 2009-06-08 Ankit Jain <jankit@novell.com>
55 * AssignCulture.cs (TrySplitResourceName): Reset culture arg to null
57 * CreateCSharpManifestResourceName.cs: Set culture to null if the
60 2009-06-08 Ankit Jain <jankit@novell.com>
62 * ResolvedReference.cs: New.
63 * AssemblyResolver.cs (GetResolvedReference): New. Honor's the
64 'Private' metadata and sets CopyLocal.
65 (SearchPath): New. Used to track how the reference was resolved.
66 (IsStrongNamed): Fix potential null ref.
67 All the assembly resolution methods now return ResolvedReference
68 instead of strings, to aid in proper CopyLocal behavior and
69 dependency resolution.
70 * ResolveAssemblyReference.cs: Add support for finding related files,
71 satellite files, resolving dependencies, copy local files.
72 Resolve files specified in "AssemblyFiles" param also, used to resolve
73 project references and dependencies.
75 2009-06-07 Ankit Jain <jankit@novell.com>
77 * Csc.cs (AddResponseFileCommands): Split DefineConstants on space also.
79 2009-06-07 Ankit Jain <jankit@novell.com>
81 * AssignTargetPath.cs (Execute): Expand incoming path to absolute
82 path, and correctly extract relative path (skipping over the preceding
85 2009-06-07 Ankit Jain <jankit@novell.com>
87 * Copy.cs (CopyFile): Don't copy if the source and dest are the same.
89 2009-04-27 Ankit Jain <jankit@novell.com>
91 * CreateCSharpManifestResourceName.cs (GetResourceIdFromFileName): Move
93 * CreateManifestResourceName.cs: .. here.
94 * CreateVisualBasicManifestResourceName.cs: Implement.
96 2009-04-27 Ankit Jain <jankit@novell.com>
98 * Vbc.cs (AddResponseFileCommands): Escape DefineConstants as it can
99 contain double quotes itself. Fix /doc switch.
100 (EscapeDoubleQuotes): New.
102 2009-03-22 Daniel Nauck <dna@mono-project.de>
104 * GenerateResource.cs: Set BasePath property of
105 ResXResourceReader class.
106 See: http://lists.ximian.com/pipermail/mono-devel-list/2009-March/031459.html
108 2009-03-19 Ankit Jain <jankit@novell.com>
110 Fix bugs #323833 and #484384.
111 * AssemblyResolver.cs (GatherGacAssemblies): Handle duplicate entries.
112 These seem to be old copies of the assemblies with old keys. Pick
113 the one with the latest timestamp.
115 2009-03-03 Ankit Jain <jankit@novell.com>
118 * Csc.cs (AddResponseFileCommands): Split DefineConstants on ';'.
120 2009-02-26 Ankit Jain <jankit@novell.com>
122 * MakeDir.cs (Execute): Don't create+log if dir already exists.
124 2009-02-25 Ankit Jain <jankit@novell.com>
126 * AL.cs (Execute): Use ToolTask.Execute instead of doing our own.
128 2009-02-25 Ankit Jain <jankit@novell.com>
130 * AssemblyResolver.cs:
131 * ResolveAssemblyReference.cs: Honor SpecificVersion. Emit detailed error
132 messages incase assembly resolution fails. Make specific version
135 2009-02-25 Ankit Jain <jankit@novell.com>
137 * ManagedCompiler.cs (AddResponseFileCommands): Use LogicalName for
138 embedded resources, wherever available.
139 * CreateCSharpManifestResourceName.cs (GetResourceIdFromFileName): Use
140 Path.Combine instead of hardcoding "\".
142 2009-02-25 Ankit Jain <jankit@novell.com>
144 * MSBuild.cs (Execute): Reset current directory back after every
147 2009-02-21 Ankit Jain <jankit@novell.com>
150 * Copy.cs: CopiedFiles and DestinationFiles should have target paths
151 instead of source. Also, the metadata should get retained from source
152 items. Based on a patch by Jeffrey Richardson <themann@indyfantasysports.net>
153 Refactor a bit to remove code duplication.
155 2009-02-21 Ankit Jain <jankit@novell.com>
157 * MSBuild.cs (SplitPropertiesToDictionary): Split into exactly 2 parts.
159 2009-02-11 Leszek Ciesielski <skolima@gmail.com>
161 * ResolveAssemblyReference.cs : AllowedRelatedFileExtensions stub
163 2009-02-02 Ankit Jain <jankit@novell.com>
165 * MSBuild.cs (Execute): Disable incorrect 'rebaseOutputs' behavior.
167 2009-02-02 Ankit Jain <jankit@novell.com>
169 * ResolveAssemblyReference.cs: Honor SearchPaths and the special
170 items like '{HintPathFromItem}', '{TargetFrameworkDirectory}' etc.
171 * AssemblyResolver.cs: Add api for more specific search, like search
172 in a directory, target frameworks, gac etc.
174 2009-02-01 Ankit Jain <jankit@novell.com>
176 * CallTarget.cs: Copy all items from target to TargetOutputs.
178 2009-02-01 Ankit Jain <jankit@novell.com>
180 * Csc.cs (AddResponseFileCommands):
181 * ManagedCompiler.cs (AddResponseFileCommands): 'AddModules' and
182 'AdditionalLibPaths' can be empty.
184 2009-01-30 Ankit Jain <jankit@novell.com>
186 * Copy.cs (Execute): Use for loop instead of enumerators.
187 sourceFiles and destinationFiles can be null, handle that.
188 Create new directory if required.
190 2009-01-27 Ankit Jain <jankit@novell.com>
192 * Delete.cs (Execute): Skip non-existant files.
194 2009-01-06 Ankit Jain <jankit@novell.com>
196 * CreateManifestResourceName.cs (Execute): Use full path, also helps
199 2008-12-17 Ankit Jain <jankit@novell.com>
201 * Copy.cs: Always overwrite destination files.
203 2008-12-17 Ankit Jain <jankit@novell.com>
205 * GenerateResource.cs (Execute): Items in 'OutputResources' correspond to
206 items in 'Sources', handle correctly.
208 2008-12-12 Ankit Jain <jankit@novell.com>
210 * CreateManifestResourceName.cs: Implement.
211 * CreateCSharpManifestResourceName.cs: Implement.
213 2008-11-27 Ankit Jain <jankit@novell.com>
215 * AssignCulture.cs (Execute): Emit "Culture" metadata also.
217 2008-11-23 Ankit Jain <jankit@novell.com>
219 * AssignCulture.cs (Execute): Implement.
221 2008-11-22 Ankit Jain <jankit@novell.com>
223 * AssignTargetPath.cs (Execute): Implement.
225 2008-11-21 Ankit Jain <jankit@novell.com>
227 * GenerateResource.cs (Execute): Use for loop instead of manually
230 2008-11-21 Ankit Jain <jankit@novell.com>
232 * CreateItem (Execute): AdditionalMetadata can be null.
233 Trim metadata values.
234 (IsExcluded): 'exclude' can be null.
236 2008-10-09 Ankit Jain <jankit@novell.com>
238 * CreateItem.cs (Execute): Implement.
240 2008-10-01 Ankit Jain <jankit@novell.com>
242 * CallTarget.cs (Execute): Implement.
244 2008-08-06 Ankit Jain <jankit@novell.com>
246 * Csc.cs (AddResponseFileCommands): Don't quote DefineConstants.
247 Correctly handle response filenames and win32 resource switch.
249 2008-06-02 Atsushi Enomoto <atsushi@ximian.com>
251 * AssemblyResolver.cs : do not crash when there is no mono installed.
253 2007-05-17 Marek Sieradzki <marek.sieradzki@gmail.com>
255 * ResolveAssemblyReference.cs
256 * AssemblyResolver.cs: Resolve HintPath properly.
258 2007-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
260 * CombinePath.cs: Implemented.
262 2007-03-10 Marek Sieradzki <marek.sieradzki@gmail.com>
264 * Vbc.cs: Implemented.
266 2007-03-08 Marek Sieradzki <marek.sieradzki@gmail.com>
268 * MSBuild.cs (Execute): Copy referenced project's dlls to output
271 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
273 * AssemblyResolver.cs: Resolve HintPath correctly.
275 2007-02-04 Marek Sieradzki <marek.sieradzki@gmail.com>
277 * Delete.cs: Formatting.
279 2007-02-02 Marek Sieradzki <marek.sieradzki@gmail.com>
281 * AppDomainIsolatedTaskExtension.cs
282 * ManagedCompiler.cs: corcompare changes.
284 2007-02-02 Marek Sieradzki <marek.sieradzki@gmail.com>
286 * ResolveAssemblyReference.cs (Execute): Use Low MessageImportance.
288 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
290 * AssemblyResolver.cs: Added.
291 * ResolveAssemblyReference.cs: Moved most of code to AssemblyResolver.
293 2007-01-24 Marek Sieradzki <marek.sieradzki@gmail.com>
295 * GetFrameworkPath.cs
296 * GetFrameworkSdkPath.cs: Changed to use ToolLocationHelper instead of
299 2007-01-06 Marek Sieradzki <marek.sieradzki@gmail.com>
301 * GetAssemblyIdentity.cs
302 * ResolveManifestFiles.cs
303 * RemoveDuplicates.cs
304 * TaskLoggingHelperExtensios.cs: Added
306 * SGen.cs: Added missing [Required] and [Output].
308 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
310 * RemoveDir.cs (Execute): Don't remove recursively.
311 * CreateProperty.cs: Use the same field for both properties.
313 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
315 * ManagedCompiler.cs, Csc.cs: Moved some code from
316 ManagedCompiler.AddResponseFileCommands to Csc.
317 * SGen.cs: Added. It won't work yet.
319 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
321 * VCBuild.cs: Changed formatting and changed EnvironmentOverride to
322 override from virtual. (corcompare didn't notice the difference)
323 * ToolTaskExtension.cs, TaskExtension.cs: Moved ctors to the beginning
325 * GenerateDeploymentManifest.cs: Added "using";
326 * ManagedCompiler.cs: Set OutputAssembly when it's empty and Sources
329 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
331 * ManagedCompiler.cs: AddCommandLineCommands (): Changes according to
332 new tests. CheckAllReferences (): Added a null check.
333 * AL.cs (AddResponseFileCommands): Changes according to new tests.
335 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
337 * MSBuild.cs: Added MonoTODO.
338 * MakeDir.cs: Added logging.
339 * Exec.cs: Added FIXME and commented unused variables.
341 2006-10-21 Leszek Ciesielski <skolima@gmail.com>
343 * CreateTemporaryVCProject.cs:
347 * GenerateDeploymentManifest.cs: added class stubs
348 * ToolTaskExtension.cs:
349 * TaskExtension.cs: changed constructor to internal
351 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
353 * Exec.cs: Added AddCommandLineCommands ().
354 * GenerateBootstrapper.cs: Added missing attributes.
355 * GenerateManifestBase.cs: Added missing attributes.
356 * GenerateApplicationManifest.cs: Added ValidateInputs ().
358 2006-10-10 Marek Sieradzki <marek.sieradzki@gmail.com>
361 * ResolveAssemblyReference.cs
362 * ResolveProjectBase.cs
363 * AssignTargetPath.cs
367 * AssignProjectConfiguration.cs
368 * CreateManifestResourceName.cs: Added missing [Output] and
371 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
373 * MSBuild.cs: Added error logging.
374 * Copy.cs: Fixed runtime cast exception.
376 2006-09-30 Marek Sieradzki <marek.sieradzki@gmail.com>
378 * ResolveAssemblyReference.cs: Added.
380 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
382 * CreateProperty.cs: First implementation.
384 2006-08-15 Marek Sieradzki <marek.sieradzki@gmail.com>
386 * MakeDir.cs, Touch.cs, ReadLinesFromFile.cs, RemoveDir.cs, Delete.cs,
387 Message.cs, FindUnderPath.cs, GenerateResource.cs, Copy.cs: Start to
390 2006-07-17 Marek Sieradzki <marek.sieradzki@gmail.com>
392 * ManagedCompiler.cs: TargetType.Get: added null check.
394 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
396 * Csc.cs: Changed ToolName to make it use gmcs.
397 * ExtractedClassName.cs: Fixed a typo.
399 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
401 * ManagedCompiler.cs: Change TargetType to return lower case text.
403 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
405 * FormatUrl.cs, CreateVisualBasicManifestResourceName.cs,
406 GenereateBootstrapper.cs, ExtractedClassName.cs,
407 GenerateManifestBase.cs, FormatVersion.cs,
408 CreateManifestResourceName.cs, CreateCSharpManifestResourceName.cs,
409 GenerateApplicationManifest.cs: Added stubs.
410 * Exec.cs: Removed some assignments.
411 * CreateItem.cs: Formatting.
413 2006-06-17 Marek Sieradzki <marek.sieradzki@gmail.com>
415 * Error.cs: Added null check and changed return value of Execute () to
417 * ResolveProjectBase.cs, AssignTargetPath.cs, CallTarget.cs,
418 AspNetCompiler.cs, AssignCulture.cs, AssignProjectConfiguration.cs:
421 2006-05-26 Marek Sieradzki <marek.sieradzki@gmail.com>
423 * RegisterAssembly.cs, SignFile.cs, GenerateTrustInfo.cs,
424 CreateItem.cs, UnregisterAssembly.cs, Csc.cs: Changed various return
425 null and return true to NotImplementedException;
426 * Error.cs: Changed to use helpKeyword and code.
427 * GetFrameworkSdkPath.cs, GetFrameworkPath.cs: Changed to use
428 Mono.XBuild.Utilities.MonoLocationHelper.
429 * Message.cs: Fixed to use proper MessageImportance and removed error
431 * ManagedCompiler.cs: Added MonoTODO and ListHasNoDuplicateItems ().
432 * GenerateResource.cs: Fixed wrong if block.
434 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
436 * Message.cs: Made messageImportance local variable.
438 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
440 * MakeDir.cs: Removed warning.
441 * Exec.cs: Fixed commmand execution.
442 * ReadLinesFromFile.cs: Formatting.
444 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
446 * GenerateResource.cs: Added authors of monoresgen.
448 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
450 * ManagedCompiler.cs: Fixed a typo.
451 * AssemblyInfo.cs: Removed AllowPartiallyTrustedCallersAttribute.
453 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
455 * MonoTODOAttribute.cs: Removed.
456 * CombinePath.cs, CreateProperty.cs, GenerateResources.cs,
457 SignFile.cs: Added missing attributes.
458 * Warning.cs: Added missing properties.
459 * WriteLinesToFiles.cs: Compressed properties.
460 * Exec.cs, ManagedCompiler.cs: Added missing methods.
462 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
464 * CombinePath.cs: Added.
466 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
468 * AL.cs: Added Output attribute to OutputAssembly.
469 * AppDomainIsolatedTaskExtension.cs: Added LoadInSeparateAppDomain
471 * Copy.cs: Added Output attribute to DestinationFiles and Required to
473 * CreateItem.cs, CreateProperty.cs: Changed string to string[].
474 * Csc.cs: Added PdbFile property.
475 * Error.cs: Added Code and HelpKeyword properties.
476 * Exec.cs: Changed TaskExtension to ToolTaskExtension.
477 * GenerateResource.cs: Added NeverLockType and PublicClass properties.
478 * GenerateTrustInfo.cs: Added Required to TargetZone and Output to
480 * GetFrameworkPath.cs, GetFrameworkSdkPath: Added Output to Path.
481 * MSBuild.cs: Changed string to string[].
482 * ReadLinesFromFile.cs: Added Required to File.
483 * RegiserAssembly.cs: Added AssemblyListFile and CreateCodeBase
485 * UnregisterAssembly.cs: Added AssemblyListFile property.
486 * WriteLinesToFile.cs: Added Required to Lines.
488 2006-02-25 Marek Sieradzki <marek.sieradzki@gmail.com>
490 * Csc.cs, ManagedCompiler.cs: Changes required by the new API.
492 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
494 * MakeDir.cs, AppDomainIsolatedTaskExtension.cs, Touch.cs, Exec.cs,
495 RegisterAssembly.cs, Error.cs, ReadLinesFromFile.cs,
496 CommandLineBuilderExtension.cs, RemoveDir.cs, ToolTaskExtension.cs,
497 TaskExtension.cs, SignFile.cs, Delete.cs, Warning.cs,
498 GenerateTrustInfo.cs, GetFrameworkSdkPath.cs, CreateItem.cs,
499 Message.cs, ManagedCompiler.cs, UnregisterAssembly.cs,
500 WriteLinesToFile.cs, FindUnderPath.cs, AL.cs, MSBuild.cs,
501 GenerateResource.cs, CreateProperty.cs, Csc.cs, Copy.cs,
502 GetFrameworkPath.cs: Added #if NET_2_0.
504 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
506 * ManagedCompiler.cs, Csc.cs: Moved code to ManagedCompiler.
507 * MSBuild.cs: Added really simple temporary code.
508 * AL.cs: Replaced variables with Bag property.
510 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
512 * AppDomainIsolatedTaskExtension.cs: Changed Log property to base.Log
513 instead of previous protected log field.
515 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
517 * Touch.cs: Changed to use full paths and fixed stream closing.
518 * ReadLinesFromFile.cs: Formatting.
519 * WriteLineToFile.cs: Changed to use full paths.
520 * AL.cs: Changed ToolName.
522 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
524 * Touch.cs: Changed Console.WriteLine to Log.LogErrorFromException.
526 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
528 * Exec.cs: Removed "exited".
529 * AL.cs: Removed Regex.
530 * Csc.cs: Changed default GenerateFullPaths to false.
532 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
534 * Exec.cs: Reformatted and added try/catch.
535 * Error.cs, RemoveDir.cs, Warning.cs, Message.cs, FindUnderPath.cs,
536 GenerateResource.cs, Copy.cs: Changed to use properties.
537 * ToolTaskExtension.cs: Rewritten.
538 * TaskExtension.cs: Changed to use base property.
539 * GetFrameworkSdkPath.cs: Formatting.
540 * ManagedCompiler.cs: Changed to use Bag instead of fields.
541 * AL.cs: Moved command line arguments generation to proper method.
542 * Csc.cs: Changed to use Bag instead of fields and added support for
545 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
547 * Exec.cs: Fixed arguments.
549 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
551 * Exec.cs: Added redirection of output and removed timeout handling.
552 * Copy.cs: Formatting.
553 * CommandLineBuilderExtension.cs: Formatting.
555 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
557 * CommandLineBuilderExtension.cs: Added.
558 * ToolTaskExtension.cs, GenerateTrustInfo.cs, GetFrameworkSdkPath.cs,
559 CreateItem.cs, ManagedCompiler.cs, AL.cs, MSBuild.cs,
560 GenerateResource.cs, Csc.cs, CreateProperty.cs, GetFrameworkPath.cs:
563 2005-08-11 Marek Sieradzki <marek.sieradzki@gmail.com>
565 * Exec.cs: First implementation.
566 * MakeDir.cs, GetFrameworkSdkPath.cs, RegisterAssembly.cs, Message.cs,
567 ManagedCompiler.cs, Error.cs, FindUnderPath.cs, RemoveDir.cs, AL.cs,
568 ToolTaskExtension.cs, SignFile.cs, Delete.cs, GenerateResource.cs,
569 Warnings.cs, Csc.cs, GetFrameworkPath.cs: Various fixes.
571 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
573 * CreateItem.cs, CreateProperty.cs, MSBuild.cs,: Initial check-in.
574 * Copy.cs, ReadLinesFromFile.cs, TaskExtension.cs, Touch.cs,
575 Warning.cs, WriteLinesToFile.cs: First implementation.
577 2005-07-13 Marek Sieradzki <marek.sieradzki@gmail.com>
579 * AL.cs, AppDomainIsolatedTaskExtension.cs, Copy.cs, Csc.cs,
580 Delete.cs, Error.cs, Exec.cs, FindUnderPath.cs, GenerateResource.cs,
581 GenerateTrustInfo.cs, GetFrameworkPath.cs, GetFrameworkSdkPath.cs,
582 MSBuild.cs, MakeDir.cs, ManagedCompiler.cs, Message.cs,
583 MonoTODOAttribute.cs, ReadLinesFromFile.cs, RegisterAssembly.cs,
584 RemoveDir.cs, SignFile.cs, TaskExtension.cs, ToolTaskExtension.cs,
585 Touch.cs, UnregisterAssembly.cs, Warning.cs, WriteLinesToFile.cs: