]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5331 Invalidate browser cache
authorStas Vilchik <vilchiks@gmail.com>
Mon, 16 Jun 2014 12:04:02 +0000 (18:04 +0600)
committerStas Vilchik <vilchiks@gmail.com>
Mon, 16 Jun 2014 12:04:11 +0000 (18:04 +0600)
sonar-server/Gruntfile.coffee
sonar-server/package.json
sonar-server/src/main/less/select2.less

index 1cea3c8cde9d3bbb40d183aaf3618527708ec45f..45e4e6bfd4a6b2055611e7873fe29f872e9338de 100644 (file)
@@ -42,6 +42,18 @@ module.exports = (grunt) ->
           ]
 
 
+    cssUrlRewrite:
+      build:
+        src: '<%= pkg.assets %>css/sonar.css'
+        dest: '<%= pkg.assets %>css/sonar.css'
+        options:
+          skipExternal: true
+          rewriteUrl: (url, options, dataURI) ->
+            path = url.replace options.baseDir, ''
+            hash = require('crypto').createHash('md5').update(dataURI).digest('hex')
+            "#{path}?#{hash}"
+
+
     coffee:
       build:
         files: [
@@ -251,6 +263,7 @@ module.exports = (grunt) ->
 
   # Load grunt-contrib-* plugins
   grunt.loadNpmTasks 'grunt-contrib-less'
+  grunt.loadNpmTasks 'grunt-css-url-rewrite'
   grunt.loadNpmTasks 'grunt-contrib-coffee'
   grunt.loadNpmTasks 'grunt-contrib-uglify'
   grunt.loadNpmTasks 'grunt-contrib-requirejs'
@@ -269,7 +282,7 @@ module.exports = (grunt) ->
 
 
   grunt.registerTask 'default', ['clean:css', 'clean:js',
-                                 'less:build',
+                                 'less:build', 'cssUrlRewrite:build'
                                  'coffee:build', 'handlebars:build', 'copy:js',
                                  'concat:build',
                                  'requirejs', 'clean:js', 'copy:build', 'copy:requirejs', 'clean:build']
index 19f76c204c47503a1e51de3e5dfd849f2f0745fa..8357107a9de8d21dfb2035f5e84865c381c5693e 100644 (file)
@@ -18,7 +18,8 @@
     "grunt-karma": "0.6.2",
     "grunt-contrib-clean": "0.5.0",
     "grunt-contrib-copy": "0.5.0",
-    "grunt-contrib-concat": "0.4.0"
+    "grunt-contrib-concat": "0.4.0",
+    "grunt-css-url-rewrite": "0.3.5"
   },
   "engines": {
     "node": "~0.8 || ~0.10"
index aae6c48ffea4ced3ebfb07431ea272c863a94839..fcc4a453d54deb040f58e0abce2a39658fedb744 100755 (executable)
@@ -155,7 +155,7 @@ Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
 }
 
 .select2-container .select2-choice div b {
-  background: url('select2.png') no-repeat 0 1px;
+  background: url('../images/select2.png') no-repeat 0 1px;
   display: block;
   width: 100%;
   height: 100%;
@@ -179,7 +179,7 @@ Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
 }
 
 .select2-search input {
-  background: #fff url('select2.png') no-repeat 100% -22px;
+  background: #fff url('../images/select2.png') no-repeat 100% -22px;
   background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
   background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
   background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
@@ -208,13 +208,13 @@ Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
 }
 
 .select2-search input.select2-active {
-  background: #fff url('spinner.gif') no-repeat 100%;
-  background: url('spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
-  background: url('spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
-  background: url('spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
-  background: url('spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
-  background: url('spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
-  background: url('spinner.gif') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
+  background: #fff url('../images/spinner.gif') no-repeat 100%;
+  background: url('../images/spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
+  background: url('../images/spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
+  background: url('../images/spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
+  background: url('../images/spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
+  background: url('../images/spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
+  background: url('../images/spinner.gif') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
 }
 
 .select2-container-active .select2-choice,
@@ -342,7 +342,7 @@ disabled look for already selected choices in the results dropdown
 }
 
 .select2-more-results.select2-active {
-  background: #f4f4f4 url('spinner.gif') no-repeat 100%;
+  background: #f4f4f4 url('../images/spinner.gif') no-repeat 100%;
 }
 
 .select2-more-results {
@@ -426,7 +426,7 @@ disabled look for already selected choices in the results dropdown
 }
 
 .select2-container-multi .select2-choices .select2-search-field input.select2-active {
-  background: #fff url('spinner.gif') no-repeat 100% !important;
+  background: #fff url('../images/spinner.gif') no-repeat 100% !important;
 }
 
 .select2-default {
@@ -476,7 +476,7 @@ disabled look for already selected choices in the results dropdown
   width: 12px;
   height: 13px;
   font-size: 1px;
-  background: url('select2.png') right top no-repeat;
+  background: url('../images/select2.png') right top no-repeat;
   outline: none;
 }
 
@@ -525,7 +525,7 @@ disabled look for already selected choices in the results dropdown
 
 @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
   .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b {
-    background-image: url(select2x2.png) !important;
+    background-image: url(../images/select2x2.png) !important;
     background-repeat: no-repeat !important;
     background-size: 60px 40px !important;
   }