Skip to content

Commit

Permalink
Add support for ToolsVersion and correctly build msbuild+xbuild assem…
Browse files Browse the repository at this point in the history
…blies

for 3.5 and 4.0 profiles.

2010-04-03  Ankit Jain  <[email protected]>

	* Makefile: Process tools/xbuild for 3.5 also.

In class/Microsoft.Build.Engine:
2010-04-03  Ankit Jain  <[email protected]>

	* Makefile: Use the correct assembly name for MS.Build.Utilities*
	for 3.5 and 4.0 profiles. Copy the .config files for the test
	assembly.
	Import tools/xbuild/xbuild_targets.make, which copies the target
	and tasks file in the correct place, to allow running tests
	with different toolsversion.
	* Microsoft.Build.Engine.dll.sources: Add LogExtensions.cs,
	Toolset.cs, ToolsetDefinitionLocations.cs and ToolsetCollection.cs .
	* Test/test-config-file-net-3.5: New.
	* Test/test-config-file-net-4.0: New.

In class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine:
2010-04-03  Ankit Jain  <[email protected]>

	* BuildEngine.cs: Implement IBuildEngine2 instead of
	IBuildEngine.
	* BuildTasks.cs: Use the new extension methods for logging.
	(InitializeTask): Emit a message informing about the assembly
	from which the task is being loaded. Emit a useful debug message
	incase of a InvalidCastException.
	* Engine.cs: Add missing methods, constructors and properties related
	to ToolsVersion support. Setup a default set of Toolsets.
	Keep separate taskdbs' per ToolsVersion. The common tasks
	would come from different *.tasks file, and use different
	task assemblies.
	(DefaultToolsVersion): Correctly set this based on the profile.
	* LogExtensions.cs: New. Extension methods on Engine, for logging.
	* Project.cs: Add missing methods/contructors/properties related
	to ToolsVersion support. Add reserved properties -
	MSBuildToolsPath and MSBuildToolsVersion .
	* Toolset.cs: New.
	* ToolsetCollection.cs: New.
	* ToolsetDefinitionLocations.cs: New.

In class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine:
2010-04-06  Ankit Jain  <[email protected]>

	* Consts.cs (ToolsVersionString): New.
	(GetTasksAsmPath): New.
	* EngineTest.cs: Use the direct path to the tasks assembly
	in the UsingTasks.
	* ProjectTest.cs: Set ToolsVersion to the current profile.

In class/Microsoft.Build.Framework:
2010-04-03  Ankit Jain  <[email protected]>

	* Makefile: Import tools/xbuild/xbuild_targets.make, which copies
	the target and tasks file in the correct place, to allow running
	tests with different toolsversion.
	* Microsoft.Build.Framework.dll.sources: Add IBuildEngine2.cs .

In class/Microsoft.Build.Framework/Microsoft.Build.Framework:
2010-04-03  Ankit Jain  <[email protected]>

	* IBuildEngine2.cs: New.

In class/Microsoft.Build.Tasks:
2010-04-03  Ankit Jain  <[email protected]>

	* Makefile: Import tools/xbuild/xbuild_targets.make, which copies
	the target and tasks file in the correct place, to allow running
	tests with different toolsversion. Copy the config file for the
	test assembly. Clean the generated test.dll .
	Use the correct target assembly name for 4.0 profile
	(ms.build.tasks.v4.0.dll), and for Utilities assembly.
	* Microsoft.Build.Tasks_test.dll.sources: Use Consts.cs from Engine
	instead of maintaining a copy here.

In class/Microsoft.Build.Tasks/Microsoft.Build.Tasks:
2010-04-03  Ankit Jain  <[email protected]>

	* Csc.cs: Use dmcs as the compiler for 4.0 profile.
	* MSBuild.cs (ToolsVersion): New.
	Use toolsVersion for building.

In class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks:
2010-04-06  Ankit Jain  <[email protected]>

	* Consts.cs: Remove.
	* AssignProjectConfigurationTest.cs:
	* CreateCSharpManifestResourceNameTest.cs:
	* CreateVisualBasicManifestResourceNameTest.cs:
	* CreateItemTest.cs:
	* FindAppConfigFileTest.cs:
	* RemoveDuplicatesTest.cs:
	* TaskBatchingTest.cs:
	* WriteLinesToFileTest.cs:
	Set the ToolsVersion to match the profile. Use the
	full path to the tasks assembly for UsingTasks.

In class/Microsoft.Build.Utilities:
2010-04-03  Ankit Jain  <[email protected]>

	* Makefile: Import tools/xbuild/xbuild_targets.make, which copies
	the target and tasks file in the correct place, to allow running
	tests with different toolsversion.
	Use the correct target assembly name for 4.0 profile.

In class/Microsoft.Build.Utilities/Microsoft.Build.Utilities:
2010-04-03  Ankit Jain  <[email protected]>

	* TargetDotNetFrameworkVersion.cs: Add Version40 .
	* Task.cs (BuildEngine2): New.
	* ToolLocationHelper.cs: Use class/linet_* as the path
	for the assemblies and targets when running tests.
	Environment variable TESTING_MONO is set for testing.
	This allows a 4.0 xbuild to build 2.0/3.5 projects.

In tools:
2010-04-03  Ankit Jain  <[email protected]>

	* Makefile: Move xbuild from net_4_0_dirs to per_profile_dirs.

In tools/xbuild:
2010-04-03  Ankit Jain  <[email protected]>

	* 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/li$(PROFILE), so that it can find other
	profile dirs as relative path.
	(EXTRA_DISTFILES): Add the new Microsoft.Common.tasks files.

svn path=/trunk/mcs/; revision=154835


Commit migrated from mono/mono@4427a60
  • Loading branch information
radical committed Apr 6, 2010
2 parents 5ec6d1d + 3ebdf27 commit 7b9314b
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit 7b9314b

Please sign in to comment.