Граф коммитов

3 Коммитов

Автор SHA1 Сообщение Дата
Ankit Jain 4a87ccf948 [msbuild] Ensure that `BuildOnlySettings` is the first target to run for a `Build` (#841)
When building the `inspector` project with msbuild, the build fails
because of a missing `System.Runtime` reference,
-> which can be traced to the `ResolveAssemblyReferences` task not resolving dependencies.
	-> which can be traced to `$(_FindDependencies)` property being set to false
		-> which is false, because `$(BuildingProject)` is false, which should
		   have been set by the `BuildOnlySettings` target, run as a dependency of
		   `CoreBuild`.

We override `$(BuildDependsOn)` as:

  <BuildDependsOn>
     ...
     _UnpackLibraryResources;
     $(BuildDependsOn);
     ...
  </BuildDependsOn>

.. so, `_UnpackLibraryResources` runs before `BuildOnlySettings`. And
`_UnpackLibraryResources` depends on `ResolveReferences`, so the
`ResolveAssemblyReferences` task runs with the incorrect properties. And
later, during the build when `ResolveAssemblyReferences` is invoked
again, it gets skipped and the incorrect outputs get used.

`$(BuildingProject)` should be true for a project build. So,
`Xamarin.Mac.Common.targets` are fixed for that. And other similar
target files are also fixed.

Note: `Xamarin.iOS.Common.targets` already does this correctly.
Note: `$(BuildingProject)` is not used in xbuild, so this bug is seen
only when building with msbuild.
2016-09-15 21:38:55 -04:00
Daniel Cazzulino 136b9a43b4 [msbuild] Unify and relocate shared MSBuild overriden tasks (#179)
* [msbuild] Remove unnecessary duplicate implementation of Move

Our implementation of the Move task was a partial copy of what
the MSBuild Move task does: https://github.com/Microsoft/msbuild/blob/master/src/XMakeTasks/Move.cs

Remove the unnecessary code, make it inherit the base implementation
like we do for the other MSBuild-overriden tasks, and place it in a
corresponding MsBuildTasks folder to denote this (again, like we do
in iOS.Tasks).

Removing this (unnecessary IMO) custom implementation of Move
ensures that when we switch to MSBuild, we can leverage improvements
and fixes on the task automatically.

* [msbuild] Move all the common MSBuild overriden tasks to MacDev

These tasks previously existed in iOS.Tasks, and Mac.Tasks. Since
they are reused across iOS and XM targets, move them to the common
MacDev project and update the targets accordingly.
2016-06-13 15:07:18 -04:00
Rolf Bjarne Kvinge 68df944ad6 Build MSBuild targets & assemblies. 2016-04-24 14:48:44 -04:00