2009-08-17 Ankit Jain * AssemblyResolver.cs (TargetFrameworkAssemblies..ctor): Make assembly name lookups for target framework assemblies, case insensitive. Helps with cases like "System.configuration", which vs.net is known to emit. 2009-08-14 Ankit Jain * PcFileCache.cs: New. From monodevelop. * AssemblyResolver.cs (ResolvePkgConfigReference): New. Use PcFileCache to resolve assembly references. (AssemblyNamesCompatible): If SpecificVersion is false, then compare only simple names. (GetResolvedReference): Rename default_value to default_copy_local_value. (Cache): New. (PcFileCacheContext): New. (SearchPath): Add 'PkgConfig' to the enum. * ResolveAssemblyReference.cs: Add support for '{PkgConfig}'. Update messages. * ResolvedReference.cs (FoundInSearchPathToString): Create from .. (FoundInSearchPathAsString): .. this. Change this to a property to allow custom "found in .. " messages. 2009-07-31 Ankit Jain * MSBuild.cs (Execute): Log error if the file doesn't exist. 2009-07-30 Ankit Jain * ResolvedReference.cs (.ctor): Set 'OriginalItemSpec' and 'ResolvedFrom', required for IDE integration. * AssemblyResolver.cs (GetResolvedReference): All the original metadata should be retained. Track api changes. 2009-07-30 Ankit Jain * ReadLinesFromFile.cs (Execute): Log a warning instead of an error if unable to read from the file. Fix a null check. Always return true. 2009-07-30 Ankit Jain * Delete.cs (Execute): Log a message when deleting a file. 2009-07-28 Ankit Jain * Exec.cs (AddCommandLineCommands): First word from @command is treated as exec name, and rest as arguments. Extract arguments here. (ExecuteTool): Don't ignore params. (GenerateFullPathToTool): Extract first word as tool name. (HandleTaskExecutionErrors): Honor IgnoreExitCode property. (LogEventsFromTextOutput): Log as messages. * ManagedCompiler.cs (HandleTaskExecutionErrors): Implement. 2009-07-23 Ankit Jain * AssignProjectConfiguration.cs (Execute): Implement. 2009-07-22 Ankit Jain Fix bug #517974. * ResolvedReference.cs (AssemblyName): New. (IsPrimary): New. Primary (eg. specified in the project file) or dependent reference. (FoundInSearchPathAsString): New. * AssemblyResolver.cs (GetResolvedReference): Add a 'assembly name' param for the new field in ResolvedReference. (AssemblyNamesCompatible): Fix the check for public key token. Track api changes. * ResolveAssemblyReference.cs: Keep track of resolved assemblies, prevent duplicate references and other files. Process dependencies after resolving all the primary references. Search for dependencies in parent assembly's dir first and then the specified search paths. Detect assembly version conflicts and try to resolve. Improve logged messages. (PrimaryReference): New. (ResolveAssemblyReferenceHelper.AddUniqueFile): New extension method. 2009-07-16 Ankit Jain Fix bug #519922. * AssemblyResolver.cs (FindInDirectory): Try the @reference as a filename as it is, or with different @file_extensions. If @reference is a assembly name, then look for *.@file_extensions for target assembly. (GetAssemblyNameFromFile): Log FileNotFoundException and BadImageFormatException separately, instead of a single unclear message. Change all uses of Assembly.GetAssemblyName with GetAssemblyNameFromFile which does the required error checking and logging. 2009-06-12 Ankit Jain * Utilities.cs: New. * AL.cs, AspNetCompiler.cs, Csc.cs, SGen.cs, Vbc.cs (ToolName): Append ".bat" when running on windows. 2009-06-09 Ankit Jain * MSBuild.cs (Execute): Copy metadata from the @Projects items to the target outputs. 2009-06-08 Ankit Jain * ResolvedReference.cs: Add missing file. 2009-06-08 Ankit Jain * AssignCulture.cs (TrySplitResourceName): Reset culture arg to null if returning false. * CreateCSharpManifestResourceName.cs: Set culture to null if the culture was invalid. 2009-06-08 Ankit Jain * ResolvedReference.cs: New. * AssemblyResolver.cs (GetResolvedReference): New. Honor's the 'Private' metadata and sets CopyLocal. (SearchPath): New. Used to track how the reference was resolved. (IsStrongNamed): Fix potential null ref. All the assembly resolution methods now return ResolvedReference instead of strings, to aid in proper CopyLocal behavior and dependency resolution. * ResolveAssemblyReference.cs: Add support for finding related files, satellite files, resolving dependencies, copy local files. Resolve files specified in "AssemblyFiles" param also, used to resolve project references and dependencies. 2009-06-07 Ankit Jain * Csc.cs (AddResponseFileCommands): Split DefineConstants on space also. 2009-06-07 Ankit Jain * AssignTargetPath.cs (Execute): Expand incoming path to absolute path, and correctly extract relative path (skipping over the preceding dir separator). 2009-06-07 Ankit Jain * Copy.cs (CopyFile): Don't copy if the source and dest are the same. 2009-04-27 Ankit Jain * CreateCSharpManifestResourceName.cs (GetResourceIdFromFileName): Move to .. * CreateManifestResourceName.cs: .. here. * CreateVisualBasicManifestResourceName.cs: Implement. 2009-04-27 Ankit Jain * Vbc.cs (AddResponseFileCommands): Escape DefineConstants as it can contain double quotes itself. Fix /doc switch. (EscapeDoubleQuotes): New. 2009-03-22 Daniel Nauck * GenerateResource.cs: Set BasePath property of ResXResourceReader class. See: http://lists.ximian.com/pipermail/mono-devel-list/2009-March/031459.html 2009-03-19 Ankit Jain Fix bugs #323833 and #484384. * AssemblyResolver.cs (GatherGacAssemblies): Handle duplicate entries. These seem to be old copies of the assemblies with old keys. Pick the one with the latest timestamp. 2009-03-03 Ankit Jain Fix bug #480856. * Csc.cs (AddResponseFileCommands): Split DefineConstants on ';'. 2009-02-26 Ankit Jain * MakeDir.cs (Execute): Don't create+log if dir already exists. 2009-02-25 Ankit Jain * AL.cs (Execute): Use ToolTask.Execute instead of doing our own. 2009-02-25 Ankit Jain * AssemblyResolver.cs: * ResolveAssemblyReference.cs: Honor SpecificVersion. Emit detailed error messages incase assembly resolution fails. Make specific version strict. 2009-02-25 Ankit Jain * ManagedCompiler.cs (AddResponseFileCommands): Use LogicalName for embedded resources, wherever available. * CreateCSharpManifestResourceName.cs (GetResourceIdFromFileName): Use Path.Combine instead of hardcoding "\". 2009-02-25 Ankit Jain * MSBuild.cs (Execute): Reset current directory back after every project's execution. 2009-02-21 Ankit Jain Fix bug #458916. * Copy.cs: CopiedFiles and DestinationFiles should have target paths instead of source. Also, the metadata should get retained from source items. Based on a patch by Jeffrey Richardson Refactor a bit to remove code duplication. 2009-02-21 Ankit Jain * MSBuild.cs (SplitPropertiesToDictionary): Split into exactly 2 parts. 2009-02-11 Leszek Ciesielski * ResolveAssemblyReference.cs : AllowedRelatedFileExtensions stub 2009-02-02 Ankit Jain * MSBuild.cs (Execute): Disable incorrect 'rebaseOutputs' behavior. 2009-02-02 Ankit Jain * ResolveAssemblyReference.cs: Honor SearchPaths and the special items like '{HintPathFromItem}', '{TargetFrameworkDirectory}' etc. * AssemblyResolver.cs: Add api for more specific search, like search in a directory, target frameworks, gac etc. 2009-02-01 Ankit Jain * CallTarget.cs: Copy all items from target to TargetOutputs. 2009-02-01 Ankit Jain * Csc.cs (AddResponseFileCommands): * ManagedCompiler.cs (AddResponseFileCommands): 'AddModules' and 'AdditionalLibPaths' can be empty. 2009-01-30 Ankit Jain * Copy.cs (Execute): Use for loop instead of enumerators. sourceFiles and destinationFiles can be null, handle that. Create new directory if required. 2009-01-27 Ankit Jain * Delete.cs (Execute): Skip non-existant files. 2009-01-06 Ankit Jain * CreateManifestResourceName.cs (Execute): Use full path, also helps with debugging. 2008-12-17 Ankit Jain * Copy.cs: Always overwrite destination files. 2008-12-17 Ankit Jain * GenerateResource.cs (Execute): Items in 'OutputResources' correspond to items in 'Sources', handle correctly. 2008-12-12 Ankit Jain * CreateManifestResourceName.cs: Implement. * CreateCSharpManifestResourceName.cs: Implement. 2008-11-27 Ankit Jain * AssignCulture.cs (Execute): Emit "Culture" metadata also. 2008-11-23 Ankit Jain * AssignCulture.cs (Execute): Implement. 2008-11-22 Ankit Jain * AssignTargetPath.cs (Execute): Implement. 2008-11-21 Ankit Jain * GenerateResource.cs (Execute): Use for loop instead of manually using enumerators. 2008-11-21 Ankit Jain * CreateItem (Execute): AdditionalMetadata can be null. Trim metadata values. (IsExcluded): 'exclude' can be null. 2008-10-09 Ankit Jain * CreateItem.cs (Execute): Implement. 2008-10-01 Ankit Jain * CallTarget.cs (Execute): Implement. 2008-08-06 Ankit Jain * Csc.cs (AddResponseFileCommands): Don't quote DefineConstants. Correctly handle response filenames and win32 resource switch. 2008-06-02 Atsushi Enomoto * AssemblyResolver.cs : do not crash when there is no mono installed. 2007-05-17 Marek Sieradzki * ResolveAssemblyReference.cs * AssemblyResolver.cs: Resolve HintPath properly. 2007-03-19 Marek Sieradzki * CombinePath.cs: Implemented. 2007-03-10 Marek Sieradzki * Vbc.cs: Implemented. 2007-03-08 Marek Sieradzki * MSBuild.cs (Execute): Copy referenced project's dlls to output directory. 2007-02-18 Marek Sieradzki * AssemblyResolver.cs: Resolve HintPath correctly. 2007-02-04 Marek Sieradzki * Delete.cs: Formatting. 2007-02-02 Marek Sieradzki * AppDomainIsolatedTaskExtension.cs * ManagedCompiler.cs: corcompare changes. 2007-02-02 Marek Sieradzki * ResolveAssemblyReference.cs (Execute): Use Low MessageImportance. 2007-01-29 Marek Sieradzki * AssemblyResolver.cs: Added. * ResolveAssemblyReference.cs: Moved most of code to AssemblyResolver. 2007-01-24 Marek Sieradzki * GetFrameworkPath.cs * GetFrameworkSdkPath.cs: Changed to use ToolLocationHelper instead of MonoLocationHelper. 2007-01-06 Marek Sieradzki * GetAssemblyIdentity.cs * ResolveManifestFiles.cs * RemoveDuplicates.cs * TaskLoggingHelperExtensios.cs: Added * SGen.cs: Added missing [Required] and [Output]. 2006-12-11 Marek Sieradzki * RemoveDir.cs (Execute): Don't remove recursively. * CreateProperty.cs: Use the same field for both properties. 2006-12-08 Marek Sieradzki * ManagedCompiler.cs, Csc.cs: Moved some code from ManagedCompiler.AddResponseFileCommands to Csc. * SGen.cs: Added. It won't work yet. 2006-12-05 Marek Sieradzki * VCBuild.cs: Changed formatting and changed EnvironmentOverride to override from virtual. (corcompare didn't notice the difference) * ToolTaskExtension.cs, TaskExtension.cs: Moved ctors to the beginning of the file. * GenerateDeploymentManifest.cs: Added "using"; * ManagedCompiler.cs: Set OutputAssembly when it's empty and Sources is set. 2006-12-04 Marek Sieradzki * ManagedCompiler.cs: AddCommandLineCommands (): Changes according to new tests. CheckAllReferences (): Added a null check. * AL.cs (AddResponseFileCommands): Changes according to new tests. 2006-12-04 Marek Sieradzki * MSBuild.cs: Added MonoTODO. * MakeDir.cs: Added logging. * Exec.cs: Added FIXME and commented unused variables. 2006-10-21 Leszek Ciesielski * CreateTemporaryVCProject.cs: * VCBuild.cs: * UpdateManifest.cs: * Vbc.cs: * GenerateDeploymentManifest.cs: added class stubs * ToolTaskExtension.cs: * TaskExtension.cs: changed constructor to internal 2006-10-14 Marek Sieradzki * Exec.cs: Added AddCommandLineCommands (). * GenerateBootstrapper.cs: Added missing attributes. * GenerateManifestBase.cs: Added missing attributes. * GenerateApplicationManifest.cs: Added ValidateInputs (). 2006-10-10 Marek Sieradzki * FormatUrl.cs * ResolveAssemblyReference.cs * ResolveProjectBase.cs * AssignTargetPath.cs * CallTarget.cs * AssignCulture.cs * FormatVersion.cs * AssignProjectConfiguration.cs * CreateManifestResourceName.cs: Added missing [Output] and [Required]. 2006-10-06 Marek Sieradzki * MSBuild.cs: Added error logging. * Copy.cs: Fixed runtime cast exception. 2006-09-30 Marek Sieradzki * ResolveAssemblyReference.cs: Added. 2006-09-20 Marek Sieradzki * CreateProperty.cs: First implementation. 2006-08-15 Marek Sieradzki * MakeDir.cs, Touch.cs, ReadLinesFromFile.cs, RemoveDir.cs, Delete.cs, Message.cs, FindUnderPath.cs, GenerateResource.cs, Copy.cs: Start to use generics. 2006-07-17 Marek Sieradzki * ManagedCompiler.cs: TargetType.Get: added null check. 2006-06-25 Marek Sieradzki * Csc.cs: Changed ToolName to make it use gmcs. * ExtractedClassName.cs: Fixed a typo. 2006-06-22 Marek Sieradzki * ManagedCompiler.cs: Change TargetType to return lower case text. 2006-06-22 Marek Sieradzki * FormatUrl.cs, CreateVisualBasicManifestResourceName.cs, GenereateBootstrapper.cs, ExtractedClassName.cs, GenerateManifestBase.cs, FormatVersion.cs, CreateManifestResourceName.cs, CreateCSharpManifestResourceName.cs, GenerateApplicationManifest.cs: Added stubs. * Exec.cs: Removed some assignments. * CreateItem.cs: Formatting. 2006-06-17 Marek Sieradzki * Error.cs: Added null check and changed return value of Execute () to false. * ResolveProjectBase.cs, AssignTargetPath.cs, CallTarget.cs, AspNetCompiler.cs, AssignCulture.cs, AssignProjectConfiguration.cs: Added stubs. 2006-05-26 Marek Sieradzki * RegisterAssembly.cs, SignFile.cs, GenerateTrustInfo.cs, CreateItem.cs, UnregisterAssembly.cs, Csc.cs: Changed various return null and return true to NotImplementedException; * Error.cs: Changed to use helpKeyword and code. * GetFrameworkSdkPath.cs, GetFrameworkPath.cs: Changed to use Mono.XBuild.Utilities.MonoLocationHelper. * Message.cs: Fixed to use proper MessageImportance and removed error logging. * ManagedCompiler.cs: Added MonoTODO and ListHasNoDuplicateItems (). * GenerateResource.cs: Fixed wrong if block. 2006-05-22 Marek Sieradzki * Message.cs: Made messageImportance local variable. 2006-05-03 Marek Sieradzki * MakeDir.cs: Removed warning. * Exec.cs: Fixed commmand execution. * ReadLinesFromFile.cs: Formatting. 2006-04-14 Marek Sieradzki * GenerateResource.cs: Added authors of monoresgen. 2006-03-18 Marek Sieradzki * ManagedCompiler.cs: Fixed a typo. * AssemblyInfo.cs: Removed AllowPartiallyTrustedCallersAttribute. 2006-03-11 Marek Sieradzki * MonoTODOAttribute.cs: Removed. * CombinePath.cs, CreateProperty.cs, GenerateResources.cs, SignFile.cs: Added missing attributes. * Warning.cs: Added missing properties. * WriteLinesToFiles.cs: Compressed properties. * Exec.cs, ManagedCompiler.cs: Added missing methods. 2006-02-26 Marek Sieradzki * CombinePath.cs: Added. 2006-02-26 Marek Sieradzki * AL.cs: Added Output attribute to OutputAssembly. * AppDomainIsolatedTaskExtension.cs: Added LoadInSeparateAppDomain attribute. * Copy.cs: Added Output attribute to DestinationFiles and Required to SourceFiles. * CreateItem.cs, CreateProperty.cs: Changed string to string[]. * Csc.cs: Added PdbFile property. * Error.cs: Added Code and HelpKeyword properties. * Exec.cs: Changed TaskExtension to ToolTaskExtension. * GenerateResource.cs: Added NeverLockType and PublicClass properties. * GenerateTrustInfo.cs: Added Required to TargetZone and Output to TrustInfoFile. * GetFrameworkPath.cs, GetFrameworkSdkPath: Added Output to Path. * MSBuild.cs: Changed string to string[]. * ReadLinesFromFile.cs: Added Required to File. * RegiserAssembly.cs: Added AssemblyListFile and CreateCodeBase properties. * UnregisterAssembly.cs: Added AssemblyListFile property. * WriteLinesToFile.cs: Added Required to Lines. 2006-02-25 Marek Sieradzki * Csc.cs, ManagedCompiler.cs: Changes required by the new API. 2005-09-22 Marek Sieradzki * MakeDir.cs, AppDomainIsolatedTaskExtension.cs, Touch.cs, Exec.cs, RegisterAssembly.cs, Error.cs, ReadLinesFromFile.cs, CommandLineBuilderExtension.cs, RemoveDir.cs, ToolTaskExtension.cs, TaskExtension.cs, SignFile.cs, Delete.cs, Warning.cs, GenerateTrustInfo.cs, GetFrameworkSdkPath.cs, CreateItem.cs, Message.cs, ManagedCompiler.cs, UnregisterAssembly.cs, WriteLinesToFile.cs, FindUnderPath.cs, AL.cs, MSBuild.cs, GenerateResource.cs, CreateProperty.cs, Csc.cs, Copy.cs, GetFrameworkPath.cs: Added #if NET_2_0. 2005-09-21 Marek Sieradzki * ManagedCompiler.cs, Csc.cs: Moved code to ManagedCompiler. * MSBuild.cs: Added really simple temporary code. * AL.cs: Replaced variables with Bag property. 2005-09-09 Marek Sieradzki * AppDomainIsolatedTaskExtension.cs: Changed Log property to base.Log instead of previous protected log field. 2005-09-03 Marek Sieradzki * Touch.cs: Changed to use full paths and fixed stream closing. * ReadLinesFromFile.cs: Formatting. * WriteLineToFile.cs: Changed to use full paths. * AL.cs: Changed ToolName. 2005-08-30 Marek Sieradzki * Touch.cs: Changed Console.WriteLine to Log.LogErrorFromException. 2005-08-27 Marek Sieradzki * Exec.cs: Removed "exited". * AL.cs: Removed Regex. * Csc.cs: Changed default GenerateFullPaths to false. 2005-08-24 Marek Sieradzki * Exec.cs: Reformatted and added try/catch. * Error.cs, RemoveDir.cs, Warning.cs, Message.cs, FindUnderPath.cs, GenerateResource.cs, Copy.cs: Changed to use properties. * ToolTaskExtension.cs: Rewritten. * TaskExtension.cs: Changed to use base property. * GetFrameworkSdkPath.cs: Formatting. * ManagedCompiler.cs: Changed to use Bag instead of fields. * AL.cs: Moved command line arguments generation to proper method. * Csc.cs: Changed to use Bag instead of fields and added support for compilation. 2005-08-19 Marek Sieradzki * Exec.cs: Fixed arguments. 2005-08-16 Marek Sieradzki * Exec.cs: Added redirection of output and removed timeout handling. * Copy.cs: Formatting. * CommandLineBuilderExtension.cs: Formatting. 2005-08-12 Marek Sieradzki * CommandLineBuilderExtension.cs: Added. * ToolTaskExtension.cs, GenerateTrustInfo.cs, GetFrameworkSdkPath.cs, CreateItem.cs, ManagedCompiler.cs, AL.cs, MSBuild.cs, GenerateResource.cs, Csc.cs, CreateProperty.cs, GetFrameworkPath.cs: Updated. 2005-08-11 Marek Sieradzki * Exec.cs: First implementation. * MakeDir.cs, GetFrameworkSdkPath.cs, RegisterAssembly.cs, Message.cs, ManagedCompiler.cs, Error.cs, FindUnderPath.cs, RemoveDir.cs, AL.cs, ToolTaskExtension.cs, SignFile.cs, Delete.cs, GenerateResource.cs, Warnings.cs, Csc.cs, GetFrameworkPath.cs: Various fixes. 2005-08-06 Marek Sieradzki * CreateItem.cs, CreateProperty.cs, MSBuild.cs,: Initial check-in. * Copy.cs, ReadLinesFromFile.cs, TaskExtension.cs, Touch.cs, Warning.cs, WriteLinesToFile.cs: First implementation. 2005-07-13 Marek Sieradzki * AL.cs, AppDomainIsolatedTaskExtension.cs, Copy.cs, Csc.cs, Delete.cs, Error.cs, Exec.cs, FindUnderPath.cs, GenerateResource.cs, GenerateTrustInfo.cs, GetFrameworkPath.cs, GetFrameworkSdkPath.cs, MSBuild.cs, MakeDir.cs, ManagedCompiler.cs, Message.cs, MonoTODOAttribute.cs, ReadLinesFromFile.cs, RegisterAssembly.cs, RemoveDir.cs, SignFile.cs, TaskExtension.cs, ToolTaskExtension.cs, Touch.cs, UnregisterAssembly.cs, Warning.cs, WriteLinesToFile.cs: initial check-in