Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(724)

Side by Side Diff: packages/Microsoft.Bcl.Build.1.0.8/tools/Microsoft.Bcl.Build.targets

Issue 13412046: Reimplement OAuth2 library - Step 1 (Closed) Base URL: https://google-api-dotnet-client.googlecode.com/hg/
Patch Set: minor Created 10 years, 6 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!--
2 ******************************************************************************** ***************
3 Microsoft.Bcl.targets
4
5 WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
6 created a backup copy. Incorrect changes to this file will make it
7 impossible to load or build your projects from the command-line or the IDE.
8
9 Copyright (C) Microsoft Corporation. All rights reserved.
10 ******************************************************************************** ***************
11 -->
12 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13 ··
14 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != 'Silverlight'">
15 <!--·
16 Workaround MSBuild issue that prevents System.Runtime 2.5 and System.Threa ding.Tasks 2.5 from
17 satisfying indirect dependencies on System.Runtime 1.5 and System.Threadin g.Tasks 1.5 respectively.··
18 -->
19 <AutoUnifyAssemblyReferences>false</AutoUnifyAssemblyReferences>
20
21 <!-- MSBuild by default doesn't pass the Web.Config ResolveAssemblyReference , in which case, set it so that it sees binding redirects -->
22 <AppConfig Condition="'$(AppConfig)' == '' And '$(WebProjectOutputDir)' != ' ' And Exists('$(ProjectConfigFileName)')">$(ProjectConfigFileName)</AppConfig>
23 </PropertyGroup>
24
25 <!-- Workaround issue that incorrectly unifies references not in the current p rofile to the version in the superset of all profiles. -->
26 <Target Name="_BclBuildSetFullFrameworkFolderToProfile" AfterTargets="GetRefer enceAssemblyPaths" Condition="'$(TargetFrameworkIdentifier)' == '.NETPortable'">
27 <PropertyGroup>
28 <_FullFrameworkReferenceAssemblyPaths>$(TargetFrameworkDirectory)</_FullFr ameworkReferenceAssemblyPaths>
29 </PropertyGroup>
30 </Target>
31
32 <!--
33 **************************************************************************** ***************************************
34 **************************************************************************** ***************************************
35 EnsureBindingRedirects Section
36 **************************************************************************** ***************************************
37 **************************************************************************** ***************************************
38 -->
39 <PropertyGroup>
40 <__IntermediateAppConfig>$(IntermediateOutputPath)$(MSBuildProjectFile).App. config</__IntermediateAppConfig>
41 </PropertyGroup>
42
43 <UsingTask TaskName="EnsureBindingRedirects" AssemblyFile="$(MSBuildThisFileDi rectory)Microsoft.Bcl.Build.Tasks.dll" />
44
45 <!--·
46 ============================================================================ =======================================
47 BclBuildDetermineReferencesToRedirect
48 ······························
49 Determine which references are opted in for binding redirects
50 ============================================================================ =======================================
51 -->
52 <Target Name="BclBuildDetermineReferencesToRedirect" BeforeTargets="BclBuildEn sureBindingRedirects">
53 <!-- Convention is a file next to the reference with name "ensureRedirect.xm l" -->
54 <ItemGroup>
55 <_EnsureBindingRedirectReference Include="@(Reference)"
56 Condition="'%(Reference.HintPath)' != '' and Exists('$([System.IO.Path]::GetDirectoryName(&quot;%(Reference.HintPath)&quo t;))\\ensureRedirect.xml')" />
57 </ItemGroup>
58 </Target>
59
60 <!--·
61 ============================================================================ =======================================
62 BclBuildEnsureBindingRedirects
63 ······························
64 Generate a new app.config with merged binding redirects if we have binding r edirects to ensure and it's out of date
65 ============================================================================ =======================================
66 -->
67 <Target Name="BclBuildEnsureBindingRedirects"
68 DependsOnTargets="BclBuildDetermineReferencesToRedirect"
69 BeforeTargets="ResolveAssemblyReferences"
70 Condition="'@(_EnsureBindingRedirectReference)' != ''"
71 Inputs="$(MSBuildAllProjects);$(AppConfig);@(_EnsureBindingRedirectRef erence->'%(HintPath)')"
72 Outputs="$(__IntermediateAppConfig)">
73
74 <EnsureBindingRedirects References="@(_EnsureBindingRedirectReference->'%(Hi ntPath)')"
75 SourceAppConfigPath="$(AppConfig)"
76 DestinationAppConfigPath="$(__IntermediateAppConfig) ">
77 <Output TaskParameter="DestinationAppConfigPath" ItemName="FileWrites"/>
78 </EnsureBindingRedirects>
79 </Target>
80
81 <!--·
82 ============================================================================ =======================================
83 BclBuildUpdateAppConfigWithTargetPath
84 ······························
85 Update project properties to point to the generated app.config
86 ============================================================================ =======================================
87 -->
88 <Target Name="BclBuildUpdateAppConfigWithTargetPath"
89 DependsOnTargets="BclBuildDetermineReferencesToRedirect;BclBuildEnsure BindingRedirects"
90 BeforeTargets="ResolveAssemblyReferences"
91 Condition="'@(_EnsureBindingRedirectReference)' != ''">
92 <PropertyGroup>
93 <AppConfig>$(__IntermediateAppConfig)</AppConfig>
94 </PropertyGroup>
95 <ItemGroup>
96 <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
97 <AppConfigWithTargetPath Include="$(AppConfig)">
98 <TargetPath>$(TargetFileName).config</TargetPath>
99 </AppConfigWithTargetPath>
100 </ItemGroup>
101 </Target>
102
103
104 <!--
105 **************************************************************************** ***************************************
106 **************************************************************************** ***************************************
107 ValidatePackageReferences Section
108 ····
109 This group of targets enables validation of nuget package references when bu ilding inside VisualStudio.
110 **************************************************************************** ***************************************
111 **************************************************************************** ***************************************
112 -->
113
114 <!--·
115 ============================================================================ =======================================
116 BclBuildAddProjectReferenceProperties
117 ······························
118 Adds properties to be set when resolving project references. The properties ensure that the references get built
119 in the context of the referencer (by changing the set of properties used to build the project) and pass down the
120 context needed to validate the referencing project.
121 ============================================================================ =======================================
122 -->
123 <Target Name="BclBuildAddProjectReferenceProperties"
124 BeforeTargets="AssignProjectConfiguration"
125 Condition="'$(BuildingInsideVisualStudio)' == 'true'">
126 <PropertyGroup>
127 <_BclBuildProjectReferenceProperties>BclBuildReferencingProject=$(MSBuildP rojectFullPath);BclBuildReferencingProjectConfig=$(MSBuildProjectDirectory)\pack ages.config</_BclBuildProjectReferenceProperties>
128 <_BclBuildProjectReferenceProperties Condition="'$(SkipValidatePackageRefe rences)' != ''">$(_BclBuildProjectReferenceProperties);SkipValidatePackageRefere nces=$(SkipValidatePackageReferences)</_BclBuildProjectReferenceProperties>
129 </PropertyGroup>
130
131 <ItemGroup>
132 <ProjectReference>
133 <AdditionalProperties>$(_BclBuildProjectReferenceProperties);%(ProjectRe ference.AdditionalProperties)</AdditionalProperties>
134 </ProjectReference>
135 </ItemGroup>
136 </Target>
137
138 <!--·
139 ============================================================================ =======================================
140 BclBuildSetRunningFullBuild
141 ······························
142 Determines when a full build is running as opposed to a single target.
143 ============================================================================ =======================================
144 -->
145 <Target Name="BclBuildSetRunningFullBuild"
146 BeforeTargets="BuildOnlySettings">
147 <PropertyGroup>
148 <BclBuildRunningFullBuild>true</BclBuildRunningFullBuild>
149 </PropertyGroup>
150 </Target>
151
152 <!--·
153 ============================================================================ =======================================
154 GetTargetPath/BclBuildGetTargetPath
155 ······························
156 MSBuild will only build a target once for a given set of properties.
157 ····
158 We need that single build of GetTargetPath to run during project reference r esolution, so that we can detect a·
159 referencing project that doesn't have Bcl.Build.
160 ····
161 To accomplish this we replace GetTargetPath with BclBuildGetTargetPath when running a full build.
162 ============================================================================ =======================================
163 -->
164 <Target
165 Name="GetTargetPath"
166 Condition="'$(BclBuildRunningFullBuild)' != 'true'"
167 DependsOnTargets="$(GetTargetPathDependsOn)"
168 Returns="$(TargetPath)"/>
169
170 <Target
171 Name="BclBuildGetTargetPath"
172 Condition="'$(BclBuildRunningFullBuild)' == 'true'"
173 AfterTargets="GetTargetPath"
174 Returns="$(TargetPath)">
175 <PropertyGroup>
176 <!-- Reset BclBuildRunningFullBuild, it will be set again when doing a ful l build. -->
177 <BclBuildRunningFullBuild>false</BclBuildRunningFullBuild>
178 </PropertyGroup>
179 </Target>
180
181 <!--·
182 ============================================================================ =======================================
183 BclBuildValidateNugetPackageReferences
184 ······························
185 This target validates that any Nuget packages installed in the current proje ct are also installed in projects·
186 referencing the current project.
187 ····
188 This is necessary because Nuget packages contain more than just simple refer ences. Installing the package ensures
189 1. The right set of references for the target framework are added
190 2. Config file transforms are applied
191 3. Project installation scripts are run
192 ·······
193 For all packages listed as installed for the current project in packages con fig, if the package ID matches one
194 specified in @(ValidatePackages), ensure that the same package is installed in the referencing project.·
195 ····
196 This target can be disabled for a project reference by setting SkipValidateP ackageReferences=true for the reference:
197 <ProjectReference Include="..\pcl\pcl.csproj">
198 <Project>{664a9e98-fac7-4567-a046-0dde95fddb48}</Project>
199 <Name>pcl</Name>
200 <Properties>SkipValidatePackageReferences=true</Properties>
201 </ProjectReference>
202 ····
203 This target can be disabled for all references to a project by adding the fo llowing:
204 <PropertyGroup>
205 <SkipValidatePackageReferences>true</SkipValidatePackageReferences>
206 </PropertyGroup>
207 ============================================================================ =======================================
208 -->
209 <UsingTask TaskName="ValidatePackageReferences" AssemblyFile="$(MSBuildThisFil eDirectory)Microsoft.Bcl.Build.Tasks.dll" />
210 <Target Name="BclBuildValidateNugetPackageReferences"
211 Condition="'$(BclBuildRunningFullBuild)' != 'true' AND '$(SkipValidate PackageReferences)' != 'true' AND '$(BuildingInsideVisualStudio)' == 'true'"
212 BeforeTargets="GetTargetPath">
213 <ItemGroup>
214 <ValidatePackages Include="Microsoft.Bcl"/>
215 <ValidatePackages Include="Microsoft.Bcl.Async"/>
216 <ValidatePackages Include="Microsoft.Bcl.Compression"/>
217 <ValidatePackages Include="Microsoft.Net.Http"/>
218 </ItemGroup>
219
220 <ValidatePackageReferences Packages="@(ValidatePackages)"
221 ReferencingProject="$(BclBuildReferencingProject) "
222 ReferencingProjectPackagesConfig="$(BclBuildRefer encingProjectConfig)"
223 ReferencedProject="$(MSBuildProjectFullPath)"
224 ReferencedProjectPackagesConfig="$(MSBuildProject Directory)\packages.config"
225 TreatWarningsAsErrors="$(TreatWarningsAsErrors)" />
226 </Target>
227 </Project>
OLDNEW
« Src/GoogleApis/GoogleApiException.cs ('K') | « Src/GoogleApis/packages.config ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b