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 / build / Microsoft.NET.GenerateAssemblyInfo.targets
1 <!--\r
2 ***********************************************************************************************\r
3 Microsoft.NET.GenerateAssemblyInfo.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 projects from the command-line or the IDE.\r
8 \r
9 Copyright (c) .NET Foundation. All rights reserved. \r
10 ***********************************************************************************************\r
11 -->\r
12 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
13   <!--\r
14     ============================================================\r
15                                      GenerateAssemblyInfo\r
16 \r
17     Generates assembly info source to intermediate directory\r
18     ============================================================\r
19     -->\r
20   <PropertyGroup>\r
21     <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>\r
22     <GeneratedAssemblyInfoFile Condition="'$(GeneratedAssemblyInfoFile)' ==''">$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyInfo$(DefaultLanguageSourceExtension)</GeneratedAssemblyInfoFile>\r
23     <GenerateAssemblyInfo Condition="'$(GenerateAssemblyInfo)' == ''">true</GenerateAssemblyInfo>\r
24   </PropertyGroup>\r
25 \r
26   <PropertyGroup Condition="'$(GenerateAssemblyInfo)' == 'true'">\r
27     <GenerateAssemblyCompanyAttribute Condition="'$(GenerateAssemblyCompanyAttribute)' == ''">true</GenerateAssemblyCompanyAttribute>\r
28     <GenerateAssemblyConfigurationAttribute Condition="'$(GenerateAssemblyConfigurationAttribute)' == ''">true</GenerateAssemblyConfigurationAttribute>\r
29     <GenerateAssemblyCopyrightAttribute Condition="'$(GenerateAssemblyCopyrightAttribute)' == ''">true</GenerateAssemblyCopyrightAttribute>\r
30     <GenerateAssemblyDescriptionAttribute Condition="'$(GenerateAssemblyDescriptionAttribute)' == ''">true</GenerateAssemblyDescriptionAttribute>\r
31     <GenerateAssemblyFileVersionAttribute Condition="'$(GenerateAssemblyFileVersionAttribute)' == ''">true</GenerateAssemblyFileVersionAttribute>\r
32     <GenerateAssemblyInformationalVersionAttribute Condition="'$(GenerateAssemblyInformationalVersionAttribute)' == ''">true</GenerateAssemblyInformationalVersionAttribute>\r
33     <GenerateAssemblyProductAttribute Condition="'$(GenerateAssemblyProductAttribute)' == ''">true</GenerateAssemblyProductAttribute>\r
34     <GenerateAssemblyTitleAttribute Condition="'$(GenerateAssemblyTitleAttribute)' == ''">true</GenerateAssemblyTitleAttribute>\r
35     <GenerateAssemblyVersionAttribute Condition="'$(GenerateAssemblyVersionAttribute)' == ''">true</GenerateAssemblyVersionAttribute>\r
36     <GenerateNeutralResourcesLanguageAttribute Condition="'$(GenerateNeutralResourcesLanguageAttribute)' == ''">true</GenerateNeutralResourcesLanguageAttribute>\r
37   </PropertyGroup>\r
38 \r
39   <!-- \r
40     Note that this must run before every invocation of CoreCompile to ensure that all compiler\r
41     runs see the generated assembly info. There is at least one scenario involving Xaml \r
42     where CoreCompile is invoked without other potential hooks such as Compile or CoreBuild,\r
43     etc., so we hook directly on to CoreCompile. Furthermore, we  must run *after* \r
44     PrepareForBuild to ensure that the intermediate directory has been created.\r
45    -->\r
46   <Target Name="GenerateAssemblyInfo"\r
47           BeforeTargets="CoreCompile"\r
48           DependsOnTargets="PrepareForBuild;GetAssemblyVersion;CoreGenerateAssemblyInfo"\r
49           Condition="'$(GenerateAssemblyInfo)' == 'true'" />\r
50 \r
51   <Target Name="CoreGenerateAssemblyInfo"\r
52           Condition="'$(Language)'=='VB' or '$(Language)'=='C#'"\r
53           Inputs="$(MSBuildAllProjects)"\r
54           Outputs="$(GeneratedAssemblyInfoFile)">\r
55     <ItemGroup>\r
56       <AssemblyAttribute Include="System.Reflection.AssemblyCompanyAttribute" Condition="'$(Company)' != '' and '$(GenerateAssemblyCompanyAttribute)' == 'true'">\r
57         <_Parameter1>$(Company)</_Parameter1>\r
58       </AssemblyAttribute>\r
59       <AssemblyAttribute Include="System.Reflection.AssemblyConfigurationAttribute" Condition="'$(Configuration)' != '' and '$(GenerateAssemblyConfigurationAttribute)' == 'true'">\r
60         <_Parameter1>$(Configuration)</_Parameter1>\r
61       </AssemblyAttribute>\r
62       <AssemblyAttribute Include="System.Reflection.AssemblyCopyrightAttribute" Condition="'$(Copyright)' != '' and '$(GenerateAssemblyCopyrightAttribute)' == 'true'">\r
63         <_Parameter1>$(Copyright)</_Parameter1>\r
64       </AssemblyAttribute>\r
65       <AssemblyAttribute Include="System.Reflection.AssemblyDescriptionAttribute" Condition="'$(Description)' != '' and '$(GenerateAssemblyDescriptionAttribute)' == 'true'">\r
66         <_Parameter1>$(Description)</_Parameter1>\r
67       </AssemblyAttribute>\r
68       <AssemblyAttribute Include="System.Reflection.AssemblyFileVersionAttribute" Condition="'$(FileVersion)' != '' and '$(GenerateAssemblyFileVersionAttribute)' == 'true'">\r
69         <_Parameter1>$(FileVersion)</_Parameter1>\r
70       </AssemblyAttribute>\r
71       <AssemblyAttribute Include="System.Reflection.AssemblyInformationalVersionAttribute" Condition="'$(InformationalVersion)' != '' and '$(GenerateAssemblyInformationalVersionAttribute)' == 'true'">\r
72         <_Parameter1>$(InformationalVersion)</_Parameter1>\r
73       </AssemblyAttribute>\r
74       <AssemblyAttribute Include="System.Reflection.AssemblyProductAttribute" Condition="'$(Product)' != '' and '$(GenerateAssemblyProductAttribute)' == 'true'">\r
75         <_Parameter1>$(Product)</_Parameter1>\r
76       </AssemblyAttribute>\r
77       <AssemblyAttribute Include="System.Reflection.AssemblyTitleAttribute" Condition="'$(AssemblyTitle)' != '' and '$(GenerateAssemblyTitleAttribute)' == 'true'">\r
78         <_Parameter1>$(AssemblyTitle)</_Parameter1>\r
79       </AssemblyAttribute>\r
80       <AssemblyAttribute Include="System.Reflection.AssemblyVersionAttribute" Condition="'$(AssemblyVersion)' != '' and '$(GenerateAssemblyVersionAttribute)' == 'true'">\r
81         <_Parameter1>$(AssemblyVersion)</_Parameter1>\r
82       </AssemblyAttribute>\r
83       <AssemblyAttribute Include="System.Resources.NeutralResourcesLanguageAttribute" Condition="'$(NeutralLanguage)' != '' and '$(GenerateNeutralResourcesLanguageAttribute)' == 'true'">\r
84         <_Parameter1>$(NeutralLanguage)</_Parameter1>\r
85       </AssemblyAttribute>\r
86     </ItemGroup>\r
87 \r
88     <ItemGroup>\r
89       <!-- Ensure the generated assemblyinfo file is not already part of the Compile sources, as a workaround for https://github.com/dotnet/sdk/issues/114 -->\r
90       <Compile Remove="$(GeneratedAssemblyInfoFile)" />\r
91     </ItemGroup>\r
92 \r
93     <WriteCodeFragment AssemblyAttributes="@(AssemblyAttribute)" Language="$(Language)" OutputFile="$(GeneratedAssemblyInfoFile)">\r
94       <Output TaskParameter="OutputFile" ItemName="Compile" />\r
95       <Output TaskParameter="OutputFile" ItemName="FileWrites" />\r
96     </WriteCodeFragment>\r
97   </Target>\r
98 \r
99 \r
100   <!--\r
101     ==================================================================\r
102                                             GetAssemblyVersion\r
103 \r
104     Parses the nuget package version set in $(Version) and returns\r
105     the implied $(AssemblyVersion) and $(FileVersion).\r
106 \r
107     e.g.:\r
108         <Version>1.2.3-beta.4</Version>\r
109 \r
110     implies:\r
111         <AssemblyVersion>1.2.3</AssemblyVersion>\r
112         <FileVersion>1.2.3</FileVersion>\r
113 \r
114     Note that if $(AssemblyVersion) or $(FileVersion) are are already set, it\r
115     is considered an override of the default inference from $(Version) and they\r
116     are left unchanged by this target.\r
117     ==================================================================\r
118   -->\r
119   <Target Name="GetAssemblyVersion">\r
120     <GetAssemblyVersion Condition="'$(AssemblyVersion)' == ''" NuGetVersion="$(Version)">\r
121       <Output TaskParameter="AssemblyVersion" PropertyName="AssemblyVersion" />\r
122     </GetAssemblyVersion>\r
123     \r
124     <PropertyGroup>\r
125       <FileVersion Condition="'$(FileVersion)' == ''">$(AssemblyVersion)</FileVersion>\r
126       <InformationalVersion Condition="'$(InformationalVersion)' == ''">$(Version)</InformationalVersion>\r
127     </PropertyGroup>\r
128   </Target>\r
129 \r
130 </Project>\r