diff -r 7d374d366b28 -r fb3a062bc720 client/gruntfile.js --- a/client/gruntfile.js Wed Sep 09 18:37:15 2015 +0200 +++ b/client/gruntfile.js Thu Sep 10 00:35:59 2015 +0200 @@ -251,7 +251,48 @@ } } } - } + }, + replace: { + 'version-bower-package': { + src: ['package.json', 'bower.json'], + overwrite: true, + replacements: [{ + from: /^(\s+)\"version\"\:\s*\"([\d\.]+)\"\,[ \t]*$/m, + to: "$1\"version\"\: \"<%= setversion.version %>\",", + }] + }, + 'version-gradle': { + src: ['../server/java/build.gradle'], + overwrite: true, + replacements: [{ + from: /^(\s+)version\s*\=\s*\'([\d\.]+)\'[ \t]*$/m, + to: "$1version = \'<%= setversion.version %>\'", + }] + }, + 'version-maven': { + src: ['../server/java/pom.xml'], + overwrite: true, + replacements: [{ + from: /^(\s+)\s*([\d\.]+)\s*<\/version>[ \t]*$/m, + to: "$1<%= setversion.version %>", + }] + }, + 'version-django': { + src: ['../server/python/django/renkanmanager/__init__.py'], + overwrite: true, + replacements: [{ + from: /^(\s*)VERSION\s*=\s*\([ \t]*\d+[ \t]*,[ \t]*\d+[ \t]*,[ \t]*\d+[ \t]*,[ \t]*\"final\"[ \t]*\,[ \t]*0[ \t]*\)[ \t]*$/m, + to: function(matchedWord, index, fullText, regexMatches) { + var array_version = grunt.config.get('setversion.version').split('.'); + var array_version_length = array_version.length; + for(let i=0;i<3-array_version_length;i++) { + array_version.push('0'); + } + return regexMatches[0]+"VERSION = (" + array_version.join(', ') + ", \"final\", 0)"; + }, + }] + }, + }, }); // Load the plugins. @@ -267,6 +308,7 @@ grunt.loadNpmTasks('grunt-contrib-jst'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-umd'); + grunt.loadNpmTasks('grunt-text-replace'); // Default task(s). grunt.registerTask('base', [ @@ -290,6 +332,10 @@ grunt.task.run(['copy:renkan_server']); }); grunt.registerTask('dev', ['base', 'connect:server', 'watch']); + grunt.registerTask('set-version', function(version) { + grunt.config.set('setversion.version', version); + grunt.task.run(['replace:version-bower-package', 'replace:version-gradle', 'replace:version-maven', 'replace:version-django']); + }); };