Index: Tools/Google.Apis.NuGet.Publisher/Template/packages/Microsoft.Bcl.Build.1.0.8/tools/Microsoft.Bcl.Build.targets |
=================================================================== |
deleted file mode 100644 |
--- a/Tools/Google.Apis.NuGet.Publisher/Template/packages/Microsoft.Bcl.Build.1.0.8/tools/Microsoft.Bcl.Build.targets |
+++ /dev/null |
@@ -1,227 +0,0 @@ |
-<!-- |
-*********************************************************************************************** |
-Microsoft.Bcl.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. |
- |
-Copyright (C) Microsoft Corporation. All rights reserved. |
-*********************************************************************************************** |
---> |
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
- |
- <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != 'Silverlight'"> |
- <!-- |
- Workaround MSBuild issue that prevents System.Runtime 2.5 and System.Threading.Tasks 2.5 from |
- satisfying indirect dependencies on System.Runtime 1.5 and System.Threading.Tasks 1.5 respectively. |
- --> |
- <AutoUnifyAssemblyReferences>false</AutoUnifyAssemblyReferences> |
- |
- <!-- MSBuild by default doesn't pass the Web.Config ResolveAssemblyReference, in which case, set it so that it sees binding redirects --> |
- <AppConfig Condition="'$(AppConfig)' == '' And '$(WebProjectOutputDir)' != '' And Exists('$(ProjectConfigFileName)')">$(ProjectConfigFileName)</AppConfig> |
- </PropertyGroup> |
- |
- <!-- Workaround issue that incorrectly unifies references not in the current profile to the version in the superset of all profiles. --> |
- <Target Name="_BclBuildSetFullFrameworkFolderToProfile" AfterTargets="GetReferenceAssemblyPaths" Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable'"> |
- <PropertyGroup> |
- <_FullFrameworkReferenceAssemblyPaths>$(TargetFrameworkDirectory)</_FullFrameworkReferenceAssemblyPaths> |
- </PropertyGroup> |
- </Target> |
- |
- <!-- |
- ******************************************************************************************************************* |
- ******************************************************************************************************************* |
- EnsureBindingRedirects Section |
- ******************************************************************************************************************* |
- ******************************************************************************************************************* |
- --> |
- <PropertyGroup> |
- <__IntermediateAppConfig>$(IntermediateOutputPath)$(MSBuildProjectFile).App.config</__IntermediateAppConfig> |
- </PropertyGroup> |
- |
- <UsingTask TaskName="EnsureBindingRedirects" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Bcl.Build.Tasks.dll" /> |
- |
- <!-- |
- =================================================================================================================== |
- BclBuildDetermineReferencesToRedirect |
- |
- Determine which references are opted in for binding redirects |
- =================================================================================================================== |
- --> |
- <Target Name="BclBuildDetermineReferencesToRedirect" BeforeTargets="BclBuildEnsureBindingRedirects"> |
- <!-- Convention is a file next to the reference with name "ensureRedirect.xml" --> |
- <ItemGroup> |
- <_EnsureBindingRedirectReference Include="@(Reference)" |
- Condition="'%(Reference.HintPath)' != '' and Exists('$([System.IO.Path]::GetDirectoryName("%(Reference.HintPath)"))\\ensureRedirect.xml')" /> |
- </ItemGroup> |
- </Target> |
- |
- <!-- |
- =================================================================================================================== |
- BclBuildEnsureBindingRedirects |
- |
- Generate a new app.config with merged binding redirects if we have binding redirects to ensure and it's out of date |
- =================================================================================================================== |
- --> |
- <Target Name="BclBuildEnsureBindingRedirects" |
- DependsOnTargets="BclBuildDetermineReferencesToRedirect" |
- BeforeTargets="ResolveAssemblyReferences" |
- Condition="'@(_EnsureBindingRedirectReference)' != ''" |
- Inputs="$(MSBuildAllProjects);$(AppConfig);@(_EnsureBindingRedirectReference->'%(HintPath)')" |
- Outputs="$(__IntermediateAppConfig)"> |
- |
- <EnsureBindingRedirects References="@(_EnsureBindingRedirectReference->'%(HintPath)')" |
- SourceAppConfigPath="$(AppConfig)" |
- DestinationAppConfigPath="$(__IntermediateAppConfig)"> |
- <Output TaskParameter="DestinationAppConfigPath" ItemName="FileWrites"/> |
- </EnsureBindingRedirects> |
- </Target> |
- |
- <!-- |
- =================================================================================================================== |
- BclBuildUpdateAppConfigWithTargetPath |
- |
- Update project properties to point to the generated app.config |
- =================================================================================================================== |
- --> |
- <Target Name="BclBuildUpdateAppConfigWithTargetPath" |
- DependsOnTargets="BclBuildDetermineReferencesToRedirect;BclBuildEnsureBindingRedirects" |
- BeforeTargets="ResolveAssemblyReferences" |
- Condition="'@(_EnsureBindingRedirectReference)' != ''"> |
- <PropertyGroup> |
- <AppConfig>$(__IntermediateAppConfig)</AppConfig> |
- </PropertyGroup> |
- <ItemGroup> |
- <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" /> |
- <AppConfigWithTargetPath Include="$(AppConfig)"> |
- <TargetPath>$(TargetFileName).config</TargetPath> |
- </AppConfigWithTargetPath> |
- </ItemGroup> |
- </Target> |
- |
- |
- <!-- |
- ******************************************************************************************************************* |
- ******************************************************************************************************************* |
- ValidatePackageReferences Section |
- |
- This group of targets enables validation of nuget package references when building inside VisualStudio. |
- ******************************************************************************************************************* |
- ******************************************************************************************************************* |
- --> |
- |
- <!-- |
- =================================================================================================================== |
- BclBuildAddProjectReferenceProperties |
- |
- Adds properties to be set when resolving project references. The properties ensure that the references get built |
- in the context of the referencer (by changing the set of properties used to build the project) and pass down the |
- context needed to validate the referencing project. |
- =================================================================================================================== |
- --> |
- <Target Name="BclBuildAddProjectReferenceProperties" |
- BeforeTargets="AssignProjectConfiguration" |
- Condition="'$(BuildingInsideVisualStudio)' == 'true'"> |
- <PropertyGroup> |
- <_BclBuildProjectReferenceProperties>BclBuildReferencingProject=$(MSBuildProjectFullPath);BclBuildReferencingProjectConfig=$(MSBuildProjectDirectory)\packages.config</_BclBuildProjectReferenceProperties> |
- <_BclBuildProjectReferenceProperties Condition="'$(SkipValidatePackageReferences)' != ''">$(_BclBuildProjectReferenceProperties);SkipValidatePackageReferences=$(SkipValidatePackageReferences)</_BclBuildProjectReferenceProperties> |
- </PropertyGroup> |
- |
- <ItemGroup> |
- <ProjectReference> |
- <AdditionalProperties>$(_BclBuildProjectReferenceProperties);%(ProjectReference.AdditionalProperties)</AdditionalProperties> |
- </ProjectReference> |
- </ItemGroup> |
- </Target> |
- |
- <!-- |
- =================================================================================================================== |
- BclBuildSetRunningFullBuild |
- |
- Determines when a full build is running as opposed to a single target. |
- =================================================================================================================== |
- --> |
- <Target Name="BclBuildSetRunningFullBuild" |
- BeforeTargets="BuildOnlySettings"> |
- <PropertyGroup> |
- <BclBuildRunningFullBuild>true</BclBuildRunningFullBuild> |
- </PropertyGroup> |
- </Target> |
- |
- <!-- |
- =================================================================================================================== |
- GetTargetPath/BclBuildGetTargetPath |
- |
- MSBuild will only build a target once for a given set of properties. |
- |
- We need that single build of GetTargetPath to run during project reference resolution, so that we can detect a |
- referencing project that doesn't have Bcl.Build. |
- |
- To accomplish this we replace GetTargetPath with BclBuildGetTargetPath when running a full build. |
- =================================================================================================================== |
- --> |
- <Target |
- Name="GetTargetPath" |
- Condition="'$(BclBuildRunningFullBuild)' != 'true'" |
- DependsOnTargets="$(GetTargetPathDependsOn)" |
- Returns="$(TargetPath)"/> |
- |
- <Target |
- Name="BclBuildGetTargetPath" |
- Condition="'$(BclBuildRunningFullBuild)' == 'true'" |
- AfterTargets="GetTargetPath" |
- Returns="$(TargetPath)"> |
- <PropertyGroup> |
- <!-- Reset BclBuildRunningFullBuild, it will be set again when doing a full build. --> |
- <BclBuildRunningFullBuild>false</BclBuildRunningFullBuild> |
- </PropertyGroup> |
- </Target> |
- |
- <!-- |
- =================================================================================================================== |
- BclBuildValidateNugetPackageReferences |
- |
- This target validates that any Nuget packages installed in the current project are also installed in projects |
- referencing the current project. |
- |
- This is necessary because Nuget packages contain more than just simple references. Installing the package ensures |
- 1. The right set of references for the target framework are added |
- 2. Config file transforms are applied |
- 3. Project installation scripts are run |
- |
- For all packages listed as installed for the current project in packages config, if the package ID matches one |
- specified in @(ValidatePackages), ensure that the same package is installed in the referencing project. |
- |
- This target can be disabled for a project reference by setting SkipValidatePackageReferences=true for the reference: |
- <ProjectReference Include="..\pcl\pcl.csproj"> |
- <Project>{664a9e98-fac7-4567-a046-0dde95fddb48}</Project> |
- <Name>pcl</Name> |
- <Properties>SkipValidatePackageReferences=true</Properties> |
- </ProjectReference> |
- |
- This target can be disabled for all references to a project by adding the following: |
- <PropertyGroup> |
- <SkipValidatePackageReferences>true</SkipValidatePackageReferences> |
- </PropertyGroup> |
- =================================================================================================================== |
- --> |
- <UsingTask TaskName="ValidatePackageReferences" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Bcl.Build.Tasks.dll" /> |
- <Target Name="BclBuildValidateNugetPackageReferences" |
- Condition="'$(BclBuildRunningFullBuild)' != 'true' AND '$(SkipValidatePackageReferences)' != 'true' AND '$(BuildingInsideVisualStudio)' == 'true'" |
- BeforeTargets="GetTargetPath"> |
- <ItemGroup> |
- <ValidatePackages Include="Microsoft.Bcl"/> |
- <ValidatePackages Include="Microsoft.Bcl.Async"/> |
- <ValidatePackages Include="Microsoft.Bcl.Compression"/> |
- <ValidatePackages Include="Microsoft.Net.Http"/> |
- </ItemGroup> |
- |
- <ValidatePackageReferences Packages="@(ValidatePackages)" |
- ReferencingProject="$(BclBuildReferencingProject)" |
- ReferencingProjectPackagesConfig="$(BclBuildReferencingProjectConfig)" |
- ReferencedProject="$(MSBuildProjectFullPath)" |
- ReferencedProjectPackagesConfig="$(MSBuildProjectDirectory)\packages.config" |
- TreatWarningsAsErrors="$(TreatWarningsAsErrors)" /> |
- </Target> |
-</Project> |