2009-12-14 Ankit Jain * Parameters.cs (TryProcessMultiOption): New. (ProcessTarget): (ProcessProperty): Refactor to use TryProcessMultiOption, and accept ":" in target name or property name/value pair. 2009-12-14 Ankit Jain Fix bug #562056. * Parameters.cs: Property name/value pairs can be separated by ':'. 2009-11-26 Ankit Jain * xbuild/Microsoft.Common.targets (PostBuildEvent): If $(RunPostBuildEvent) is empty, treat it as OnBuildSuccess. Simplify condition. 2009-11-25 Ankit Jain * xbuild/Microsoft.Common.targets: Emit list of files written during the build to the obj/$(Config) rather than obj/, to keep them per config. Bug reported by : Greg F 2009-11-10 Ankit Jain * xbuild/Microsoft.Common.targets(AL): * xbuild/Microsoft.CSharp.targets (CSC): * xbuild/Microsoft.VisualBasic.targets (Vbc): Set ToolExe and ToolPath to corresponding properties, allowing them to be overridden. 2009-11-09 Ankit Jain * xbuild/Microsoft.Common.targets: Set default TargetFrameworkVersion. Replace TargetFrameworkPath with TargetFrameworkDirectories, and set according to the TargetFrameworkVersion. 2009-10-12 Ankit Jain * xbuild/Microsoft.Common.targets: For referenced projects, when trying to get the deploy items, ensure that the split lists of project references are available. (SplitProjectReferencesByExistent): New. Set DependsOnTargets appropriately. 2009-10-12 Ankit Jain * SolutionParser.cs: Handle non-existing project files, and project file load errors. Raise warnings instead of failing. * xbuild/Microsoft.Common.targets: Handle non-existant Project references, skip instead of failing. 2009-10-11 Ankit Jain * Main.cs: Add support for emitting messages in color. Taking relevant code from mcs/report.cs . Using ANSI color codes here instead of Console.ForegroundColor because of a bug in Console. 2009-10-08 Ankit Jain * xbuild/Microsoft.Common.targets: Don't get list of files to deploy, for 'Private' project references. Fix target named for *CopyDeploy*. 2009-10-08 Ankit Jain * xbuild/Microsoft.Common.tasks: Add RemoveDuplicates task. 2009-10-03 Ankit Jain Fix bug#542461. * xbuild/Microsoft.Common.targets (KeyOriginatorFile): Set to $(AssemblyOriginatorKeyFile), if SignAssembly is true. Use it for satellite assemblies also. 2009-09-29 Ankit Jain * SolutionParser.cs (Insert): Show project name in case of a cyclic dependency. 2009-09-27 Ankit Jain * SolutionParser.cs: Implement support for WebSite projects. These projects lack a project file, so properties like references are read from the .sln file, and targets are generated for build/clean etc. 2009-09-26 Ankit Jain * xbuild/Microsoft.Common.targets: Remove _ValidateEssentialProperties from BuildDependsOn, which was a hack. It will get invoked from the InitialTargets now. 2009-09-25 Ankit Jain * Makefile(EXTRA_DISTFILES): Add Microsoft.WebApplication.targets 2009-09-25 Ankit Jain * xbuild/Microsoft.Common.targets: Emit list of files written during the build, even if the build fails. 2009-09-25 Ankit Jain Fix bug #534992. * xbuild/Microsoft.Common.targets: Add support for copying app.config to AssemblyName.config * xbuild/Microsoft.Common.tasks: Add FindAppConfigFile task. 2009-09-24 Ankit Jain * Parameters.cs (ParseArguments): If no project file is specified, then look for a .sln or *proj file in the current directory. 2009-09-24 Ankit Jain * Makefile: Create dir for WebApplication.targets . * Microsoft.Common.targets (_ValidateEssentialProperties): New. (BuildDependsOn): Add _ValidateEssentialProperties, temporary. This should actually work via InitialTargets, which will be fixed in a subsequent commit. Add PrepareForRun. (PrepareForRun): New. * xbuild/Microsoft.WebApplication.targets: New. 2009-09-23 Ankit Jain * xbuild/Microsoft.Common.targets: Add 'Rebuild' target. Also, set DefaultTargets to "Build". 2009-08-26 Ankit Jain * xbuild/Microsoft.Common.targets: Remove dummy @(_TargetPathItem), since we support item refs with transforms as a property value. 2009-08-26 Ankit Jain Fix bug #533903. * xbuild/Microsoft.Common.targets: Support building projects directly from command line. Builds referenced projects. Honors $(BuildingSolutionFile) and $(BuildingInsideVisualStudio) now. Also, clean referenced projects. 2009-08-21 Ankit Jain Fix bug #531926 * xbuild/Microsoft.Common.targets: Add $(ConfigurationName) and $(PlatformName) default values. Move CoreCompile to a Compile target with corresponding Before/After hooks and *DependsOn. Add Pre/PostBuildEvents handling. 2009-08-20 Ankit Jain Fix bug #532264. * Main.cs: Dont generate .sln.proj, project.Load can handle .sln directly now. Show stack trace for exceptions if logger verbosity is > normal * SolutionParser.cs (ParseSolution): Add a param for a raise warning delegate. Use Dictionary.TryGetValue, key might not be present. 2009-08-20 Ankit Jain * xbuild/Microsoft.Common.targets (ResolveReferences*): Add a *DependsOn property and Before/After hooks. Change output of ResolvedFiles to @(ReferencePath). * xbuild/Microsoft.CSharp.targets (Csc): Use @(ReferencePath) for references. 2009-08-19 Ankit Jain * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Make SearchPaths get value from a property (AssemblySearchPaths) to allow it to be overridden. 2009-08-18 Ankit Jain * SolutionParser.cs (ParseSolution): Project reference in a project file, but not found in .sln file is ignored. Also, add dependencies specified in the .sln file. 2009-08-14 Ankit Jain Fix bug #530368. * SolutionParser.cs (AddProjectTargets): If a project name matches one of the targets that we emit (Build/Clean etc), then rename to "Solution:". 2009-08-14 Ankit Jain * xbuild/Microsoft.Common.targets (AllowUnsafeBlocks): Don't set any default value. (OutputPath): Set a default value. (DeployOutputFiles): Copy only if something available to copy. 2009-08-14 Ankit Jain * SolutionParser.cs (ProjectInfo.Dependencies): Change to a dictionary to keep track of corresponding ProjectInfo objects. (ParseSolution): Refactor to populate the ProjectInfo.Dependencies dictionary. Use AddBuildLevels to emit build levels to allow parallel builds. (AddProjectTargets): Dependency's projectInfo is directly available now. (AddBuildLevels): New. Emit items named BuildLevelN, where each level has projects that can be built in parallel. Lower levels represent dependencies for higher levels. (AddSolutionTargets): Instead of using CallTarget, directly use MSBuild task with the new BuildLevelN stuff. Also tell the user about disabled projects or missing project configs. (TopologicalSort): New. (Insert): New. Based on code from monodevelop. 2009-08-14 Ankit Jain * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Add '{PkgConfig}' to SearchPaths. 2009-07-31 Ankit Jain * ErrorUtilities.cs (ShowUsage): Implement. 2009-07-30 Ankit Jain Fix bug #484771. * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Add support for $(OutDir). 2009-07-30 Ankit Jain * ErrorUtilities.cs: Set version to Consts.MonoVersion . 2009-07-30 Ankit Jain * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Output ResolvedFiles to @(ReferencePath), required for IDE integration. 2009-07-30 Ankit Jain * xbuild/Microsoft.Common.targets: Implement 'Clean' target. Currently just handles clean for a full build. 2009-07-28 Ankit Jain * xbuild/Microsoft.Common.targets: Add missing 'SkipUnchangedFiles=true' for the Copy tasks. (CopyDeployFiles*): Fix typos, Add inputs/outputs for the PreserveNewest case and remove for copy always case. 2009-07-23 Ankit Jain * xbuild/Microsoft.Common.targets: Oops, forgot to remove some debug stuff. 2009-07-23 Ankit Jain * Makefile: Create a lib/mono/xbuild directory for xbuild extensions. 2009-07-23 Ankit Jain * xbuild/Microsoft.Common.targets (AssignProjectConfigurations): New. (ResolveProjectReferences): Add dependency on AssignProjectConfigurations target. Also, set the config and platform properties for the msbuild task being invoked. * xbuild/Microsoft.Common.tasks: Add AssignProjectConfiguration . 2009-07-22 Ankit Jain * xbuild/Microsoft.VisualBasic.targets (Vbc.References): Remove "@(ChildProjectReferences)" as it gets resolved earlier and is part of @(ResolvedFiles). 2009-07-22 Ankit Jain * xbuild.Microsoft.CSharp.targets (Csc.References): Remove "@(ChildProjectReferences)" as it gets resolved earlier and is part of @(ResolvedFiles). 2009-06-12 Ankit Jain * xbuild/Microsoft.Common.targets (ProjectDir): Fix typo. 2009-06-12 Ankit Jain * xbuild/Microsoft.Common.targets (IntermediateAssembly): Change to an Item list to match msbuild. * xbuild/Microsoft.CSharp.targets (IntermediateAssembly): Update for above changes. 2009-06-12 Ankit Jain * Parameters.cs (.ctor): Use assembly's location to build path for the default response file. 2009-06-08 Ankit Jain * xbuild/Microsoft.Common.targets: Use ResolveAssemblyReference to find satellite assemblies, dependent assemblies, dependent files, copy local files etc. Add targets to fetch all this info for all referenced projects, and copy them to the target locations. Also, copy the debug (.mdb) files. Honor, "CopyToOutputDirectory" metadata. 2009-06-07 Ankit Jain * Parameters.cs (ProcessProperty): Handle invalid syntax. 2009-06-07 Ankit Jain * SolutionParser.cs (AddGeneralSettings): Don't hardcode the default config/platform. Move to .. (AddDefaultSolutionConfiguration): .. here. (AddCurrentSolutionConfigurationContents): Use the first solution target as the default config/platform or use Debug/anycpu if no config is available. 2009-05-20 Jonathan Chambers * SolutionParser.cs (ParseSolution): Ignore vcproj projects in solutions and issue warning. 2009-04-27 Ankit Jain * xbuild/Microsoft.VisualBasic.targets: Update to use CreateVisualBasicManifestResourceName task, and fix compiler params. 2009-04-25 Daniel Nauck Fix bug #484649: * LoggerInfo.cs: fixed the parsing of the /logger: argument as described in http://msdn.microsoft.com/en-us/library/ms164311.aspx Added logger class detection if it's not explicit specified in the argument. 2009-03-19 Ankit Jain Fix bug #484773. * Main.cs (Execute): Check whether the project file exists or not. * Parameters.cs (ParseArguments): Handle absolute paths too. 2009-03-13 Ankit Jain * Main.cs (Execute): Build the project/sln with current directory set to the project file's dir. * SolutionParser.cs (ParseSolution): Project paths are relative to solution directory. 2009-03-06 Ankit Jain Fix bug #481336. * SolutionParser.cs (AddWarningForMissingProjectConfiguration): New. (AddProjectTargets): Emit warning for missing project configurations. 2009-02-26 Ankit Jain * xbuild/Microsoft.CSharp.targets (Csc): Fix "Resources" argument to use ManifestNonResxWithCultureOnDisk instead of ManifestResourceWithNoCultureOnDisk. 2009-02-26 Ankit Jain * xbuild/Microsoft.Common.targets: Make targets extensible. Add before/after hooks. 2009-02-25 Ankit Jain * xbuild/Microsoft.Common.targets: Use obj/$(Config) as the default intermediate output path, instead of just obj/ 2009-02-25 Ankit Jain * xbuild/Microsoft.Common.targets (CopyNonResxEmbeddedResources): New. (GenerateSatelliteAssemblies): Update to use the new ManifestNonResxWithCultureOnDisk instead of NonResxWithCulture. * xbuild/Microsoft.CSharp.targets (Csc): Fix "Resources" argument to use the new on disk file names instead of original filenames. 2009-02-25 Ankit Jain * xbuild/Microsoft.Common.targets (GetTargetPath): Add a path separator. 2009-02-25 Ankit Jain * SolutionParser.cs (ParseSolution): Report warning instead of error for unknown global sections. 2009-02-21 Ankit Jain * xbuild/xbuild.rsp: Add descriptive comments. 2009-02-21 Ankit Jain * Parameters.cs (LoadResponseFile): Handle comments. 2009-02-20 Ankit Jain * SolutionParser.cs (ParseSolution): Ignore solution folders. 2009-02-20 Ankit Jain * SolutionParser.cs (ParseSolution): Ignore GlobalSection named 'NestedProjects'. 2009-02-20 Ankit Jain * SolutionParser.cs (ParseProjectConfigurationPlatforms): Report missing project guids as Warnings and not errors. Report every missing guid only once. 2009-02-20 Ankit Jain * SolutionParser.cs (projectRegex): Use '\s' to match whitespace. 2009-02-19 Jonathan Chambers * xbuild.csproj: Add. * xbuild.sln: Add. 2009-02-13 Jonathan Chambers * SolutionParser.cs: Make Guid Regex case insensitive. Handle project dependencies. The solution has explicit dependencies, but we have to open projects for implicit dependencies (via ProjectReferences). 2009-02-13 Jonathan Chambers * Main.cs: Add support for .sln files. * SolutionParser.cs: Class for generating project file from solution file. * xbuild.exe.sources: Added SolutionParser.cs. 2009-02-02 Ankit Jain * Microsoft.CSharp.targets: Add targets to generate resource ids. * Microsoft.Common.targets: Add targets for generating resources, generate and deploy satellite assemblies, resolve project and assembly references. All intermediate build output goes into a 'obj/' dir by default. 'Clean' target enabled. 2008-12-12 Ankit Jain * Microsoft.CSharp.targets: Add CreateCSharpManifestResourceName task. 2008-11-23 Ankit Jain * xbuild/Microsoft.Common.tasks: Add AssignCulture task. 2008-10-01 Ankit Jain * xbuild/Microsoft.Common.tasks: Add CallTarget and AssignTargetPath task. 2007-03-19 Marek Sieradzki * xbuild/Microsoft.Common.tasks: Added CombinePath task. 2007-03-10 Marek Sieradzki * xbuild/Microsoft.Common.tasks: Added Vbc task. * xbuild/Microsoft.VisualBasic.targets: Added CoreCompile target for VB. 2007-03-08 Marek Sieradzki * Microsoft.CSharp.targets: Add @(ChildProjectReferences) to References. * Microsoft.Common.targets: Add ResolveProjectReferences target. 2007-01-23 Marek Sieradzki * Makefile: Removed hack. 2007-01-23 Marek Sieradzki * Makefile: Fix Windows build. 2007-01-21 Marek Sieradzki * xbuild/Microsoft.VisualBasic.targets: Added. 2007-01-09 Marek Sieradzki * xbuild/Microsoft.Common.targets: Added $(ProjectDir). 2007-01-06 Marek Sieradzki * Makefile, Main.cs: Moved XBuild files to lib/mono/2.0 from lib/mono/xbuild. 2006-12-19 Marek Sieradzki * Main.cs: Catch InvalidProjectFileException and InternalLoggerException. 2006-12-16 Marek Sieradzki * Parameters.cs (ProcessProperty): Use SetProperty () not AddNewProperty (). 2006-12-12 Marek Sieradzki * xbuild/Microsoft.Common.targets: Added. * xbuild/Microsoft.CSharp.targets: Move common part to Microsoft.Common.targets. 2006-12-11 Marek Sieradzki * xbuild/Microsoft.Common.tasks: Fix a typo (GetFrameworkPath). 2006-10-10 Marek Sieradzki * xbuild/Microsoft.CSharp.targets: Added empty SearchPaths to Csc. 2006-10-08 Marek Sieradzki * xbuild/Microsoft.CSharp.targets: Added parameters that should be passed to Csc. 2006-10-05 Marek Sieradzki * xbuild/Microsoft.CSharp.targets: Make $(OutputPath) directory before compiling and put output in this directory. 2006-09-30 Marek Sieradzki * xbuild/Microsoft.CSharp.targets: Use new ResolveAssemblyReference task. * xbuild/Microsoft.Common.tasks: Add new task (RAR). 2006-09-30 Marek Sieradzki * xbuild/Microsoft.CSharp.targets: Set AllowUnsafeBlocks to false when it's equal to ''. 2006-09-29 Todd Berman * xbuild/Microsoft.CSharp.targets: Copy over the AllowUnsafeBlocks property definition. 2006-09-21 Marek Sieradzki * xbuild/Microsoft.CSharp.targets: Simplify: use PropertyGroups instead of Targets to set properties needed by Csc task. 2006-09-20 Marek Sieradzki * Makefile: Fix broken build. 2006-09-20 Marek Sieradzki * xbuild/Microsoft.CSharp.targets: Support AssemblyName and WarningLevel. 2006-09-20 Marek Sieradzki * Parameters.cs, Main.cs, ErrorUtilities.cs: Moved error handling to new file and started to use ErrorUtilities.ReportError () instead of throw and catch. (In cases where xbuild should quit instantly) 2006-06-25 Marek Sieradzki * Makefile, xbuild/Microsoft.CSharp.Targets: Renamed to Microsoft.CSharp.targets. On make install it should be linked or copied to another name. 2006-06-22 Marek Sieradzki * Makefile: Updated. * xbuild/Microsoft.CSharp.Targets: Added hacky implementation of this targets file. 2006-05-22 Marek Sieradzki * Main.cs: Patch from Matthew Metnetsky. 2006-04-19 Marek Sieradzki * XBuild.targets: Removed. * xbuild/Microsoft.Build.xsd: Changed path separator. 2006-04-08 Marek Sieradzki * Makefile, xbuild/MSBuild/Microsoft.Build.CommonTypes.xsd: Changed name of Microsoft.Build.Commontypes.xsd to Microsoft.Build.CommonTypes.xsd. 2006-04-07 Marek Sieradzki * Makefile: Changed installation directory of schema files. 2006-03-11 Marek Sieradzki * Main.cs: Updated for new API. 2005-12-14 Wade Berrier * Makefile: Add missing EXTRA_DISTFILES in order to 'make install' 2005-11-05 Kornél Pál * AssemblyInfo.cs: Use Consts.MonoVersion as AssemblyVersion. 2005-09-22 Marek Sieradzki * Main.cs: Changed binPath to directory where all files are stored. * Makefile: Added installing of additional files. 2005-09-21 Marek Sieradzki * LoggerInfo.cs: Changed public to internal. * xbuild.exe.sources: Added reference to AssemblyLoadInfo. 2005-09-21 Marek Sieradzki * Microsoft.Common.tasks, xbuild.rsp, Microsoft.Build.xsd, MSBuild: Moved to xbuild/. * Main.cs, Pararameters.cs: Changed to use Mono.XBuild.Framework and Mono.XBuild.Utilities. * CommandLineException.cs, LoggerInfo.cs: Added #if NET_2_0 2005-09-11 Marek Sieradzki * xbuild.exe.sources: Added Consts.cs from common build files. * LoggerInfo.cs: Public key token update. * Parameters.cs, Main.cs: Changed to use BinPath instead of hard-coded path. * Makefile: Added installing of xbuild's files. * Microsoft.Common.tasks: Moved from main directory and changed to use assemblies from GAC. 2005-09-09 Marek Sieradzki * Main.cs: FxVersion. * Makefile: Fixed Microsoft.Build.Utilities.dll name. 2005-09-05 Marek Sieradzki * Microsoft.Build.xsd, MSBuild/Microsoft.Build.Core.xsd, Microsoft.Build.Commontypes.xsd: Added schema files. 2005-08-30 Marek Sieradzki * Main.cs, Parameters.cs: Added default target(s) handling. 2005-08-29 Marek Sieradzki * LoggerInfo.cs: Removed AssemblyLoadInfo property, changed to inherit AssemblyLoadInfo. * XBuild.targets: Updated. * Parameters.cs: Removed debugging info and removed line producing errors. * Main.cs: Added check if engine is null. 2005-08-24 Marek Sieradzki * Parameters.cs, Main.cs: Changed paths to absolute paths. They should be separated to .in file probably when moving to autotools. 2005-08-12 Marek Sieradzki * CommandLineException.cs, LoggerInfo.cs, Main.cs, Parameters.cs: Added.