Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Commit

Permalink
[Tasks] multitarget the build tasks
Browse files Browse the repository at this point in the history
- fixes #2690
- closes #2706
  • Loading branch information
StephaneDelcroix committed Sep 26, 2018
1 parent e875e9f commit f60ec50
Show file tree
Hide file tree
Showing 53 changed files with 32 additions and 24 deletions.
5 changes: 2 additions & 3 deletions .nuspec/Xamarin.Forms.Debug.targets
@@ -1,12 +1,11 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.DebugXamlCTask" AssemblyFile="Xamarin.Forms.Build.Tasks.dll"/>

<PropertyGroup>
<XFKeepXamlResources>True</XFKeepXamlResources>
</PropertyGroup>

<Import Project="$(MSBuildThisFileDirectory)Xamarin.Forms.targets" />

<UsingTask TaskName="Xamarin.Forms.Build.Tasks.DebugXamlCTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />

<PropertyGroup>
<CompileDependsOn>
$(CompileDependsOn);
Expand Down
18 changes: 13 additions & 5 deletions .nuspec/Xamarin.Forms.nuspec
Expand Up @@ -112,18 +112,26 @@
<file src="..\Xamarin.Forms.Platform\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Platform.*mdb" target="lib\netstandard2.0" />

<!--Xamlc stuff-->
<file src="Xamarin.Forms.targets" target="build\netstandard2.0\Xamarin.Forms.targets" />
<file src="Xamarin.Forms.props" target="build\netstandard2.0\Xamarin.Forms.props" />
<file src="Xamarin.Forms.DefaultItems.targets" target="build\netstandard2.0" />
<file src="Xamarin.Forms.DefaultItems.props" target="build\netstandard2.0" />
<file src="Xamarin.Forms.targets" target="build" />
<file src="Xamarin.Forms.props" target="build" />
<file src="Xamarin.Forms.DefaultItems.targets" target="build" />
<file src="Xamarin.Forms.DefaultItems.props" target="build" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Build.Tasks.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Mdb.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Pdb.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Rocks.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\System.CodeDom.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\System.CodeDom.dll" target="build\netstandard2.0" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\Xamarin.Forms.Build.Tasks.dll" target="build\net461" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\Xamarin.Forms.Core.dll" target="build\net461" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\Xamarin.Forms.Xaml.dll" target="build\net461" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\Mono.Cecil.dll" target="build\net461" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\Mono.Cecil.Mdb.dll" target="build\net461" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\Mono.Cecil.Pdb.dll" target="build\net461" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\Mono.Cecil.Rocks.dll" target="build\net461" />
<file src="..\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net461\System.CodeDom.dll" target="build\net461" />

<!-- Xaml Design-time Stuff -->
<file src="..\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\netstandard2.0\Design" />
Expand Down
25 changes: 13 additions & 12 deletions .nuspec/Xamarin.Forms.targets
@@ -1,8 +1,13 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="$(MSBuildThisFileDirectory)Xamarin.Forms.Build.Tasks.dll" />
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.CssGTask" AssemblyFile="$(MSBuildThisFileDirectory)Xamarin.Forms.Build.Tasks.dll" />
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="$(MSBuildThisFileDirectory)Xamarin.Forms.Build.Tasks.dll" />
<PropertyGroup>
<_XFBuildTasksLocation Condition="'$(_XFBuildTasksLocation)' == '' AND '$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)netstandard2.0\</_XFBuildTasksLocation>
<_XFBuildTasksLocation Condition="'$(_XFBuildTasksLocation)' == ''">$(MSBuildThisFileDirectory)net461\</_XFBuildTasksLocation>
</PropertyGroup>

<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.CssGTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />

<PropertyGroup>
<SynthesizeLinkMetadata>true</SynthesizeLinkMetadata>
Expand All @@ -27,26 +32,22 @@
</PropertyGroup>

<Target Name="_ValidateXFTasks" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(XFDisableTargetsValidation)' != 'True'">
<Error
<Error Code="XF001"
Text="Xamarin.Forms targets have been imported multiple times. Please check your project file and remove the duplicate import(s)."
Code="XF001"
Condition="'$(_XFTargetsImportedAgain)' == 'True'" />
</Target>

<Target Name="_ValidateMSBuild" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
<Error
<Error Code="XF003"
Text="Xamarin.Forms require msbuild. xbuild is no longer supported."
Code="XF003"
Condition="'$(IsXBuild)' == 'true'" />
</Target>

<Target Name="_ValidateNETFrameworkVersion"
BeforeTargets="_CheckForInvalidConfigurationAndPlatform"
Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' AND '$(TargetFrameworkVersion.Substring(1))' &lt; '4.7' AND '$(XFDisableFrameworkVersionValidation)' != 'True'">
<Error
Text="XF requires .NETFramework >= v4.7. You have '$(TargetFrameworkVersion)'"
Code="XF004"
/>
Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' AND '$(TargetFrameworkVersion.Substring(1))' &lt; '4.6.1' AND '$(XFDisableFrameworkVersionValidation)' != 'True'">
<Error Code="XF004"
Text="XF requires .NETFramework >= v4.6.1. You have '$(TargetFrameworkVersion)'" />
</Target>

<!-- XamlG -->
Expand Down
2 changes: 1 addition & 1 deletion XFCorePostProcessor.Tasks/XFCorePostProcessor.Tasks.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net461</TargetFramework>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
4 changes: 2 additions & 2 deletions Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj
Expand Up @@ -8,7 +8,7 @@
<PropertyGroup>
<_DisableStrongNamer Condition=" '$(_DisableStrongNamer)' != 'True' ">False</_DisableStrongNamer>
<AssemblyName>Xamarin.Forms.Build.Tasks</AssemblyName>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<SignAssembly Condition=" '$(_DisableStrongNamer)' != 'True' ">True</SignAssembly>
Expand Down Expand Up @@ -64,6 +64,6 @@
<ItemGroup>
<_CopyItems Include="$(TargetDir)*.dll" />
</ItemGroup>
<Copy SourceFiles="@(_CopyItems)" DestinationFolder="..\.nuspec\" ContinueOnError="true" Retries="0" />
<Copy SourceFiles="@(_CopyItems)" DestinationFolder="..\.nuspec\$(TargetFramework)\" ContinueOnError="true" Retries="0" />
</Target>
</Project>
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
Expand Up @@ -20,7 +20,7 @@
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
</ItemGroup>
<Import Project="..\Xamarin.Flex\Xamarin.Flex.projitems" Label="Shared" Condition="Exists('..\Xamarin.Flex\Xamarin.Flex.projitems')" />
<UsingTask TaskName="XFCorePostProcessor.Tasks.FixXFCoreAssembly" AssemblyFile="..\XFCorePostProcessor.Tasks\bin\Debug\netstandard2.0\XFCorePostProcessor.Tasks.dll" />
<UsingTask TaskName="XFCorePostProcessor.Tasks.FixXFCoreAssembly" AssemblyFile="..\XFCorePostProcessor.Tasks\bin\Debug\net461\XFCorePostProcessor.Tasks.dll" />
<Target Condition="$(DesignTimeBuild) != true AND $(BuildingProject) == true" AfterTargets="AfterCompile" Name="ShameHat">
<FixXFCoreAssembly Assembly="$(IntermediateOutputPath)$(TargetFileName)" ReferencePath="@(ReferencePath)" />
</Target>
Expand Down

0 comments on commit f60ec50

Please sign in to comment.