From cd2bd8c5623917da449bbecdc33c7fd39d2b30f8 Mon Sep 17 00:00:00 2001 From: Tom Fulton Date: Sat, 22 Feb 2014 00:32:37 -0700 Subject: [PATCH] Add version # to DLL on build * Split VersionInfo from AssemblyInfo so we can ignore changes and let the build handle * Ignore VersionInfo * Install/configure assemblyinfo grunt task * Ignore compiler warning about bad version number format (.NET vs SemVer) --- .gitignore | 1 + Gruntfile.js | 21 ++++++++++++++++--- .../Archetype.Umbraco.csproj | 1 + .../Properties/AssemblyInfo.cs | 6 +----- .../Properties/VersionInfo.cs | 4 ++++ package.json | 3 ++- 6 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs diff --git a/.gitignore b/.gitignore index 002e772..3598fad 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ pkg/*.zip [Bb]in/ [Oo]bj/ [Pp]ackages/ +VersionInfo.cs *.aps *.bak diff --git a/Gruntfile.js b/Gruntfile.js index d3935ec..b8993b1 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -5,6 +5,7 @@ module.exports = function(grunt) { dest: 'dist', package_dir: 'pkg', package_temp_dir: '<%= package_dir %>/tmp/', + csProj: 'app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj', watch: { @@ -161,16 +162,28 @@ module.exports = function(grunt) { package_artifacts: ['pkg/*.zip', 'pkg/*.nupkg'], }, + assemblyinfo: { + options: { + files: ['<%= csProj %>'], + filename: 'VersionInfo.cs', + info: { + version: '<%= (pkgMeta.version.indexOf("-") ? pkgMeta.version.substring(0, pkgMeta.version.indexOf("-")) : pkgMeta.version) %>', + fileVersion: '<%= pkgMeta.version %>' + } + } + }, + msbuild: { dev: { - src: ['app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj'], + src: ["<%= csProj %>"], options: { projectConfiguration: 'Debug', targets: ['Clean', 'Rebuild'], stdout: true, maxCpuCount: 4, buildParameters: { - WarningLevel: 2 + WarningLevel: 2, + NoWarn: 1607, }, verbosity: 'quiet' } @@ -190,6 +203,7 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-template'); grunt.loadNpmTasks('grunt-touch'); grunt.loadNpmTasks('grunt-msbuild'); + grunt.loadNpmTasks('grunt-dotnet-assembly-info'); grunt.loadTasks('tasks'); @@ -200,6 +214,7 @@ module.exports = function(grunt) { grunt.registerTask('deploy', ['default', 'copy:deploy', 'touchwebconfigifenabled']); grunt.registerTask('css:build', ['less']); grunt.registerTask('js:build', ['concat']); - grunt.registerTask('default', ['clean', 'css:build', 'js:build', 'copy:build', 'msbuild:dev']); + grunt.registerTask('cs:build', ['assemblyinfo', 'msbuild:dev']); + grunt.registerTask('default', ['clean', 'css:build', 'js:build', 'copy:build', 'cs:build']); }; diff --git a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj index 4c45d24..c5d64bc 100644 --- a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj +++ b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj @@ -228,6 +228,7 @@ + diff --git a/app/Umbraco/Umbraco.Archetype/Properties/AssemblyInfo.cs b/app/Umbraco/Umbraco.Archetype/Properties/AssemblyInfo.cs index 721d6e3..6f0c2e3 100644 --- a/app/Umbraco/Umbraco.Archetype/Properties/AssemblyInfo.cs +++ b/app/Umbraco/Umbraco.Archetype/Properties/AssemblyInfo.cs @@ -11,8 +11,4 @@ using System.Runtime.InteropServices; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: Guid("E37E94F9-C7BA-4B54-B7E1-64419B3DBA0B")] - -[assembly: AssemblyVersion("0.1.0.0")] -[assembly: AssemblyFileVersion("0.1.0.0")] -[assembly: AssemblyInformationalVersion("0.1.0-alpha")] +[assembly: Guid("E37E94F9-C7BA-4B54-B7E1-64419B3DBA0B")] \ No newline at end of file diff --git a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs new file mode 100644 index 0000000..7a33150 --- /dev/null +++ b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs @@ -0,0 +1,4 @@ +using System.Reflection; + +[assembly: AssemblyVersion("0.0.0.0")] +[assembly: AssemblyFileVersion("0.0.0.0")] \ No newline at end of file diff --git a/package.json b/package.json index 5ada328..8f01d88 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "grunt-template": "~0.2.2", "grunt-touch": "~0.1.0", "fs-extra": "~0.8.1", - "grunt-msbuild": "~0.1.9" + "grunt-msbuild": "~0.1.9", + "grunt-dotnet-assembly-info": "~1.0.9" }, "repository": { "type": "git",