1. Clément Bourgeois
  2. SQLServerBackupTool

Commits

Clément Bourgeois  committed 52f7bb7

MSBuild version targets

  • Participants
  • Parent commits 1eff105
  • Branches master

Comments (0)

Files changed (10)

File .gitignore

View file
 sql
 TestResults
 UpgradeLog*.XML
+AssemblyInfo.Generated.cs

File SQLServerBackupTool.Lib/MSBuild/Version.targets

View file
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <AssemblyVersionBase>0.1</AssemblyVersionBase>
+    <MSBuildCommunityTasksPath>.</MSBuildCommunityTasksPath>
+  </PropertyGroup>
+  <Import Project="..\..\Build\MSBuild.Community.Tasks.targets" />
+  <PropertyGroup>
+    <BuildDependsOn>
+      GenerateAssemblyInfo;
+      $(BuildDependsOn)
+    </BuildDependsOn>
+  </PropertyGroup>
+
+  <Target Name="ExtractRevision">
+    <GitVersion LocalPath="..\..">
+      <Output TaskParameter="CommitHash" PropertyName="Revision" />
+    </GitVersion>
+    <Message Text="Version : $(Revision)" />
+  </Target>
+
+  <Target Name="GenerateAssemblyInfo"
+          DependsOnTargets="ExtractRevision">
+    <PropertyGroup Condition="'$(Revision)' == ''">
+      <Revision>0000000</Revision>
+    </PropertyGroup>
+    <CreateProperty Value="$(MSBuildProjectDirectory)\..\..">
+      <Output TaskParameter="Value" PropertyName="SolutionDirectory"/>
+    </CreateProperty>
+    <CreateProperty Value="$(AssemblyVersionBase).*">
+      <Output TaskParameter="Value" PropertyName="AssemblyVersion" />
+    </CreateProperty>
+    <CreateProperty Value="$(Revision)">
+      <Output TaskParameter="Value" PropertyName="AssemblyVersionCommitHash"/>
+    </CreateProperty>
+    
+    <AssemblyInfo CodeLanguage="CS"
+              OutputFile="$(SolutionDirectory)\SQLServerBackupTool\Properties\AssemblyInfo.Generated.cs"
+              AssemblyVersion="$(AssemblyVersion)"
+              AssemblyInformationalVersion="$(AssemblyVersionCommitHash)" />
+    
+    <AssemblyInfo CodeLanguage="CS"
+              OutputFile="$(SolutionDirectory)\SQLServerBackupTool.Lib\Properties\AssemblyInfo.Generated.cs"
+              AssemblyVersion="$(AssemblyVersion)"
+              AssemblyInformationalVersion="$(AssemblyVersionCommitHash)" />
+    
+    <AssemblyInfo CodeLanguage="CS"
+                  OutputFile="$(SolutionDirectory)\SQLServerBackupTool.Web\Properties\AssemblyInfo.Generated.cs"
+                  AssemblyVersion="$(AssemblyVersion)"
+                  AssemblyInformationalVersion="$(AssemblyVersionCommitHash)" />
+  </Target>
+</Project>

File SQLServerBackupTool.Lib/Properties/AssemblyInfo.cs

View file
 // Les informations générales relatives à un assembly dépendent de 
 // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
 // associées à un assembly.
-[assembly: AssemblyTitle("SQLServerBackupTool.Lib")]
+[assembly: AssemblyTitle("SQLServerBackupToolkit.Lib")]
 // [assembly: AssemblyDescription("")]
 // [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("moonpyk.net")]
-[assembly: AssemblyProduct("SQLServerBackupTool")]
+[assembly: AssemblyProduct("SQLServerBackupToolkit")]
 [assembly: AssemblyCopyright("Copyright © Moonpyk 2013")]
 // [assembly: AssemblyTrademark("")]
 // [assembly: AssemblyCulture("")]
 // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
 [assembly: Guid("3c8b766c-d923-4fb4-9071-25bc073d19ee")]
 
-// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
-//
-//      Version principale
-//      Version secondaire 
-//      Numéro de build
-//      Révision
-//
-// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut 
-// en utilisant '*', comme indiqué ci-dessous :
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.2.*")]
-// [assembly: AssemblyFileVersion("1.0.0.0")]

File SQLServerBackupTool.Lib/SQLServerBackupTool.Lib.csproj

View file
     <TargetFrameworkProfile>Client</TargetFrameworkProfile>
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
     <RestorePackages>true</RestorePackages>
+    <MSBuildCommunityTasksPath>$(SolutionDir)\Build</MSBuildCommunityTasksPath>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Annotations\Annotations.cs" />
+    <Compile Include="Properties\AssemblyInfo.Generated.cs" />
     <Compile Include="SqlServerBackupProvider.cs" />
     <Compile Include="ISqlBackupProvider.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Utils.cs" />
   </ItemGroup>
   <ItemGroup>
+    <Content Include="MSBuild\Version.targets" />
     <None Include="packages.config" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>$(MSBuildBinPath)\MSBuild.exe "$(SolutionDir)\SQLServerBackupTool.Lib\MSBuild\Version.targets" /t:GenerateAssemblyInfo</PreBuildEvent>
+  </PropertyGroup>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">

File SQLServerBackupTool.Lib/packages.config

View file
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
+  <package id="MSBuildTasks" version="1.4.0.45" targetFramework="net40-Client" />
 </packages>

File SQLServerBackupTool.Web/Properties/AssemblyInfo.cs

View file
 // Les informations générales relatives à un assembly dépendent de 
 // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
 // associées à un assembly.
-[assembly: AssemblyTitle("SQLServerBackupTool.Web")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("SQLServerBackupTool.Web")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2013")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
+[assembly: AssemblyTitle("SQLServerBackupToolkit.Web")]
+// [assembly: AssemblyDescription("")]
+// [assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("moonpyk.net")]
+[assembly: AssemblyProduct("SQLServerBackupToolkit")]
+[assembly: AssemblyCopyright("Copyright © Moonpyk 2013")]
+// [assembly: AssemblyTrademark("")]
+// [assembly: AssemblyCulture("")]
 
 // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 
 // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 
 // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
 [assembly: Guid("64578783-a9e3-43a0-a73f-4f362327ee13")]
 
-// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
-//
-//      Version principale
-//      Version secondaire 
-//      Numéro de build
-//      Révision
-//
-// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de révision et de build par défaut 
-// en utilisant '*', comme indiqué ci-dessous :
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

File SQLServerBackupTool.Web/SQLServerBackupTool.Web.csproj

View file
     <Compile Include="Lib\Mvc\FlashMessages.cs" />
     <Compile Include="Lib\Interfaces\IMembershipUser.cs" />
     <Compile Include="Models\DatabaseSizeInfo.cs" />
+    <Compile Include="Properties\AssemblyInfo.Generated.cs" />
     <Compile Include="ViewModels\IndexViewModel.cs" />
     <Compile Include="Lib\Mvc\ApplicationController.cs" />
     <Compile Include="Controllers\HomeController.cs" />
     </VisualStudio>
   </ProjectExtensions>
   <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>$(MSBuildBinPath)\MSBuild.exe "$(SolutionDir)\SQLServerBackupTool.Lib\MSBuild\Version.targets" /t:GenerateAssemblyInfo</PreBuildEvent>
+  </PropertyGroup>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">

File SQLServerBackupTool.sln

View file
 	ProjectSection(SolutionItems) = preProject
 		.nuget\NuGet.Config = .nuget\NuGet.Config
 		.nuget\NuGet.exe = .nuget\NuGet.exe
-		.nuget\NuGet.targets = .nuget\NuGet.targets
 	EndProjectSection
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLServerBackupTool.Web", "SQLServerBackupTool.Web\SQLServerBackupTool.Web.csproj", "{7218D276-EB27-4EA0-B438-3EBEF906CDE4}"

File SQLServerBackupTool/Properties/AssemblyInfo.cs

View file
 // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
 [assembly: Guid("3c8b766c-d923-4fb4-9071-25bc073d19ee")]
 
-// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
-//
-//      Version principale
-//      Version secondaire 
-//      Numéro de build
-//      Révision
-//
-// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut 
-// en utilisant '*', comme indiqué ci-dessous :
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.2.*")]
-// [assembly: AssemblyFileVersion("1.0.0.0")]

File SQLServerBackupTool/SQLServerBackupTool.csproj

View file
     <Compile Include="Lib\Options.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\AssemblyInfo.Generated.cs" />
     <Compile Include="Properties\Settings.Designer.cs">
       <AutoGen>True</AutoGen>
       <DesignTimeSharedInput>True</DesignTimeSharedInput>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>$(MSBuildBinPath)\MSBuild.exe "$(SolutionDir)\SQLServerBackupTool.Lib\MSBuild\Version.targets" /t:GenerateAssemblyInfo</PreBuildEvent>
+  </PropertyGroup>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">