2011-03-21  Ankit Jain  <radical@corewars.org>

	* tools/xbuild/xbuild/4.0/Microsoft.Common.targets
	(GetReferenceAssemblyPaths): Don't look up framework directories
	for $(TargetFrameworkMoniker) is $(_TargetFrameworkDirectories) is
	already defined. This can be used to override moniker lookups.

2011-03-11  Ankit Jain  <radical@corewars.org>

	[xbuild] Microsoft.Common.targets - import Before/After targets
	files.

	With this, Microsoft.Common.targets will import
	$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportBefore\*
	at the beginning of the file and
	$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportAfter\*
	at the end of the file.

	So, this would import all files from (eg.):
	$prefix/lib/mono/xbuild/4.0/Microsoft.Common.targets/ImportBefore/

	This can be disabled by setting the bool properties -
	$(ImportByWildcardBeforeMicrosoftCommonTargets) and
	$(ImportByWildcardAfterMicrosoftCommonTargets).

2011-03-11  Ankit Jain  <radical@corewars.org>

	[xbuild] Emit list of projects in the .sln.proj

	Emit list of projects in the solution as @(ProjectReference) items
	in the generated .sln.proj file. This would be useful for
	extending solution builds.

2011-03-11  Ankit Jain  <radical@corewars.org>

	[xbuild] xbuild/Main.cs - remove unnecessary catch/throw.

2011-03-08  Ankit Jain  <radical@corewars.org>

	[xbuild] Implement FileLogger . Fix #676650 .

2011-03-04  Ankit Jain  <radical@corewars.org>

	[xbuild] Set @(CollectedBuildOutput) for projects build from .sln
	.

2011-03-03  Ankit Jain  <radical@corewars.org>

	[xbuild] Add hooks for extending .sln builds.

	Add hooks in the .sln.proj generated from .sln files.

	1. It imports
	"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\SolutionFile\ImportBefore\*"
	and
	"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\SolutionFile\ImportAfter\*"
	This is done only in case of 4.0 projects, as imports with
	wildcard is a 4.0 feature.

	2. And it imports before.Foo.sln.targets and after.Foo.sln.targets
	from the same dir as the .sln file.

2011-03-01  Ankit Jain  <radical@corewars.org>

	[xbuild] Fix warnings.

2011-02-28  Geoff Norton  <grompf@sublimeintervention.com>

	Fix the build when using DESTDIR

2011-02-28  Ankit Jain  <radical@corewars.org>

	[xbuild] ResolveAssemblyReference - add missing api.

2011-02-28  Ankit Jain  <radical@corewars.org>

	[xbuild] Add support for multi-targeting arbitrary frameworks.

	ToolsVersion 4.0 supports targeting arbitrary frameworks defined
	by FrameworkList.xml files and referenced by
	$(TargetFrameworkMoniker), which is of the format:
	Identifier,Version=<version>[,Profile=<profile>]

	built as:
	$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion)[,Profile=$(TargetFrameworkProfile)]

	eg. '.NETFramework,Version=v4.0' .

	Frameworks are searched for in (order):

	1. Paths specified in the environment variable
	$XBUILD_FRAMEWORK_FOLDERS_PATH 2.
	/Library/Frameworks/Mono.framework/External/xbuild-frameworks on
	Mac OSX. 3. MSBuild property $(TargetFrameworkRoot) 4.
	$prefix/lib/mono/xbuild-frameworks (default location)

	.NET frameworks 2.0/3.0/3.5/4.0 have corresponding
	FrameworkList.xml files now, which allows projects to target them.
	Custom frameworks like MonoDroid can install suitable
	FrameworkList.xml files, and projects can target them using the
	correct $(TargetFrameworkIdentifier) and
	$(TargetFrameworkVersion).

	Update man page.

2011-01-21  Ankit Jain  <radical@corewars.org>

	* tools/xbuild/xbuild/Microsoft.CSharp.targets: $(CscToolExe) is
	set depending on the value of $(TargetFrameworkVersion). Since,
	$(TargetFrameworkVersion)'s default value is set by
	MS.Common.targets, set $(CscToolExe) *after* importing
	MS.Common.targets .

2011-01-20  Ankit Jain  <radical@corewars.org>

	[xbuild] Fix bug #665637.

	Pass $(WarningsNotAsErrors) to Csc task.

2011-01-19  Ankit Jain  <radical@corewars.org>

	* tools/xbuild/Parameters.cs (DisplayVersion): Remove, not
	required.

2011-01-14  Ankit Jain  <radical@corewars.org>

	[xbuild] Update Novell copyright.

2011-01-14  Ankit Jain  <radical@corewars.org>

	[xbuild] Add $(TargetDir) property.

	Add $(TargetDir) and set TargetPath only if its not set already.

2011-01-11  Ankit Jain  <radical@corewars.org>

	[xbuild] Ensure trailing slash on some properties.

	Ensure trailing slash on $(BaseIntermediateOutputPath) and
	$(IntermediateOutputPath).

2010-12-20  Ankit Jain  <radical@corewars.org>

	[xbuild] Fix bug #660508 .

	Use correctly escaped project+target names when specifying project
	dependencies in the project file generated from a .sln file.

2010-10-15  Ankit Jain  <radical@corewars.org>

	[xbuild] Fix bug #646941. Add explicit System.Core for >=3.5
	projects.

	For projects targeting TargetFrameworkVersion >= 3.5,
	automatically add a reference to System.Core . This can be
	controlled via two properties:

	$(AddAdditionalExplicitAssemblyReferences) and
	$(AdditionalExplicitAssemblyReferences) .

	This is used only for projects built with ToolsVersion=4.0 .

2010-10-15  Ankit Jain  <radical@corewars.org>

	[xbuild] Set default TargetFrameworkVersion=4.0 for
	ToolsVersion=4.0

2010-10-14  Ankit Jain  <radical@corewars.org>

	[xbuild] Add ResolveAssemblyReferencesDependsOn .

	Add GetFrameworkPaths and PrepareForBuild as dependencies for the
	ResolveAssemblyReferences target. This is required when it is
	invoked directly from MD.

	Patch from Michael Hutchinson (mhutchinson@novell.com).

2010-10-05  Ankit Jain  <radical@corewars.org>

	[xbuild] Update regex to not require EndProject in a sln file.

	In a solution file, a Project might not have a corresponding
	EndProject. This seems to be supported by VS, so updating xbuild
	to support that too. Updated the regex.

2010-09-15  Ankit Jain  <radical@corewars.org>

	[xbuild] Fix references to Microsoft.Build.* assemblies for 3.5 .

2010-08-13  Ankit Jain  <radical@corewars.org>

	[xbuild] Fix a string format issue with guid.

	Make sure that the format string doesn't have guid in "{...}"
	format or String.Format gets confused.

2010-08-13  Ankit Jain  <radical@corewars.org>

	[xbuild] Handle references to vc*proj projects.

	If a project references an unsupported project, like a .vcproj or
	.vcxproj, then raise the appropriate warning for that.

2010-08-05  Ankit Jain  <radical@corewars.org>

	[xbuild] Fix #628525. Fix incremental rebuild.

	When doing a rebuild for an already built project, the common
	files (CopyLocal) should not be deleted by a project, as other
	projects might be depending on them. This becomes a problem when a
	common output dir is used.

2010-08-04  Ankit Jain  <radical@corewars.org>

	[xbuild] Ignore missing imports when parsing solution file.

	When loading projects specified in the solution file, to find
	their dependencies, missing imports cause an exception to be
	thrown and so the deps are not available in the project instance.

2010-08-03  Ankit Jain  <radical@corewars.org>

	* xbuild/xbuild/*/Microsoft.Common.targets: Rename item
	@(TargetFrameworkDirectories) to @(_TargetFrameworkDirectories) to
	*mark* it as private, and use the new $(TargetFrameworkDirectory)
	property instead. Reported by mhutch. *
	xbuild/xbuild/*/Microsoft.Silverlight.Common.targets: Update to
	track the changes.

2010-07-28  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.CSharp.targets: Use '*mcs.bat' on windows.

2010-07-22  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Silverlight.Common.targets(GenerateMoonlightManifest):
	Set Inputs/Outputs for the target.

2010-07-22  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.CSharp.targets (CoreCompile): Add
	$(MSBuildAllProjects) to inputs.
	* xbuild/Microsoft.VisualBasic.targets (CoreCompile): Likewise.

2010-07-22  Ankit Jain  <jankit@novell.com>

	* Parameters.cs (ProcessConsoleLoggerParameters): Correctly split arg.

2010-07-22  Ankit Jain  <jankit@novell.com>

	* xbuild/*/Microsoft.Common.targets: Set MSBuildAllProjects property.
	* xbuild/Microsoft.CSharp.targets: Likewise.

2010-07-21  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Silverlight.Common.targets: Set AssemblySearchPaths
	to the default value except PkgConfig and GAC. Suggested by Rolf.

2010-07-16  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Silverlight.Common.targets: Set Inputs/Outputs
	for GenerateXap target.

2010-07-09  Ankit Jain  <jankit@novell.com>

	* Main.cs: Use tools version specified on the command line, if
	any.
	* xbuild.exe.sources: Include UnknownToolsVersionException.cs from
	MS.B.Engine

2010-06-23  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.CSharp.targets (CoreCompile): Fix inputs.
	* xbuild/Microsoft.VisualBasic.targets (CoreCompile): Fix inputs.

2010-06-18  Ankit Jain  <jankit@novell.com>

	Fix bug #615420.
	* xbuild/Microsoft.CSharp.targets: Choose the compiler
	based on TargetFrameworkVersion instead of ToolsVersion.

2010-06-16  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (ParseSolution): Use ProjectReference's
	filename to locate if no guid is specified or project can't
	be found by the guid.

2010-06-15  Ankit Jain  <jankit@novell.com>

	* xbuild/*/Microsoft.Common.targets (AssemblySearchPaths): Add
	$(ReferencePath) to the search paths. This can be used to add or
	override assembly search paths.

2010-05-28  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (ParseSolution): Ignore GlobalSection
	'MonoDevelopProperties'.

2010-05-05  Ankit Jain  <jankit@novell.com>

	Fix bug #599454.
	* xbuild/*/Microsoft.Common.targets (PrepareForBuild): Create the
	dir for the documentation file.

2010-04-25  Ankit Jain  <jankit@novell.com>

	Fix bug #599486.
	* xbuild/Microsoft.CSharp.targets:
	* xbuild/Microsoft.VisualBasic.targets: Add $(CoreCompileDependsOn)
	for the CoreCompile target.

2010-04-21  Ankit Jain  <jankit@novell.com>

	* Makefile: Remove unnecessary "/" in the paths.
	Fixes windows build (thanks to Atsushi Eno).

2010-04-14  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Silverlight*.targets: New.
	* Makefile: Update to install silverlight target files.
	* xbuild_targets.make: Update to handle silverlight
	target files.

2010-04-12  Ankit Jain  <jankit@novell.com>

	* Makefile: Update EXTRA_DIST with the new targets files.

2010-04-10  Ankit Jain  <jankit@novell.com>

	* xbuild/*/Microsoft.Common.targets: Emit warning if
	$(TargetFrameworkVersion) is not supported by the current
	tool set.

2010-04-10  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Move to 2.0, 3.5 and 4.0 .
	The 4.0 copy gets the framework path for 4.0 .
	* Makefile: Update for the above change.
	* xbuild_targets.make: Likewise.


2010-04-10  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (DeployOutputFiles): Copy only
	if the source file exists.

2010-04-10  Ankit Jain  <jankit@novell.com>

	* xbuild/3.5/Microsoft.Common.tasks:
	* xbuild/4.0/Microsoft.Common.tasks: Remove spurious
	Moonlight task declarations.

2010-04-10  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (BuildingResources): Refactor to
	(PrepareResources): .. this.
	(PrepareResourcesDependsOn): New.
	(GetFrameworkPaths): Extract from PrepareForBuild target.

2010-04-08  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.VisualBasic.targets: Fix OutputAssembly
	property for the Vbc task.

2010-04-08  Ankit Jain  <jankit@novell.com>

	Fix bug #594531.
	* xbuild/Microsoft.VisualBasic.targets: Set RootNamespace
	property of Vbc task.

2010-04-08  Ankit Jain  <jankit@novell.com>

	Fix bug #594526.
	* xbuild/Microsoft.VisualBasic.targets(CoreCompile): Fix Outputs
	to use @(IntermediateAssembly) instead of $(IntermediateAssembly).
	Patch suggested by Eli Bishop (eli@wavemarket.com).

2010-04-06  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs: Identify and emit warning for a
	common problem on some installations of windows.

2010-04-06  Ankit Jain  <jankit@novell.com>

	* Makefile: Add xbuild_targets.make .

2010-04-03  Ankit Jain  <jankit@novell.com>

	* Main.cs (Execute): If toolsversion is specified on the command line,
	then use that.
	* Parameters.cs: Read toolsversion from the command line ('/tv:..') .
	* SolutionParser.cs: Infer ToolsVersion from the sln version.
	Set ToolsVersion property of the MSBuild tasks, in the generated
	.sln.proj file, for building the projects.

	* xbuild/Microsoft.Common.tasks: Move to ..
	* xbuild/2.0/Microsoft.Common.tasks: .. here.
	* xbuild/3.5/Microsoft.Common.tasks: New.
	* xbuild/4.0/Microsoft.Common.tasks: New.
	Use the corresponding 3.5/4.0 tasks assembly.

	* xbuild_targets.make: Copies the target and tasks file in the correct
	place, to allow running tests with different toolsversion.
	* Makefile: Import xbuild_targets.make . Use correct assembly names for
	Utilities assembly, for 3.5/4.0 profiles.
	Install the correct Microsoft.Common.tasks file for the profile.
	Copy xbuild.exe to class/lib/$(PROFILE), so that it can find other
	profile dirs as relative path.
	(EXTRA_DISTFILES): Add the new Microsoft.Common.tasks files.

2010-03-04  Ankit Jain  <jankit@novell.com>

	* CommandLineException.cs (Message): Include the inner exception message
	also.
	* Parameters.cs (LoadResponseFile): Report any errors in this, as
	warnings.

2010-03-04  Jonathan Pryor <jpryor@novel.com>

	* xbuild/Makefile: $(EXTRAS_DIR) should use $(FRAMEWORK_VERSION) so
	  that when building for the 4.0 profile we install the appropriate
	  files into the $libdir/mono/4.0/ directory.

2010-03-04  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (DeployOutputFiles):
	Check for empty $(OutDir), though it should be caught by
	the check for $(OutputPath) earlier.

2010-03-04  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Check for empty invalid
	$(OutputPath), and error or warn the user.

2010-02-19  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (GetAllProjectFileNames): New.
	* Parameters.cs (ParseArguments): When no project file is specified,
	if the cur dir has a single sln and >1 project files, and all the
	project files are referenced by the sln, the pick the sln.

2010-02-06  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Add targets for compiling
	licx (license) files.
	* xbuild/Microsoft.Common.tasks: Add LC task.

2010-02-04  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (_RecordCleanFile): Append list of
	current build files to list of previous build files.
	(_GetCleanFileWrites): Rename items to be obvious of the contents.
	(CoreClean): Delete the file list also.

2010-01-21	Rodrigo B. de Oliveira <rodrigo@unity3d.com>

	* Main.cs
	* Parameters.cs: response file might be specified in double quotes.

2010-01-21	Rodrigo B. de Oliveira <rodrigo@unity3d.com>

	* Makefile
	* xbuild_test.dll.sources
	* xbuild.sln
	* Test/*: added NUnit tests (Test/xbuild.tests)
	
2009-12-22  Ankit Jain  <jankit@novell.com>

	Fix bug #566087.
	* xbuild/Microsoft.CSharp.targets: Use $(NoWarn) .

2009-12-14  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	Fix bug #562056.
	* Parameters.cs: Property name/value pairs can be separated by ':'.

2009-11-26  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (PostBuildEvent): If
	$(RunPostBuildEvent) is empty, treat it as OnBuildSuccess.
	Simplify condition.

2009-11-25  Ankit Jain  <jankit@novell.com>

	* 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 <kog@epiphanic.org>

2009-11-10  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Set default TargetFrameworkVersion.
	Replace TargetFrameworkPath with TargetFrameworkDirectories, and set
	according to the TargetFrameworkVersion.

2009-10-12  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.Common.tasks: Add RemoveDuplicates task.

2009-10-03  Ankit Jain  <jankit@novell.com>

	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  <jankit@novell.com>

	* SolutionParser.cs (Insert): Show project name in case of a cyclic
	dependency.

2009-09-27  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* Makefile(EXTRA_DISTFILES): Add Microsoft.WebApplication.targets

2009-09-25  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Emit list of files written
	during the build, even if the build fails.

2009-09-25  Ankit Jain  <jankit@novell.com>

	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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Add 'Rebuild' target.
	Also, set DefaultTargets to "Build".

2009-08-26  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Remove dummy
	@(_TargetPathItem), since we support item refs with transforms
	as a property value.

2009-08-26  Ankit Jain  <jankit@novell.com>

	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  <jankit@novell.com>

	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  <jankit@novell.com>

	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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (ResolveAssemblyReference):
	Make SearchPaths get value from a property (AssemblySearchPaths)
	to allow it to be overridden.

2009-08-18  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	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:<project name>".

2009-08-14  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Add
	'{PkgConfig}' to SearchPaths.

2009-07-31  Ankit Jain  <jankit@novell.com>

	* ErrorUtilities.cs (ShowUsage): Implement.

2009-07-30  Ankit Jain  <jankit@novell.com>

	Fix bug #484771.
	* xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Add support
	for $(OutDir).

2009-07-30  Ankit Jain  <jankit@novell.com>

	* ErrorUtilities.cs: Set version to Consts.MonoVersion .

2009-07-30  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Output
	ResolvedFiles to @(ReferencePath), required for IDE integration.

2009-07-30  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Implement 'Clean' target. Currently
	just handles clean for a full build.

2009-07-28  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Oops, forgot to remove some
	debug stuff.

2009-07-23  Ankit Jain  <jankit@novell.com>

	* Makefile: Create a lib/mono/xbuild directory for xbuild
	extensions.

2009-07-23  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.VisualBasic.targets (Vbc.References): Remove
	"@(ChildProjectReferences)" as it gets resolved earlier
	and is part of @(ResolvedFiles).

2009-07-22  Ankit Jain  <jankit@novell.com>

	* xbuild.Microsoft.CSharp.targets (Csc.References): Remove
	"@(ChildProjectReferences)" as it gets resolved earlier
	and is part of @(ResolvedFiles).

2009-06-12  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (ProjectDir): Fix typo.

2009-06-12  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* Parameters.cs (.ctor): Use assembly's location to build
	path for the default response file.

2009-06-08  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* Parameters.cs (ProcessProperty): Handle invalid syntax.

2009-06-07  Ankit Jain  <jankit@novell.com>

	* 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  <joncham@gmail.com>

	* SolutionParser.cs (ParseSolution): Ignore vcproj projects in solutions 
	and issue warning. 

2009-04-27  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.VisualBasic.targets: Update to use
	CreateVisualBasicManifestResourceName task, and fix compiler params.

2009-04-25 Daniel Nauck <dna@mono-project.de>

	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  <jankit@novell.com>

	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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	Fix bug #481336.
	* SolutionParser.cs (AddWarningForMissingProjectConfiguration): New.
	(AddProjectTargets): Emit warning for missing project configurations.

2009-02-26  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.CSharp.targets (Csc): Fix "Resources" argument to use
	ManifestNonResxWithCultureOnDisk instead of ManifestResourceWithNoCultureOnDisk.

2009-02-26  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Make targets extensible. Add
	before/after hooks.

2009-02-25  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets: Use obj/$(Config) as the default intermediate
	output path, instead of just obj/

2009-02-25  Ankit Jain  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* xbuild/Microsoft.Common.targets (GetTargetPath): Add a path separator.

2009-02-25  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (ParseSolution): Report warning instead of error
	for unknown global sections.

2009-02-21  Ankit Jain  <jankit@novell.com>

	* xbuild/xbuild.rsp: Add descriptive comments.

2009-02-21  Ankit Jain  <jankit@novell.com>

	* Parameters.cs (LoadResponseFile): Handle comments.

2009-02-20  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (ParseSolution): Ignore solution folders.

2009-02-20  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (ParseSolution): Ignore GlobalSection named
	'NestedProjects'.

2009-02-20  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (ParseProjectConfigurationPlatforms): Report missing
	project guids as Warnings and not errors. Report every missing guid only
	once.

2009-02-20  Ankit Jain  <jankit@novell.com>

	* SolutionParser.cs (projectRegex): Use '\s' to match whitespace.

2009-02-19  Jonathan Chambers  <joncham@gmail.com>

	* xbuild.csproj: Add.
	* xbuild.sln: Add.

2009-02-13  Jonathan Chambers  <joncham@gmail.com>

	* 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  <joncham@gmail.com>

	* 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  <jankit@novell.com>

	* 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  <jankit@novell.com>

	* Microsoft.CSharp.targets: Add CreateCSharpManifestResourceName task.

2008-11-23  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.tasks: Add AssignCulture task.

2008-10-01  Ankit Jain  <jankit@novell.com>

	* xbuild/Microsoft.Common.tasks: Add CallTarget and AssignTargetPath task.

2007-03-19  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.Common.tasks: Added CombinePath task.

2007-03-10  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.Common.tasks: Added Vbc task.

	* xbuild/Microsoft.VisualBasic.targets: Added CoreCompile target for
	VB.

2007-03-08  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Microsoft.CSharp.targets: Add @(ChildProjectReferences) to
	References.

	* Microsoft.Common.targets: Add ResolveProjectReferences target.

2007-01-23  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Makefile: Removed hack.

2007-01-23  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Makefile: Fix Windows build.

2007-01-21  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.VisualBasic.targets: Added.

2007-01-09  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.Common.targets: Added $(ProjectDir).

2007-01-06  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Makefile, Main.cs: Moved XBuild files to lib/mono/2.0 from
	lib/mono/xbuild.

2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Main.cs: Catch InvalidProjectFileException and
	InternalLoggerException.

2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Parameters.cs (ProcessProperty): Use SetProperty () not
	AddNewProperty ().

2006-12-12  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.Common.targets: Added.

	* xbuild/Microsoft.CSharp.targets: Move common part to
	Microsoft.Common.targets.

2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.Common.tasks: Fix a typo (GetFrameworkPath).

2006-10-10  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.CSharp.targets: Added empty SearchPaths to Csc.

2006-10-08  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.CSharp.targets: Added parameters that should be
	passed to Csc.

2006-10-05  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.CSharp.targets: Make $(OutputPath) directory before
	compiling and put output in this directory.

2006-09-30  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.CSharp.targets: Use new ResolveAssemblyReference
	task.
	* xbuild/Microsoft.Common.tasks: Add new task (RAR).

2006-09-30  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.CSharp.targets: Set AllowUnsafeBlocks to false when it's
	equal to ''.

2006-09-29  Todd Berman  <tberman@off.net>

	* xbuild/Microsoft.CSharp.targets: Copy over the AllowUnsafeBlocks
	property definition.

2006-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.CSharp.targets: Simplify: use PropertyGroups
	instead of Targets to set properties needed by Csc task.

2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Makefile: Fix broken build.

2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* xbuild/Microsoft.CSharp.targets: Support AssemblyName and
	WarningLevel.

2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* 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  <marek.sieradzki@gmail.com>

	* 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  <marek.sieradzki@gmail.com>

	* Makefile: Updated.
	* xbuild/Microsoft.CSharp.Targets: Added hacky implementation of this
	targets file.

2006-05-22  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Main.cs: Patch from Matthew Metnetsky.

2006-04-19  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* XBuild.targets: Removed.
	* xbuild/Microsoft.Build.xsd: Changed path separator.

2006-04-08  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Makefile, xbuild/MSBuild/Microsoft.Build.CommonTypes.xsd: Changed
	name of Microsoft.Build.Commontypes.xsd to
	Microsoft.Build.CommonTypes.xsd.

2006-04-07  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Makefile: Changed installation directory of schema files.

2006-03-11  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Main.cs: Updated for new API.

2005-12-14  Wade Berrier <wberrier@novell.com>

	* Makefile: Add missing EXTRA_DISTFILES in order to 'make install'

2005-11-05  Kornél Pál  <kornelpal@hotmail.com>

	* AssemblyInfo.cs: Use Consts.MonoVersion as AssemblyVersion.

2005-09-22  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Main.cs: Changed binPath to directory where all files are stored.
	* Makefile: Added installing of additional files.

2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* LoggerInfo.cs: Changed public to internal.
	* xbuild.exe.sources: Added reference to AssemblyLoadInfo.

2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* 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  <marek.sieradzki@gmail.com>

	* 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  <marek.sieradzki@gmail.com>

	* Main.cs: FxVersion.
	* Makefile: Fixed Microsoft.Build.Utilities.dll name.

2005-09-05  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Microsoft.Build.xsd, MSBuild/Microsoft.Build.Core.xsd,
	Microsoft.Build.Commontypes.xsd: Added schema files.

2005-08-30  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Main.cs, Parameters.cs: Added default target(s) handling.

2005-08-29  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* 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  <marek.sieradzki@gmail.com>

	* 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  <marek.sieradzki@gmail.com>

	* CommandLineException.cs, LoggerInfo.cs, Main.cs, Parameters.cs:
	Added.
