diff -r d55176dc72cc -r d45e95229c47 client/gruntfile.js --- a/client/gruntfile.js Wed Sep 09 15:18:53 2015 +0200 +++ b/client/gruntfile.js Thu Sep 10 16:22:28 2015 +0200 @@ -178,11 +178,16 @@ eqeqeq: true, eqnull: true, browser: true, + esnext: true, globals: { jQuery: true }, }, - all: ['Gruntfile.js', 'js/**/*.js', 'data/simple-persist.js'] + all: [ + 'Gruntfile.js', + 'js/**/*.js', + 'data/simple-persist.js' + ] }, bower: { install: { @@ -251,7 +256,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 +313,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 +337,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']); + }); };