diff options
Diffstat (limited to 'Tools-Override/codeOptimization.targets')
-rw-r--r-- | Tools-Override/codeOptimization.targets | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/Tools-Override/codeOptimization.targets b/Tools-Override/codeOptimization.targets deleted file mode 100644 index 4db340f15e..0000000000 --- a/Tools-Override/codeOptimization.targets +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <UsingTask TaskName="ZipFileExtractToDirectory" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> - - <PropertyGroup> - <OptimizationDataVersion Condition="'$(OptimizationDataVersion)'==''">2.0.0-rc-61101-16</OptimizationDataVersion> - <OptimizationDataPackageName Condition="'$(OptimizationDataPackageName)'==''">RoslynDependencies.OptimizationData</OptimizationDataPackageName> - <OptimizationDataDir Condition="'$(OptimizationDataDir)'==''">$(ToolsDir)OptimizationData/</OptimizationDataDir> - <RestoreDefaultOptimizationDataPackage Condition="'$(RestoreDefaultOptimizationDataPackage)'==''">true</RestoreDefaultOptimizationDataPackage> - <UsePartialNGENOptimization Condition="'$(UsePartialNGENOptimization)'==''">true</UsePartialNGENOptimization> - </PropertyGroup> - - <!-- If IBC data hasn't been merged with the IL yet, preprocess it first --> - <Target Name="PreProcessIBCData" - BeforeTargets="OptimizeWithTrainingData" - DependsOnTargets="ResolveOptionalTools" - Condition="'$(OS)'=='Windows_NT' and '$(EnableProfileGuidedOptimization)'=='true' and Exists('$(OptimizationDataDir)$(AssemblyName).dll')"> - - <!-- Find IBCMerge as a resolved optional tool. --> - <PropertyGroup> - <IBCMergeToolPath Condition="'%(Filename)%(Extension)'=='ibcmerge.exe'">@(ResolvedOptionalToolReferences)</IBCMergeToolPath> - </PropertyGroup> - - <!-- Enumerate the various files that need merging --> - <PropertyGroup> - <InputAssemblyFile>$(OptimizationDataDir)$(AssemblyName).dll</InputAssemblyFile> - <TargetOptimizationDataFile>$(OptimizationDataDir)$(AssemblyName).pgo</TargetOptimizationDataFile> - </PropertyGroup> - <ItemGroup> - <RawOptimizationDataFiles Include="$(OptimizationDataDir)$(AssemblyName)*.ibc" /> - </ItemGroup> - - <!-- Merge the optimization data into the source DLL --> - <Exec Command="$(IBCMergeToolPath) -q -f -delete -mo $(InputAssemblyFile) @(RawOptimizationDataFiles, ' ')" /> - - <!-- Verify that the optimization data has been merged --> - <Exec Command="$(IBCMergeToolPath) -mi $(InputAssemblyFile)" /> - - <!-- Save the module as *.pgo to match the convention expected in target OptimizeWithTrainingData --> - <Copy SourceFiles="$(InputAssemblyFile)" DestinationFiles="$(TargetOptimizationDataFile)" /> - </Target> - - <!-- We should only run this target on Windows and only if EnableProfileGuidedOptimization is set and we have training data --> - <Target Name="OptimizeWithTrainingData" - AfterTargets="AfterBuild" - BeforeTargets="CopyFilesToOutputDirectory" - DependsOnTargets="ResolveOptionalTools" - Condition="'$(OS)'=='Windows_NT' and '$(EnableProfileGuidedOptimization)'=='true' and Exists('$(OptimizationDataDir)$(AssemblyName).pgo')"> - - <!-- Find IBCMerge as a resolved optional tool. --> - <PropertyGroup> - <IBCMergeToolPath Condition="'%(Filename)%(Extension)'=='ibcmerge.exe'">@(ResolvedOptionalToolReferences)</IBCMergeToolPath> - </PropertyGroup> - - <PropertyGroup> - <OptimizedAssemblyDir>$(IntermediateOutputPath)/OptimizedAssembly</OptimizedAssemblyDir> - <OptimizedAssemblyFile>$(OptimizedAssemblyDir)/$(AssemblyName).dll</OptimizedAssemblyFile> - </PropertyGroup> - - <!-- Customize IBCMerge's arguments depending on input props --> - <PropertyGroup> - <IBCMergeArguments>-q -f -mo $(OptimizedAssemblyFile) -incremental $(OptimizationDataDir)$(AssemblyName).pgo</IBCMergeArguments> - <IBCMergeArguments Condition="$(UsePartialNGENOptimization)">$(IBCMergeArguments) -partialNGEN -minify</IBCMergeArguments> - </PropertyGroup> - - <!-- Copy the compiled assembly into a folder for further processing --> - <MakeDir Directories="$(OptimizedAssemblyDir)" /> - <Copy SourceFiles="@(IntermediateAssembly)" DestinationFolder="$(OptimizedAssemblyDir)" /> - - <!-- Apply optimization data to the compiled assembly --> - <Exec Command="$(IBCMergeToolPath) $(IBCMergeArguments)" /> - - <!-- Verify that the optimization data has been applied --> - <Exec Command="$(IBCMergeToolPath) -mi $(OptimizedAssemblyFile)" /> - - <!-- We need to make sure that the assembly that gets packaged is the one with the optimization data --> - <ItemGroup> - <IntermediateAssembly Remove="@(IntermediateAssembly)"/> - <IntermediateAssembly Include="$(OptimizedAssemblyDir)/$(AssemblyName).dll"/> - </ItemGroup> - </Target> - - <!-- We need the OptimizationData package in order to be able to optimize the assembly --> - <Target Name="RestoreOptimizationDataPackage" - BeforeTargets="Sync" - Condition="'$(EnableProfileGuidedOptimization)'=='true' and '$(RestoreDefaultOptimizationDataPackage)'=='true' and !Exists('$(OptimizationDataDir)project.json')"> - - <!-- Dynamically create a project.json file used to restore the optimization data--> - <Message Text="Generating project.json for optimization data" Importance="low" /> - <ItemGroup> - <_OptimizationDataJsonLine Include="{"dependencies": {" /> - <_OptimizationDataJsonLine Include=""$(OptimizationDataPackageName)" : "$(OptimizationDataVersion)" " /> - <_OptimizationDataJsonLine Include="},"frameworks": {"netcoreapp1.0": {},"net46": {}}}"/> - </ItemGroup> - - <PropertyGroup> - <OptimizationDataProjectJson>$(OptimizationDataDir)project.json</OptimizationDataProjectJson> - <OptimizationDataNuGetFeed Condition="'$(OptimizationDataNuGetFeed)'==''">https:%2F%2Fdotnet.myget.org/F/roslyn/api/v3/index.json</OptimizationDataNuGetFeed> - </PropertyGroup> - - <MakeDir Directories="$(OptimizationDataDir)" ContinueOnError="true" /> - <WriteLinesToFile File="$(OptimizationDataProjectJson)" Lines="@(_OptimizationDataJsonLine)" Overwrite="true" /> - - <!-- Restore the OptimizationData package --> - <Exec Command="$(DnuRestoreCommand) $(OptimizationDataProjectJson) --source $(OptimizationDataNuGetFeed)" - StandardOutputImportance="Low"/> - - <!-- Copy the restored files into a more accessible location --> - <ItemGroup> - <_OptimizationDataFiles Include="$(PackagesDir)/$(OptimizationDataPackageName)/$(OptimizationDataVersion)/content/OptimizationData/*.pgo" /> - </ItemGroup> - - <Copy SourceFiles="@(_OptimizationDataFiles)" - DestinationFiles="@(_OptimizationDataFiles->'$(OptimizationDataDir)%(Filename)%(Extension)')" - SkipUnchangedFiles="true" - ContinueOnError="true"/> - </Target> -</Project>
\ No newline at end of file |