diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2017-04-13 14:17:19 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2017-04-13 14:17:19 +0900 |
commit | a56e30c8d33048216567753d9d3fefc2152af8ac (patch) | |
tree | 7e5d979695fc4a431740982eb1cfecc2898b23a5 /Tools-Override | |
parent | 4b11dc566a5bbfa1378d6266525c281b028abcc8 (diff) | |
download | coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.tar.gz coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.tar.bz2 coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.zip |
Imported Upstream version 2.0.0.11353upstream/2.0.0.11353
Diffstat (limited to 'Tools-Override')
-rw-r--r-- | Tools-Override/depProj.targets | 131 | ||||
-rw-r--r-- | Tools-Override/resources.targets | 76 |
2 files changed, 207 insertions, 0 deletions
diff --git a/Tools-Override/depProj.targets b/Tools-Override/depProj.targets new file mode 100644 index 0000000000..ea32123741 --- /dev/null +++ b/Tools-Override/depProj.targets @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +*********************************************************************************************** +depProj.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 defines the steps in the standard build process specific for NuGet deployment +projects. The remainder of the build process is defined in Microsoft.Common.targets, +which is imported by this file. + +Licensed to the .NET Foundation under one or more agreements. +The .NET Foundation licenses this file to you under the MIT license. +See the LICENSE file in the project root for more information. +*********************************************************************************************** +--> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <!-- Deployment project + Restores NuGet dependencies and copies them to the output directory. + + NuGetTargetMoniker - determined by the TargetFramework* and TargetPlatform* + properties of the project, can be overidden. + NuGetRuntimeIdentifier - defaults to <empty> (""), can be overidden. + NuGetDeploySourceItem - defaults to ReferenceCopyLocalPaths, can be overidden to + specify Reference (for compile assets) or Analyzer(for + analyzer assets) + + For the appropriate behavior of P2P references the project should set the + TargetName and TargetExt to match one of the files that will be copied + from the packages. + --> + + <PropertyGroup> + <NuGetDeploySourceItem Condition="'$(NuGetDeploySourceItem)' == ''">ReferenceCopyLocalPaths</NuGetDeploySourceItem> + + <!-- suppress the attempt to copy build output. --> + <CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory> + + <!-- Unless overridden, use no runtime identifier. This is transformed in packageresolve.targets. + We specify "None" here to avoid being assigned the default runtime for projects which set CopyNuGetImplementations=true. --> + <NuGetRuntimeIdentifier Condition="'$(NuGetRuntimeIdentifier)' == ''">None</NuGetRuntimeIdentifier> + + <!-- make sure we tell nuget targets to copy, even if output type would not by default --> + <CopyNuGetImplementations>true</CopyNuGetImplementations> + + <!-- by default there shouldn't be any assets in depproj files that require signing --> + <SkipSigning Condition="'$(SkipSigning)' == ''">true</SkipSigning> + </PropertyGroup> + + <Target Name="CoreCompile"> + + <Error Condition="'$(NuGetDeploySourceItem)' != 'ReferenceCopyLocalPaths' AND + '$(NuGetDeploySourceItem)' != 'Reference' AND + '$(NuGetDeploySourceItem)' != 'Analyzer'" + Text="Unexpected value for NuGetDeploySourceItem:'$(NuGetDeploySourceItem)'. Expected ReferenceCopyLocalPaths, Reference, or Analyzer." /> + + <ItemGroup> + <!-- Don't set IntermediateAssembly since this is not produced --> + <IntermediateAssembly Remove="@(IntermediateAssembly)" /> + + <NuGetDeploy Include="@($(NuGetDeploySourceItem))"/> + + <!-- filter to only items that came from packages --> + <!-- the following condition must be applied after the include because msbuild doesn't seem + to support property-defined-item-names in a metadata statement --> + <NuGetDeploy Remove="@(NuGetDeploy)" Condition="'%(NuGetDeploy.NuGetPackageId)' == ''" /> + + <!-- remove all existing items from NuGet packages we'll be defining these in our own item --> + <ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.NuGetPackageId)' != ''"/> + <Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' != ''"/> + <Analyzer Remove="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' != ''"/> + + <!-- add items defined by NuGetDeployItem property to Content so that we get clean behavior --> + <ContentWithTargetPath Include="@(NuGetDeploy)"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <TargetPath>%(FileName)%(Extension)</TargetPath> + </ContentWithTargetPath> + </ItemGroup> + + <Error Condition="'@(NuGetDeploy)' == ''" Text="Error no assets were resolved from NuGet packages." /> + <Message Importance="High" Text="%(FullPath) (%(NuGetPackageId).%(NuGetPackageVersion)) -> @(NuGetDeploy->'$(TargetDir)%(FileName)%(Extension)')" /> + + <!-- Include marker files if an extension has been provided --> + <!-- internal builds use this to distinguish files which have already been signed --> + <Touch Condition="'$(DeployMarkerExtension)' != ''" Files="@(NuGetDeploy->'$(TargetDir)%(FileName)$(DeployMarkerExtension)')" AlwaysCreate="true"> + <Output TaskParameter="TouchedFiles" ItemName="FileWrites"/> + </Touch> + </Target> + + <Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> + + <!-- Required by Common.Targets but not used for depproj --> + <Target Name="CreateManifestResourceNames" /> + + <PropertyGroup> + <!-- don't use TargetingPackReference, we do our own filtering --> + <SkipFilterTargetingPackResolvedNugetPackages>true</SkipFilterTargetingPackResolvedNugetPackages> + </PropertyGroup> + + <!-- Support filtering to a subset of packages or files --> + <Target Name="FilterNugetPackages" + AfterTargets="ResolveNuGetPackages" + Condition="'@(PackageToInclude)' != '' OR '@(PackageToExclude)' != '' OR '@(FileToInclude)' != '' OR '@(FileToExclude)' != ''"> + <ItemGroup> + <_nuGetDeploy Include="@($(NuGetDeploySourceItem))"/> + <_nuGetDeployByFileName Include="@(_nuGetDeploy->'%(FileName)')"> + <OriginalItemSpec>%(Identity)</OriginalItemSpec> + </_nuGetDeployByFileName> + + <_nuGetDeployByFileNameToRemove Include="@(_nuGetDeployByFileName)" Exclude="@(FileToInclude)" Condition="'@(FileToInclude)' != ''" /> + <_filteredNuGetDeployByFileName Include="@(_nuGetDeployByFileName)" Exclude="@(_nuGetDeployByFileNameToRemove);@(FileToExclude)" /> + + <_nuGetDeployByPackageId Include="@(_filteredNuGetDeployByFileName->'%(NuGetPackageId)')" /> + + <_nuGetDeployByPackageIdToRemove Include="@(_nuGetDeployByPackageId)" Exclude="@(PackageToInclude)" Condition="'@(PackageToInclude)' != ''" /> + <_filteredNuGetDeployByPackageId Include="@(_nuGetDeployByPackageId)" Exclude="@(_nuGetDeployByPackageIdToRemove);@(PackageToExclude)" /> + + <ReferenceCopyLocalPaths Condition="'$(NuGetDeploySourceItem)' == 'ReferenceCopyLocalPaths'" Remove="@(ReferenceCopyLocalPaths)" /> + <Reference Condition="'$(NuGetDeploySourceItem)' == 'Reference'" Remove="@(Reference)" /> + <Analyzer Condition="'$(NuGetDeploySourceItem)' == 'Analyzer'" Remove="@(Analyzer)" /> + </ItemGroup> + + <CreateItem Include="@(_filteredNuGetDeployByPackageId->'%(OriginalItemSpec)')"> + <Output TaskParameter="Include" ItemName="$(NuGetDeploySourceItem)" /> + </CreateItem> + </Target> + +</Project> diff --git a/Tools-Override/resources.targets b/Tools-Override/resources.targets new file mode 100644 index 0000000000..82ce179ac7 --- /dev/null +++ b/Tools-Override/resources.targets @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <UsingTask TaskName="GenerateResourcesCode" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll" /> + + <PropertyGroup> + <GenerateResourceMSBuildRuntime>CurrentRuntime</GenerateResourceMSBuildRuntime> + <GenerateResourceMSBuildArchitecture>CurrentArchitecture</GenerateResourceMSBuildArchitecture> + </PropertyGroup> + + <PropertyGroup> + <ResourcesSourceOutputDirectory Condition="'$(ResourcesSourceOutputDirectory)' == ''">$(MSBuildProjectDirectory)/Resources/</ResourcesSourceOutputDirectory> + <StringResourcesPath Condition="'$(StringResourcesPath)'=='' And Exists('$(ResourcesSourceOutputDirectory)Strings.resx')">$(ResourcesSourceOutputDirectory)/Strings.resx</StringResourcesPath> + <IntermediateResOutputFileFullPath Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntermediateOutputPath)SR.cs</IntermediateResOutputFileFullPath> + <IntermediateResOutputFileFullPath Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(IntermediateOutputPath)SR.vb</IntermediateResOutputFileFullPath> + <DefineConstants Condition="'$(ConfigurationGroup)' == 'Debug'">$(DefineConstants);DEBUGRESOURCES</DefineConstants> + </PropertyGroup> + + <PropertyGroup Condition="'$(StringResourcesPath)'!=''"> + <CompileDependsOn> + GenerateResourcesSource; + $(CompileDependsOn); + </CompileDependsOn> + </PropertyGroup> + + <Target Name="GenerateResourcesSource" + Condition="'$(StringResourcesPath)'!='' AND '$(OmitResources)'!='true'" + Inputs="$(StringResourcesPath)" + Outputs="$(IntermediateResOutputFileFullPath)"> + + + + <GenerateResourcesCode + ResxFilePath="$(StringResourcesPath)" + OutputSourceFilePath="$(IntermediateResOutputFileFullPath)" + AssemblyName="$(AssemblyName)" /> + + <ItemGroup> + <!-- The following Compile element has to be included dynamically inside the Target otherwise intellisense will not work --> + <Compile Include="$(IntermediateResOutputFileFullPath)" /> + </ItemGroup> + + <ItemGroup> + <FileWrites Include="$(IntermediateResOutputFileFullPath)" /> + </ItemGroup> + </Target> + + <ItemGroup Condition="'$(StringResourcesPath)'!='' AND '$(OmitResources)'!='true'"> + <EmbeddedResource Include="$(StringResourcesPath)"> + <Visible>true</Visible> + <LogicalName>FxResources.$(AssemblyName).SR.resources</LogicalName> + </EmbeddedResource> + </ItemGroup> + + <Choose> + <When Condition="Exists('$(StringResourcesPath)') And '$(SkipCommonResourcesIncludes)'=='' AND '$(OmitResources)'!='true'"> + <Choose> + <When Condition="'$(MSBuildProjectExtension)' == '.csproj'"> + <ItemGroup> + <Compile Include="$(CommonPath)/System/SR.cs"> + <Visible>true</Visible> + <Link>Resources/Common/SR.cs</Link> + </Compile> + </ItemGroup> + </When> + <When Condition="'$(MSBuildProjectExtension)' == '.vbproj'"> + <ItemGroup> + <Compile Include="$(CommonPath)/System/SR.vb"> + <Visible>true</Visible> + <Link>Resources/Common/SR.vb</Link> + </Compile> + </ItemGroup> + </When> + </Choose> + </When> + </Choose> +</Project> |