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.MSDeployPackage.targets
1 <!--\r
2 ***********************************************************************************************\r
3 Microsoft.NET.Sdk.Publish.MSDeployPackage.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 \r
29   <PropertyGroup>\r
30     <_DotNetPublishFiles>\r
31       MSDeployPackagePublish;\r
32     </_DotNetPublishFiles>\r
33   </PropertyGroup>\r
34 \r
35   <!--\r
36   ***********************************************************************************************\r
37   TARGET : MSDeployPackagePublish\r
38   ***********************************************************************************************\r
39  -->\r
40   <PropertyGroup>\r
41     <MSDeployPackagePublishDependsOn>\r
42       $(MSDeployPackagePublishDependsOn);\r
43       _InitMSDeployPackageLocation;\r
44       _PrepareForMsDeployPublish;\r
45       _CreateManifestFiles;\r
46       _CreateParameterFiles;\r
47     </MSDeployPackagePublishDependsOn>\r
48   </PropertyGroup>\r
49 \r
50   <Target Name="MSDeployPackagePublish" DependsOnTargets="$(MSDeployPackagePublishDependsOn)">\r
51 \r
52     <ValidateParameter\r
53     ParameterName="DeployIisAppPath"\r
54     ParameterValue="$(DeployIisAppPath)"/>\r
55 \r
56     <PropertyGroup>\r
57       <MSDeployPublishSourceType>manifest</MSDeployPublishSourceType>\r
58       <MSDeployPublishSourceRoot>$(_MsDeploySourceManifestPath)</MSDeployPublishSourceRoot>\r
59       <!--Destination is alway a manifest-->\r
60       <MSDeployPublishDestinationType>Package</MSDeployPublishDestinationType>\r
61       <MSDeployPublishDestinationRoot>$(PackageLocation)</MSDeployPublishDestinationRoot>\r
62       <RetryAttemptsForDeployment Condition=" '$(RetryAttemptsForDeployment)' == '' ">2</RetryAttemptsForDeployment>\r
63       <PublishEnableLinks Condition="'$(PublishEnableLinks)' == ''"></PublishEnableLinks>\r
64       <PublishDisableLinks Condition="'$(PublishDisableLinks)' == ''">AppPoolExtension;ContentExtension;CertificateExtension</PublishDisableLinks>\r
65       <!-- UserAgent string sent to msdeploy -->\r
66       <_MSDeployUserAgentSource>CmdLine</_MSDeployUserAgentSource>\r
67       <_MSDeployUserAgent>VS$(_MSDeployUserAgentSource)</_MSDeployUserAgent>\r
68     </PropertyGroup>\r
69 \r
70     <!--  Data Passed to MSDeploy -->\r
71     <ItemGroup>\r
72       <MsDeploySourceProviderSetting Remove="@(MsDeploySourceProviderSetting)" />\r
73       <MsDeploySourceProviderSetting Include="$(MSDeployPublishSourceType)">\r
74         <Path>$(MSDeployPublishSourceRoot)</Path>\r
75       </MsDeploySourceProviderSetting>\r
76 \r
77       <MsDeployDestinationProviderSetting Remove="@(MsDeployDestinationProviderSetting)" />\r
78       <MsDeployDestinationProviderSetting Include="$(MSDeployPublishDestinationType)">\r
79         <Path>$(MSDeployPublishDestinationRoot)</Path>\r
80       </MsDeployDestinationProviderSetting>\r
81     </ItemGroup>\r
82 \r
83     <VSMSDeploy Condition="'$(UseMsdeployExe)' != 'true'"\r
84        MSDeployVersionsToTry="$(_MSDeployVersionsToTry)"\r
85        Source="@(MsDeploySourceProviderSetting)"\r
86        Destination="@(MsDeployDestinationProviderSetting)"\r
87        DeploymentTraceLevel="$(PackageTraceLevel)"\r
88        DisableLink="$(PublishDisableLinks)"\r
89        EnableLink="$(PublishEnableLinks)"\r
90        ImportDeclareParametersItems="$(_MSDeployParametersFilePath)"\r
91        ReplaceRuleItems="@(MsDeployReplaceRules)"\r
92        RetryAttempts="$(RetryAttemptsForDeployment)">\r
93       <Output TaskParameter="Result" PropertyName="PackageResult" />\r
94     </VSMSDeploy>\r
95 \r
96     <MSdeploy\r
97       Condition="'$(UseMsdeployExe)' == 'true'"\r
98       Verb="sync"\r
99       Source="@(MsDeploySourceProviderSetting)"\r
100       Destination="@(MsDeployDestinationProviderSetting)"\r
101       DisableLink="$(PublishDisableLinks)"\r
102       EnableLink="$(PublishEnableLinks)"\r
103       ImportDeclareParametersItems="$(_MSDeployParametersFilePath)"\r
104       ReplaceRuleItems="@(MsDeployReplaceRules)"\r
105       RetryAttempts="$(RetryAttemptsForDeployment)"\r
106       ExePath="$(MSDeployPath)"\r
107       />\r
108   </Target>\r
109 \r
110   <!--\r
111   ***********************************************************************************************\r
112   TARGET : _InitMSDeployPackageLocation\r
113   ***********************************************************************************************\r
114  -->\r
115 \r
116   <Target Name="_InitMSDeployPackageLocation">\r
117    \r
118     <PropertyGroup>\r
119       <DefaultPackageFileName Condition="'$(DefaultPackageFileName)'==''">MSDeployPackage.zip</DefaultPackageFileName>\r
120       <PackageLocation Condition="'$(PackageLocation)' == ''">$(DesktopBuildPackageLocation)</PackageLocation>\r
121       <PackageLocation Condition="'$(PackageLocation)' == ''">$(OutputPath)</PackageLocation>\r
122       <PackageLocation Condition="'$([System.IO.Path]::GetExtension($(PackageLocation)))' == '' And !HasTrailingSlash('$(PackageLocation)')">$(PackageLocation)\</PackageLocation>\r
123       <PackageLocation Condition="'$([System.IO.Path]::GetExtension($(PackageLocation)))' == '' ">$(PackageLocation)$(DefaultPackageFileName)</PackageLocation>\r
124     </PropertyGroup>\r
125 \r
126   </Target>\r
127   \r
128   <!--\r
129   ***********************************************************************************************\r
130   TARGET : _PrepareForMsDeployPackagePublish\r
131   ***********************************************************************************************\r
132  -->\r
133 \r
134   <Target Name="_PrepareForMsDeployPublish">\r
135 \r
136     <PropertyGroup>\r
137       <_destinationFolder Condition="'$(_destinationFolder)' == ''">$([System.IO.Path]::GetDirectoryName($(PackageLocation)))\</_destinationFolder>\r
138       <_MsDeploySourceManifestPath Condition="'$(_MsDeploySourceManifestPath)' == ''">$(_destinationFolder)$(MSBuildProjectName).SourceManifest.xml</_MsDeploySourceManifestPath>\r
139       <_MSDeployParametersFilePath Condition="'$(_MSDeployParametersFilePath)' == ''">$(_destinationFolder)$(MSBuildProjectName).Parameters.xml</_MSDeployParametersFilePath>\r
140     </PropertyGroup>\r
141 \r
142     <ItemGroup>\r
143       <_PublishConfigFiles Include="$(_MsDeploySourceManifestPath);$(_MSDeployParametersFilePath)" />\r
144     </ItemGroup>\r
145     \r
146     <MakeDir Directories="$(_destinationFolder)" Condition="!Exists('$(_destinationFolder)')" ContinueOnError="true"/>\r
147     <Delete Files="@(_PublishConfigFiles)" ContinueOnError="true" />\r
148     <Touch AlwaysCreate="true" Files="@(_PublishConfigFiles)" ContinueOnError="true" />\r
149   </Target>\r
150 \r
151   <!--\r
152   ***********************************************************************************************\r
153   TARGET : _CreateManifestFiles\r
154   ***********************************************************************************************\r
155  -->\r
156 \r
157   <Target Name="_CreateManifestFiles">\r
158 \r
159     <ItemGroup>\r
160       <MsDeploySourceManifest Remove="@(MsDeploySourceManifest)" />\r
161 \r
162       <MsDeploySourceManifest Include="IisApp" >\r
163         <Path>$(PublishIntermediateOutputPath)</Path>\r
164       </MsDeploySourceManifest>\r
165     </ItemGroup>\r
166 \r
167     <ItemGroup Condition="'@(_EFSQLScripts)' != ''">\r
168       <MsDeploySourceManifest Include="dbfullsql" >\r
169         <Path>%(_EFSQLScripts.Identity)</Path>\r
170       </MsDeploySourceManifest>\r
171     </ItemGroup>\r
172 \r
173     <CreateManifestFile\r
174       Manifests="@(MsDeploySourceManifest)"\r
175       ManifestFile="$(_MsDeploySourceManifestPath)" />\r
176   </Target>\r
177 \r
178   <!--\r
179   ***********************************************************************************************\r
180   TARGET : _CreateParameterFiles\r
181   ***********************************************************************************************\r
182  -->\r
183 \r
184   <Target Name="_CreateParameterFiles">\r
185 \r
186     <ItemGroup>\r
187       <MsDeployDeclareParameters Remove="@(MsDeployDeclareParameters)" />\r
188 \r
189       <MsDeployDeclareParameters Include="IIS Web Application Name" >\r
190         <Kind>ProviderPath</Kind>\r
191         <Scope>IisApp</Scope>\r
192         <Match>$(PublishIntermediateOutputPath)</Match>\r
193         <Description></Description>\r
194         <DefaultValue>$(DeployIisAppPath)</DefaultValue>\r
195         <Value>$(DeployIisAppPath)</Value>\r
196         <Tags>IisApp</Tags>\r
197         <Priority></Priority>\r
198         <ExcludeFromSetParameter>false</ExcludeFromSetParameter>\r
199       </MsDeployDeclareParameters>\r
200     </ItemGroup>\r
201 \r
202     <ItemGroup Condition="'@(_EFSQLScripts)' != ''">\r
203       <MsDeployDeclareParameters Include="%(_EFSQLScripts.DBContext)">\r
204         <Kind>ProviderPath</Kind>\r
205         <Scope>dbfullsql</Scope>\r
206         <Match>%(_EFSQLScripts.Identity)</Match>\r
207         <Description></Description>\r
208         <DefaultValue>%(_EFSQLScripts.ConnectionString)</DefaultValue>\r
209         <Value>%(_EFSQLScripts.ConnectionString)</Value>\r
210         <Tags>dbfullsql</Tags>\r
211         <Priority></Priority>\r
212         <ExcludeFromSetParameter>false</ExcludeFromSetParameter>\r
213       </MsDeployDeclareParameters>\r
214     </ItemGroup>\r
215 \r
216     <CreateParameterFile\r
217       Parameters="@(MsDeployDeclareParameters)"\r
218       DeclareSetParameterFile="$(_MSDeployParametersFilePath)"\r
219       IncludeDefaultValue="True"\r
220       GenerateFileEvenIfEmpty="True" />\r
221   </Target>\r
222 \r
223   <!--\r
224   ***********************************************************************************************\r
225   Item Definitions\r
226   ***********************************************************************************************\r
227  -->\r
228 \r
229   <ItemDefinitionGroup>\r
230     <MsDeploySourceProviderSetting>\r
231       <Path></Path>\r
232       <ComputerName></ComputerName>\r
233       <!--<Wmsvc></Wmsvc>  Not supported yet-->\r
234       <UserName></UserName>\r
235       <Password></Password>\r
236       <EncryptPassword></EncryptPassword>\r
237       <IncludeAcls></IncludeAcls>\r
238       <authType></authType>\r
239       <prefetchPayload></prefetchPayload>\r
240     </MsDeploySourceProviderSetting>\r
241   </ItemDefinitionGroup>\r
242   \r
243   <ItemDefinitionGroup>\r
244     <MsDeployDestinationProviderSetting>\r
245       <Path></Path>\r
246       <ComputerName></ComputerName>\r
247       <!--<Wmsvc></Wmsvc>  Not supported yet-->\r
248       <UserName></UserName>\r
249       <Password></Password>\r
250       <EncryptPassword></EncryptPassword>\r
251       <IncludeAcls></IncludeAcls>\r
252       <authType></authType>\r
253       <prefetchPayload></prefetchPayload>\r
254     </MsDeployDestinationProviderSetting>\r
255   </ItemDefinitionGroup>\r
256   \r
257   <!--\r
258   DeploymentSkipRule(string skipAction, string objectName, string absolutePath, string XPath);-->\r
259   <ItemDefinitionGroup>\r
260     <MsDeploySkipRules>\r
261       <SkipAction></SkipAction>\r
262       <ObjectName></ObjectName>\r
263       <AbsolutePath></AbsolutePath>\r
264       <XPath></XPath>\r
265       <KeyAttribute></KeyAttribute>\r
266       <!--Source, Destination, Both(the default)-->\r
267       <Apply></Apply>\r
268     </MsDeploySkipRules>\r
269   </ItemDefinitionGroup>\r
270 \r
271   <!-- AdditionalProviderSettings denote the additionProviderSetting need to be set in the manifest files-->\r
272   <ItemDefinitionGroup>\r
273     <MsDeploySourceManifest>\r
274       <Path>Unknown</Path>\r
275       <AdditionalProviderSettings></AdditionalProviderSettings>\r
276     </MsDeploySourceManifest>\r
277   </ItemDefinitionGroup>\r
278 </Project>\r