xamarin-macios/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.AppExtensio...

52 строки
3.1 KiB
Plaintext
Исходник Обычный вид История

2016-04-21 16:40:25 +03:00
<!--
***********************************************************************************************
Xamarin.WatchOS.AppExtension.FSharp.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
This file imports the version- and platform-specific targets for the project importing
this file. This file also defines targets to produce an error if the specified targets
file does not exist, but the project is built anyway (command-line or IDE build).
Copyright (C) 2015-2016 Xamarin. All rights reserved.
***********************************************************************************************
-->
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets"
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets')"/>
<PropertyGroup>
<!-- Version/fx properties -->
<TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">Xamarin.WatchOS</TargetFrameworkIdentifier>
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v1.0</TargetFrameworkVersion>
[msbuild] Set 'CopyNuGetImplementations' to true for app extensions. Fixes #4235 and #4237. (#4512) * [msbuild] Set 'CopyNuGetImplementations' to true for app extensions. Fixes #4235 and #4237. In Xamarin.iOS.Common.targets, just before the _CompileToNative target, we modify the mtouch references to ensure that we get the lib assemblies for nugets, and not the ref references: https://github.com/xamarin/xamarin-macios/blob/9e31d07ecc08a64372dd562e843c3d8950d24985/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets#L784-L791 This logic removes nuget references, and then re-adds any copy-local dll references. This works fine in executable projects, but not in library projects (aka extensions), because nugets aren't copied for library projects: https://github.com/NuGet/NuGet.BuildTasks/blob/cf4b0a12cf1f75e0654f28c2a9020251c41d126a/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.targets#L86 So we need to set the CopyNuGetImplementations variable to 'true' for our library projects. Fixes https://github.com/xamarin/xamarin-macios/issues/4235. Fixes https://github.com/xamarin/xamarin-macios/issues/4237. * [tests] Redirect MSBuildExtensionsPath to MSBuildExtensionsPathFallbackPathsOverride when running msbuild for package reference tests. This fixes a problem where nuget restore would fail for projects with PackageReferences, because a variable would be empty and msbould would try to write to /: nuget restore ../MyAppWithPackageReference/MyAppWithPackageReference.csproj MSBuild auto-detection: using msbuild version '15.0' from '/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/15.0/bin/'. Restoring packages for /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/msbuild/tests/MyAppWithPackageReference/MyAppWithPackageReference.csproj... Committing restore... Generating MSBuild file /MyAppWithPackageReference.csproj.nuget.g.props. Path / is a directory This will become unnecessary when PR #4111 is merged. * Add Xamarin.Mac test showing that fix is not needed (?!?) * Add AppExtension test with packagereference * Make extension actually have json code generated * Fix ProjectTypeGuids of checked in extension projects, as they were not openable in VSfM * XM extension test now correctly fails * Now that we have a failing test, fix XM same as rest of platforms * Disable XM tests due to msbuild redirect sadness * Disable iOS tests as well due to #4110 * Disable iOS tests by using the Ignore attribute. Disable tests by using the Ignore attribute, because just commenting out the TestCase attributes makes the test fail: 1) NotRunnable : Xamarin.iOS.Tasks.ProjectReferenceTests.BasicTest No suitable constructor was found
2018-08-20 14:43:48 +03:00
<!-- This must be set before importing Microsoft.FSharp.targets -->
<!-- See Xamarin.iOS.AppExtension.CSharp.targets for a detailed explanation of this variable -->
<CopyNuGetImplementations Condition="'$(CopyNuGetImplementations)' == ''">true</CopyNuGetImplementations>
<!-- This should be done in the F# target files, but _DebugFileExt is not an upstream
msbuild feature yet, so F# doesn't have this. Once, upstream F# adds it, we can
remove this -->
<_DebugFileExt Condition="'$(FscDebugFileExt)' != ''">$(FscDebugFileExt)</_DebugFileExt>
<_DebugFileExt Condition="'$(_DebugFileExt)' == ''">.mdb</_DebugFileExt>
2016-04-21 16:40:25 +03:00
</PropertyGroup>
<!-- xbuild searches multiple MSBuildExtensionsPath32, but only in the Import element so we can't determine this with a variable -->
<Import
Condition="'$(Language)' != 'F#' And Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')"
Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets" />
<Import
Condition="'$(Language)' != 'F#' And Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets')"
Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets" />
<Import
Condition="'$(Language)' != 'F#' And Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets')"
Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
<Import Project="Xamarin.WatchOS.AppExtension.Common.targets" />
2016-04-21 16:40:25 +03:00
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).After.targets"
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).After.targets')"/>
</Project>