Unpack dotnet sdk zipfile and add documentation file to nupkg
[platform/core/dotnet/build-tools.git] / dotnet / sdk / 2.0.0-preview1-005700 / Sdks / Microsoft.NET.Sdk.Publish / build / netstandard1.0 / PublishTargets / Microsoft.NET.Sdk.Publish.MSDeploy.targets
1 <!--\r
2 ***********************************************************************************************\r
3 Microsoft.NET.Sdk.Publish.MSDeploy.targets\r
4 \r
5 WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have\r
6           created a backup copy.  Incorrect changes to this file will make it\r
7           impossible to load or build your web deploy projects from the command-line or the IDE.\r
8 \r
9 This file defines the steps in the standard build process to deploy web application projects.\r
10 \r
11 Copyright (C) Microsoft Corporation. All rights reserved.\r
12 ***********************************************************************************************\r
13 -->\r
14 \r
15 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
16 \r
17   <!--\r
18   ***********************************************************************************************\r
19   Including the tasks\r
20   ***********************************************************************************************\r
21  -->\r
22   <UsingTask TaskName="MSDeploy" AssemblyFile="$(_PublishTaskAssemblyFullPath)"/>\r
23   <UsingTask TaskName="VSMSDeploy" AssemblyFile="$(_PublishTaskAssemblyFullPath)"/>\r
24   <UsingTask TaskName="NormalizeServiceUrl" AssemblyFile="$(_PublishTaskAssemblyFullPath)"/>\r
25   <UsingTask TaskName="ValidateParameter" AssemblyFile="$(_PublishTaskAssemblyFullPath)"/>\r
26   <UsingTask TaskName="CreateManifestFile" AssemblyFile="$(_PublishTaskAssemblyFullPath)" />\r
27   <UsingTask TaskName="CreateParameterFile" AssemblyFile="$(_PublishTaskAssemblyFullPath)" />\r
28   <UsingTask TaskName="GetPassword" AssemblyFile="$(_PublishTaskAssemblyFullPath)" />\r
29 \r
30   <PropertyGroup>\r
31     <_DotNetPublishFiles>\r
32       MSDeployPublish;\r
33     </_DotNetPublishFiles>\r
34   </PropertyGroup>\r
35 \r
36   <!--\r
37   ***********************************************************************************************\r
38   TARGET : MSDeployPublish\r
39   ***********************************************************************************************\r
40  -->\r
41   <PropertyGroup>\r
42     <MSDeployPublishDependsOn>\r
43       $(MSDeployPublishDependsOn);\r
44       _PrepareForMsDeployPublish;\r
45       _CreateManifestFiles;\r
46       _CreateParameterFiles;\r
47     </MSDeployPublishDependsOn>\r
48   </PropertyGroup>\r
49 \r
50   <Target Name="MSDeployPublish" DependsOnTargets="$(MSDeployPublishDependsOn)">\r
51     <ValidateParameter\r
52         ParameterName="MsDeployServiceUrl"\r
53         ParameterValue="$(MsDeployServiceUrl)"/>\r
54 \r
55     <ValidateParameter\r
56     ParameterName="DeployIisAppPath"\r
57     ParameterValue="$(DeployIisAppPath)"/>\r
58 \r
59     <PropertyGroup>\r
60       <MSDeployPublishSourceType>manifest</MSDeployPublishSourceType>\r
61       <MSDeployPublishSourceRoot>$(_MsDeploySourceManifestPath)</MSDeployPublishSourceRoot>\r
62       <!--Destination is alway a manifest-->\r
63       <MSDeployPublishDestinationType>auto</MSDeployPublishDestinationType>\r
64       <MSDeployPublishDestinationRoot></MSDeployPublishDestinationRoot>\r
65       <PublishEnableLinks Condition="'$(PublishEnableLinks)' == ''"></PublishEnableLinks>\r
66       <PublishDisableLinks Condition="'$(PublishDisableLinks)' == ''">AppPoolExtension;ContentExtension;CertificateExtension</PublishDisableLinks>\r
67       <RetryAttemptsForDeployment Condition=" '$(RetryAttemptsForDeployment)' == '' ">2</RetryAttemptsForDeployment>\r
68       <MSDeployUseChecksum Condition=" '$(MSDeployUseChecksum)' == '' ">false</MSDeployUseChecksum>\r
69       <AllowUntrustedCertificate Condition=" '$(AllowUntrustedCertificate)' == '' ">false</AllowUntrustedCertificate>\r
70       <EnableOptimisticParameterDefaultValue Condition="$(EnableOptimisticParameterDefaultValue) == ''">true</EnableOptimisticParameterDefaultValue>\r
71       <!-- Forcing File preview to be a boolean value -->\r
72       <FilePreview Condition="'$(FilePreview)' != 'true'">false</FilePreview>\r
73       <NormalizePublishSettings Condition="'$(NormalizePublishSettings)'==''">true</NormalizePublishSettings>\r
74       <AuthType Condition="'$(AuthType)'==''" >Basic</AuthType>\r
75       <!-- Supported value for $(MSDeployPublishMethod): WMSVC, RemoteAgent, InProc -->\r
76       <MSDeployPublishMethod Condition="'$(MSDeployPublishMethod)'==''" >WMSVC</MSDeployPublishMethod>\r
77       <!-- AppOffline support is enabled by default for WMSVC-->\r
78       <EnableMSDeployAppOffline Condition="'$(EnableMSDeployAppOffline)' == '' And '$(MSDeployPublishMethod)' == 'WMSVC' ">true</EnableMSDeployAppOffline>\r
79       <_UseWMSVC>false</_UseWMSVC>\r
80       <_UseWMSVC Condition="'$(MSDeployPublishMethod)'=='WMSVC'">true</_UseWMSVC>\r
81       <_UseRemoteAgent>false</_UseRemoteAgent>\r
82       <_UseRemoteAgent Condition="'$(MSDeployPublishMethod)'=='RemoteAgent'">true</_UseRemoteAgent>\r
83 \r
84       <!-- UserAgent string sent to msdeploy -->\r
85       <_MSDeployUserAgentSource>CmdLine</_MSDeployUserAgentSource>\r
86       <_MSDeployUserAgent>VS$(_MSDeployUserAgentSource)</_MSDeployUserAgent>\r
87     </PropertyGroup>\r
88 \r
89     <CreateProperty Value="NTLM" Condition="!$(_UseWMSVC) And $(NormalizePublishSettings)">\r
90       <Output TaskParameter="Value" PropertyName="AuthType"/>\r
91     </CreateProperty>\r
92 \r
93     <!-- Normalize service url such as convert a server name to format like https://<server>:8172/msdeploy.axd-->\r
94     <NormalizeServiceUrl \r
95       ServiceUrl="$(MsDeployServiceUrl)" \r
96       UseWMSVC="$(_UseWMSVC)" \r
97       UseRemoteAgent="$(_UseRemoteAgent)" \r
98       SiteName="$(DeployIisAppPath)"\r
99       Condition="$(NormalizePublishSettings) == 'true'" >\r
100       <Output TaskParameter="ResultUrl" PropertyName="MsDeployServiceUrl" />\r
101     </NormalizeServiceUrl>\r
102 \r
103     <GetPassword\r
104       EncryptedPassword ="$(EncryptedPassword)"\r
105       Condition="'$(Password)' == '' And '$(IsGetPasswordEnabled)' == 'true'">\r
106       <Output TaskParameter="ClearPassword" PropertyName="Password"/>\r
107     </GetPassword>\r
108     \r
109     <!--  Data Passed to MSDeploy -->\r
110     <ItemGroup>\r
111       <MsDeploySourceProviderSetting Remove="@(MsDeploySourceProviderSetting)" />\r
112       <MsDeploySourceProviderSetting Include="$(MSDeployPublishSourceType)">\r
113         <Path>$(MSDeployPublishSourceRoot)</Path>\r
114       </MsDeploySourceProviderSetting>\r
115 \r
116       <MsDeployDestinationProviderSetting Remove="@(MsDeployDestinationProviderSetting)" />\r
117       <MsDeployDestinationProviderSetting Include="$(MSDeployPublishDestinationType)">\r
118         <Path>$(MSDeployPublishDestinationRoot)</Path>\r
119         <ComputerName>$(MsDeployServiceUrl)</ComputerName>\r
120         <UserName>$(UserName)</UserName>\r
121         <Password>$(Password)</Password>\r
122         <EncryptPassword>$(DeployEncryptKey)</EncryptPassword>\r
123         <IncludeAcls>False</IncludeAcls>\r
124         <AuthType>$(AuthType)</AuthType>\r
125       </MsDeployDestinationProviderSetting>\r
126     </ItemGroup>\r
127 \r
128     <!-- Additional destination provider settings -->\r
129     <ItemGroup>\r
130       <MsDeployAdditionalDestinationProviderSettings Include="$(MSDeployEncryptProviderName)">\r
131         <Name>WebConfigEncryptProvider</Name>\r
132         <Value>$(MSDeployWebConfigEncryptProvider)</Value>\r
133       </MsDeployAdditionalDestinationProviderSettings>\r
134     </ItemGroup>\r
135 \r
136     <VSMSDeploy\r
137         Condition="'$(UseMsdeployExe)' != 'true'"\r
138         Source="@(MsDeploySourceProviderSetting)"\r
139         Destination="@(MsDeployDestinationProviderSetting)"\r
140         DisableLink="$(PublishDisableLinks)"\r
141         EnableLink="$(PublishEnableLinks)"\r
142         AllowUntrustedCertificate="$(AllowUntrustedCertificate)"\r
143         SkipExtraFilesOnServer="$(SkipExtraFilesOnServer)"\r
144         SkipRuleItems="@(MsDeploySkipRules)"\r
145         ImportSetParametersItems="$(_MSDeployParametersFilePath)"\r
146         WhatIf="$(FilePreview)"\r
147         RetryAttempts="$(RetryAttemptsForDeployment)"\r
148         EnableMSDeployBackup="$(EnableMSDeployBackup)"\r
149         EnableMSDeployAppOffline="$(EnableMSDeployAppOffline)"\r
150         AdditionalDestinationProviderOptions="@(MsDeployAdditionalDestinationProviderSettings)"\r
151         UseChecksum="$(MSDeployUseChecksum)"\r
152         UserAgent="$(_MSDeployUserAgent)">\r
153       <Output TaskParameter="Result" PropertyName="_PublishResult" />\r
154     </VSMSDeploy>\r
155 \r
156     <ItemGroup>\r
157       <_EnableRuleListItems Condition="'$(SkipExtraFilesOnServer)' == 'true'" Include="DoNotDeleteRule" />\r
158       <_EnableRuleListItems Condition="'$(EnableMSDeployAppOffline)' == 'true'" Include="AppOffline" />\r
159       <_EnableRuleListItems Condition="'$(MSDeployEnableWebConfigEncryptRule)' == 'true'" Include="EncryptWebConfig" />\r
160     </ItemGroup>\r
161 \r
162     <PropertyGroup>\r
163       <_EnableRuleList>@(_EnableRuleListItems)</_EnableRuleList>\r
164     </PropertyGroup>\r
165     \r
166     <MSdeploy\r
167           Condition="'$(UseMsdeployExe)' == 'true'"\r
168           Verb="sync"\r
169           WhatIf="$(FilePreview)"\r
170           Source="@(MsDeploySourceProviderSetting)"\r
171           Destination="@(MsDeployDestinationProviderSetting)"\r
172           DisableLink="$(PublishDisableLinks)"\r
173           EnableLink="$(PublishEnableLinks)"\r
174           EnableRule="$(_EnableRuleList)"\r
175           AllowUntrusted="$(AllowUntrustedCertificate)"\r
176           SkipRuleItems="@(MsDeploySkipRules)"\r
177           ImportSetParametersItems="$(_MSDeployParametersFilePath)"\r
178           RetryAttempts="$(RetryAttemptsForDeployment)"\r
179           AdditionalDestinationProviderOptions="@(MsDeployAdditionalDestinationProviderSettings)"\r
180           UseChecksum="$(MSDeployUseChecksum)"\r
181           UserAgent="$(_MSDeployUserAgent)"\r
182           ExePath="$(MSDeployPath)" />\r
183   </Target>\r
184 \r
185   <!--\r
186   ***********************************************************************************************\r
187   TARGET : _PrepareForMsDeployPublish\r
188   ***********************************************************************************************\r
189  -->\r
190 \r
191   <Target Name="_PrepareForMsDeployPublish">\r
192 \r
193     <PropertyGroup>\r
194       <_MsDeploySourceManifestPath Condition="'$(_MsDeploySourceManifestPath)' == ''">$(PublishIntermediateTempPath)$(MSBuildProjectName).SourceManifest.xml</_MsDeploySourceManifestPath>\r
195       <_MSDeployParametersFilePath Condition="'$(_MSDeployParametersFilePath)' == ''">$(PublishIntermediateTempPath)$(MSBuildProjectName).Parameters.xml</_MSDeployParametersFilePath>\r
196     </PropertyGroup>\r
197 \r
198     <ItemGroup>\r
199       <_PublishConfigFiles Include="$(_MsDeploySourceManifestPath);$(_MSDeployParametersFilePath)" />\r
200     </ItemGroup>\r
201 \r
202     <MakeDir Directories="$(PublishIntermediateTempPath)" Condition="!Exists('$(PublishIntermediateTempPath)')" ContinueOnError="true"/>\r
203     <Delete Files="@(_PublishConfigFiles)" ContinueOnError="true" />\r
204     <Touch AlwaysCreate="true" Files="@(_PublishConfigFiles)" ContinueOnError="true" />\r
205   </Target>\r
206 \r
207   <!--\r
208   ***********************************************************************************************\r
209   TARGET : _CreateManifestFiles\r
210   ***********************************************************************************************\r
211  -->\r
212 \r
213   <Target Name="_CreateManifestFiles">\r
214 \r
215     <ItemGroup>\r
216       <MsDeploySourceManifest Remove="@(MsDeploySourceManifest)" />\r
217 \r
218       <MsDeploySourceManifest Include="IisApp" >\r
219         <Path>$(PublishIntermediateOutputPath)</Path>\r
220       </MsDeploySourceManifest>\r
221     </ItemGroup>\r
222     \r
223     <ItemGroup Condition="'@(_EFSQLScripts)' != ''">\r
224       <MsDeploySourceManifest Include="dbfullsql" >\r
225         <Path>%(_EFSQLScripts.Identity)</Path>\r
226       </MsDeploySourceManifest>\r
227     </ItemGroup>\r
228 \r
229     <CreateManifestFile\r
230       Manifests="@(MsDeploySourceManifest)"\r
231       ManifestFile="$(_MsDeploySourceManifestPath)" />\r
232   </Target>\r
233 \r
234   <!--\r
235   ***********************************************************************************************\r
236   TARGET : _CreateParameterFiles\r
237   ***********************************************************************************************\r
238  -->\r
239 \r
240   <Target Name="_CreateParameterFiles">\r
241 \r
242     <ItemGroup>\r
243       <MsDeployDeclareParameters Remove="@(MsDeployDeclareParameters)" />\r
244 \r
245       <MsDeployDeclareParameters Include="IIS Web Application Name" >\r
246         <Kind>ProviderPath</Kind>\r
247         <Scope>IisApp</Scope>\r
248         <Match>$(PublishIntermediateOutputPath)</Match>\r
249         <Description></Description>\r
250         <DefaultValue>$(DeployIisAppPath)</DefaultValue>\r
251         <Value>$(DeployIisAppPath)</Value>\r
252         <Tags>IisApp</Tags>\r
253         <Priority></Priority>\r
254         <ExcludeFromSetParameter>false</ExcludeFromSetParameter>\r
255       </MsDeployDeclareParameters>\r
256     </ItemGroup>\r
257     \r
258     <ItemGroup Condition="'@(_EFSQLScripts)' != ''">\r
259       <MsDeployDeclareParameters Include="%(_EFSQLScripts.DBContext)">\r
260         <Kind>ProviderPath</Kind>\r
261         <Scope>dbfullsql</Scope>\r
262         <Match>%(_EFSQLScripts.Identity)</Match>\r
263         <Description></Description>\r
264         <DefaultValue>%(_EFSQLScripts.ConnectionString)</DefaultValue>\r
265         <Value>%(_EFSQLScripts.ConnectionString)</Value>\r
266         <Tags>dbfullsql</Tags>\r
267         <Priority></Priority>\r
268         <ExcludeFromSetParameter>false</ExcludeFromSetParameter>\r
269       </MsDeployDeclareParameters>\r
270     </ItemGroup>\r
271 \r
272     <CreateParameterFile\r
273       Parameters="@(MsDeployDeclareParameters)"\r
274       DeclareSetParameterFile="$(_MSDeployParametersFilePath)"\r
275       IncludeDefaultValue="True"\r
276       GenerateFileEvenIfEmpty="True" />\r
277 \r
278   </Target>\r
279 \r
280   <!--\r
281   ***********************************************************************************************\r
282   Item Definitions\r
283   ***********************************************************************************************\r
284  -->\r
285 \r
286   <ItemDefinitionGroup>\r
287     <MsDeploySourceProviderSetting>\r
288       <Path></Path>\r
289       <ComputerName></ComputerName>\r
290       <!--<Wmsvc></Wmsvc>  Not supported yet-->\r
291       <UserName></UserName>\r
292       <Password></Password>\r
293       <EncryptPassword></EncryptPassword>\r
294       <IncludeAcls></IncludeAcls>\r
295       <authType></authType>\r
296       <prefetchPayload></prefetchPayload>\r
297     </MsDeploySourceProviderSetting>\r
298   </ItemDefinitionGroup>\r
299 \r
300   <ItemDefinitionGroup>\r
301     <MsDeployDestinationProviderSetting>\r
302       <Path></Path>\r
303       <ComputerName></ComputerName>\r
304       <!--<Wmsvc></Wmsvc>  Not supported yet-->\r
305       <UserName></UserName>\r
306       <Password></Password>\r
307       <EncryptPassword></EncryptPassword>\r
308       <IncludeAcls></IncludeAcls>\r
309       <authType></authType>\r
310       <prefetchPayload></prefetchPayload>\r
311     </MsDeployDestinationProviderSetting>\r
312   </ItemDefinitionGroup>\r
313 \r
314   <!--\r
315   DeploymentSkipRule(string skipAction, string objectName, string absolutePath, string XPath);-->\r
316   <ItemDefinitionGroup>\r
317     <MsDeploySkipRules>\r
318       <SkipAction></SkipAction>\r
319       <ObjectName></ObjectName>\r
320       <AbsolutePath></AbsolutePath>\r
321       <XPath></XPath>\r
322       <KeyAttribute></KeyAttribute>\r
323       <!--Source, Destination, Both(the default)-->\r
324       <Apply></Apply>\r
325     </MsDeploySkipRules>\r
326   </ItemDefinitionGroup>\r
327 \r
328   <!-- AdditionalProviderSettings denote the additionProviderSetting need to be set in the manifest files-->\r
329   <ItemDefinitionGroup>\r
330     <MsDeploySourceManifest>\r
331       <Path>Unknown</Path>\r
332       <AdditionalProviderSettings></AdditionalProviderSettings>\r
333     </MsDeploySourceManifest>\r
334   </ItemDefinitionGroup>\r
335 \r
336   <!--\r
337   DeploymentParameter(string name, string type, string scope, string match, string description, string defaultValue); -->\r
338   <ItemDefinitionGroup>\r
339     <MsDeployDeclareParameters>\r
340       <Kind></Kind>\r
341       <Scope></Scope>\r
342       <Match></Match>\r
343       <Description></Description>\r
344       <DefaultValue></DefaultValue>\r
345       <Tags></Tags>\r
346       <ExcludeFromSetParameter></ExcludeFromSetParameter>\r
347     </MsDeployDeclareParameters>\r
348   </ItemDefinitionGroup>\r
349 \r
350 </Project>\r