compass 0.11.3 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION.yml +1 -1
- data/features/command_line.feature +9 -0
- data/features/step_definitions/command_line_steps.rb +7 -0
- data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +2 -2
- data/frameworks/blueprint/stylesheets/blueprint/_form.scss +1 -1
- data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +4 -1
- data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +1 -1
- data/frameworks/compass/stylesheets/compass/css3/_images.scss +1 -4
- data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +1 -4
- data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +2 -0
- data/frameworks/compass/stylesheets/compass/css3/_transition.scss +35 -1
- data/frameworks/compass/stylesheets/compass/typography/_text.scss +1 -0
- data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +74 -14
- data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
- data/lib/compass.rb +1 -1
- data/lib/compass/commands/base.rb +9 -1
- data/lib/compass/commands/project_base.rb +2 -2
- data/lib/compass/commands/update_project.rb +2 -1
- data/lib/compass/compiler.rb +5 -2
- data/lib/compass/configuration.rb +2 -1
- data/lib/compass/configuration/adapters.rb +2 -2
- data/lib/compass/configuration/defaults.rb +4 -0
- data/lib/compass/exec/sub_command_ui.rb +4 -3
- data/lib/compass/sass_extensions/functions/inline_image.rb +2 -0
- data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +3 -2
- data/test/fixtures/stylesheets/blueprint/css/screen.css +5 -5
- data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +4 -4
- data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +1 -1
- data/test/fixtures/stylesheets/compass/css/force-wrap.css +9 -0
- data/test/fixtures/stylesheets/compass/css/gradients.css +0 -3
- data/test/fixtures/stylesheets/compass/css/opacity.css +0 -1
- data/test/fixtures/stylesheets/compass/sass/force-wrap.scss +3 -0
- data/test/fixtures/stylesheets/compass/tmp/border_radius.css +23 -0
- data/test/fixtures/stylesheets/compass/tmp/box.css +103 -0
- data/test/fixtures/stylesheets/compass/tmp/box_shadow.css +17 -0
- data/test/fixtures/stylesheets/compass/tmp/columns.css +47 -0
- data/test/fixtures/stylesheets/compass/tmp/fonts.css +4 -0
- data/test/fixtures/stylesheets/compass/tmp/force-wrap.css +9 -0
- data/test/fixtures/stylesheets/compass/tmp/gradients.css +576 -0
- data/test/fixtures/stylesheets/compass/tmp/grid_background.css +78 -0
- data/test/fixtures/stylesheets/compass/tmp/image_size.css +15 -0
- data/test/fixtures/stylesheets/compass/tmp/images.css +8 -0
- data/test/fixtures/stylesheets/compass/tmp/layout.css +16 -0
- data/test/fixtures/stylesheets/compass/tmp/legacy_clearfix.css +26 -0
- data/test/fixtures/stylesheets/compass/tmp/lists.css +153 -0
- data/test/fixtures/stylesheets/compass/tmp/opacity.css +3 -0
- data/test/fixtures/stylesheets/compass/tmp/pie.css +28 -0
- data/test/fixtures/stylesheets/compass/tmp/print.css +11 -0
- data/test/fixtures/stylesheets/compass/tmp/reset.css +60 -0
- data/test/fixtures/stylesheets/compass/tmp/sprites.css +1262 -0
- data/test/fixtures/stylesheets/compass/tmp/stretching.css +66 -0
- data/test/fixtures/stylesheets/compass/tmp/text_shadow.css +14 -0
- data/test/fixtures/stylesheets/compass/tmp/transform.css +333 -0
- data/test/fixtures/stylesheets/compass/tmp/utilities.css +36 -0
- data/test/fixtures/stylesheets/compass/tmp/vertical_rhythm.css +42 -0
- metadata +78 -3
data/VERSION.yml
CHANGED
@@ -63,6 +63,15 @@ Feature: Command Line
|
|
63
63
|
And I am told that I can place stylesheets in the sass subdirectory
|
64
64
|
And I am told how to compile my sass stylesheets
|
65
65
|
|
66
|
+
Scenario: Compiling a project with errors
|
67
|
+
Given I am using the existing project in test/fixtures/stylesheets/compass
|
68
|
+
And the project has a file named "sass/error.scss" containing:
|
69
|
+
"""
|
70
|
+
.broken {
|
71
|
+
"""
|
72
|
+
When I run: compass compile
|
73
|
+
Then the command exits with a non-zero error code
|
74
|
+
|
66
75
|
Scenario: Creating a bare project with a framework
|
67
76
|
When I create a project using: compass create bare_project --using blueprint --bare
|
68
77
|
Then an error message is printed out: A bare project cannot be created when a framework is specified.
|
@@ -53,6 +53,13 @@ Given /^I should clean up the directory: (\w+)$/ do |directory|
|
|
53
53
|
@cleanup_directories << directory
|
54
54
|
end
|
55
55
|
|
56
|
+
Given %r{^the project has a file named "([^"]*)" containing:$} do |arg1, string|
|
57
|
+
File.open(arg1, "w") do |f|
|
58
|
+
f << string
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
|
56
63
|
# When Actions are performed
|
57
64
|
When /^I create a project using: compass create ([^\s]+) ?(.+)?$/ do |dir, args|
|
58
65
|
@cleanup_directories << dir
|
@@ -1,5 +1,5 @@
|
|
1
1
|
@import "compass/layout/grid-background";
|
2
|
-
@import "
|
2
|
+
@import "grid", "typography";
|
3
3
|
|
4
4
|
// Shows a background that can be used to check grid alignment.
|
5
5
|
// By default this is a pure css version that only works in browsers
|
@@ -14,7 +14,7 @@
|
|
14
14
|
$total : $blueprint-grid-columns,
|
15
15
|
$column : $blueprint-grid-width,
|
16
16
|
$gutter : $blueprint-grid-margin,
|
17
|
-
$baseline :
|
17
|
+
$baseline : $blueprint-font-size * 1.5
|
18
18
|
);
|
19
19
|
}
|
20
20
|
}
|
@@ -24,7 +24,10 @@ $default-box-shadow-spread : false !default;
|
|
24
24
|
// The default shadow inset: inset or false (for standard shadow).
|
25
25
|
$default-box-shadow-inset : false !default;
|
26
26
|
|
27
|
-
// Provides cross-browser for Webkit, Gecko, and CSS3 box shadows when one or more box
|
27
|
+
// Provides cross-browser for Webkit, Gecko, and CSS3 box shadows when one or more box
|
28
|
+
// shadows are needed.
|
29
|
+
// Each shadow argument should adhere to the standard css3 syntax for the
|
30
|
+
// box-shadow property.
|
28
31
|
@mixin box-shadow(
|
29
32
|
$shadow-1 : default,
|
30
33
|
$shadow-2 : false,
|
@@ -15,7 +15,7 @@
|
|
15
15
|
//
|
16
16
|
// Example:
|
17
17
|
//
|
18
|
-
//
|
18
|
+
// @include font-face("this name", font-files("this.woff", woff, "this.otf", opentype), "this.eot")
|
19
19
|
@mixin font-face(
|
20
20
|
$name,
|
21
21
|
$font-files,
|
@@ -83,10 +83,7 @@
|
|
83
83
|
@mixin filter-gradient($start-color, $end-color, $orientation: vertical) {
|
84
84
|
@include has-layout;
|
85
85
|
$gradient-type: if($orientation == vertical, 0, 1);
|
86
|
-
@if $legacy-support-for-ie8 {
|
87
|
-
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(gradientType=#{$gradient-type}, startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}')";
|
88
|
-
}
|
89
|
-
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
86
|
+
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8 {
|
90
87
|
filter: progid:DXImageTransform.Microsoft.gradient(gradientType=#{$gradient-type}, startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}');
|
91
88
|
}
|
92
89
|
}
|
@@ -6,10 +6,7 @@
|
|
6
6
|
// A number between 0 and 1, where 0 is transparent and 1 is opaque.
|
7
7
|
|
8
8
|
@mixin opacity($opacity) {
|
9
|
-
@if $legacy-support-for-ie8 {
|
10
|
-
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})";
|
11
|
-
}
|
12
|
-
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
9
|
+
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8 {
|
13
10
|
filter: unquote("progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})");
|
14
11
|
}
|
15
12
|
opacity: $opacity;
|
@@ -9,6 +9,8 @@ $default-text-shadow-v-offset: 0px !default;
|
|
9
9
|
$default-text-shadow-blur: 1px !default;
|
10
10
|
|
11
11
|
// Provides cross-browser text shadows when one or more shadows are needed.
|
12
|
+
// Each shadow argument should adhere to the standard css3 syntax for the
|
13
|
+
// text-shadow property.
|
12
14
|
@mixin text-shadow(
|
13
15
|
$shadow-1 : default,
|
14
16
|
$shadow-2 : false,
|
@@ -72,7 +72,7 @@ $default-transition-delay: false !default;
|
|
72
72
|
|
73
73
|
// Transition all-in-one shorthand
|
74
74
|
|
75
|
-
@mixin transition(
|
75
|
+
@mixin single-transition(
|
76
76
|
$properties: $default-transition-property,
|
77
77
|
$duration: $default-transition-duration,
|
78
78
|
$function: $default-transition-function,
|
@@ -83,3 +83,37 @@ $default-transition-delay: false !default;
|
|
83
83
|
@if $function { @include transition-timing-function($function); }
|
84
84
|
@if $delay { @include transition-delay($delay); }
|
85
85
|
}
|
86
|
+
|
87
|
+
@mixin transition(
|
88
|
+
$transition-1 : default,
|
89
|
+
$transition-2 : false,
|
90
|
+
$transition-3 : false,
|
91
|
+
$transition-4 : false,
|
92
|
+
$transition-5 : false,
|
93
|
+
$transition-6 : false,
|
94
|
+
$transition-7 : false,
|
95
|
+
$transition-8 : false,
|
96
|
+
$transition-9 : false,
|
97
|
+
$transition-10: false
|
98
|
+
) {
|
99
|
+
$legacy: (type-of($transition-1) == string and type-of(if($transition-2, $transition-2, 0)) == number and type-of(if($transition-3, $transition-3, '')) == string and type-of(if($transition-4, $transition-4, 0)) == number and ($transition-2 or $transition-3 or $transition-4));
|
100
|
+
@if $legacy {
|
101
|
+
@warn "Passing separate arguments for a single transition to transition is deprecated. " +
|
102
|
+
"Pass the values as a single space-separated list, or use the single-transition mixin.";
|
103
|
+
@include single-transition(
|
104
|
+
if($transition-1, $transition-1, $default-transition-property),
|
105
|
+
if($transition-2, $transition-2, $default-transition-duration),
|
106
|
+
if($transition-3, $transition-3, $default-transition-funciton),
|
107
|
+
if($transition-4, $transition-4, $default-transition-delay)
|
108
|
+
);
|
109
|
+
}
|
110
|
+
@else {
|
111
|
+
@if $transition-1 == default {
|
112
|
+
$transition-1 : -compass-space-list(compact($default-transition-property, $default-transition-duration, $default-transition-function, $default-transition-delay));
|
113
|
+
}
|
114
|
+
$transition : compact($transition-1, $transition-2, $transition-3, $transition-4, $transition-5, $transition-6, $transition-7, $transition-8, $transition-9, $transition-10);
|
115
|
+
@include experimental(transition, $transition,
|
116
|
+
-moz, -webkit, -o, not -ms, not -khtml, official
|
117
|
+
);
|
118
|
+
}
|
119
|
+
}
|
@@ -10,22 +10,47 @@ $default-rhythm-border-style: solid !default;
|
|
10
10
|
// The IE font ratio is a fact of life. Deal with it.
|
11
11
|
$ie-font-ratio: 16px / 100%;
|
12
12
|
|
13
|
+
// Set to false if you want to use absolute pixes in sizing your typography.
|
14
|
+
$relative-font-sizing: true !default;
|
15
|
+
|
16
|
+
// Ensure there is at least this many pixels
|
17
|
+
// of vertical padding above and below the text.
|
18
|
+
$min-line-padding: 2px;
|
19
|
+
|
20
|
+
// $base-font-size but in your output unit of choice.
|
21
|
+
// Defaults to 1em when `$relative-font-sizing`
|
22
|
+
$font-unit: if($relative-font-sizing, 1em, $base-font-size) !default;
|
23
|
+
|
13
24
|
// The basic unit of font rhythm
|
14
|
-
$base-rhythm-unit: $base-line-height / $base-font-size *
|
25
|
+
$base-rhythm-unit: $base-line-height / $base-font-size * $font-unit;
|
15
26
|
|
16
27
|
// The leader is the amount of whitespace in a line.
|
17
28
|
// It might be useful in your calculations
|
18
|
-
$base-leader: ($base-line-height - $base-font-size) *
|
29
|
+
$base-leader: ($base-line-height - $base-font-size) * $font-unit / $base-font-size;
|
19
30
|
|
20
31
|
// The half-leader is the amount of whitespace above and below a line.
|
21
32
|
// It might be useful in your calculations
|
22
33
|
$base-half-leader: $base-leader / 2;
|
23
34
|
|
35
|
+
// True if a number has a relative unit
|
36
|
+
@function relative-unit($number) {
|
37
|
+
@return unit($number) == "%" or unit($number) == "em" or unit($number) == "rem"
|
38
|
+
}
|
39
|
+
|
40
|
+
// True if a number has an absolute unit
|
41
|
+
@function absolute-unit($number) {
|
42
|
+
@return not (relative-unit($number) or unitless($number));
|
43
|
+
}
|
44
|
+
|
45
|
+
@if $relative-font-sizing and not relative-unit($font-unit) {
|
46
|
+
@warn "$relative-font-sizing is true but $font-unit is set to #{$font-unit} which is not a relative unit.";
|
47
|
+
}
|
48
|
+
|
24
49
|
// Establishes a font baseline for the given font-size in pixels
|
25
50
|
@mixin establish-baseline($font-size: $base-font-size) {
|
26
51
|
body {
|
27
52
|
font-size: $font-size / $ie-font-ratio;
|
28
|
-
@include adjust-leading-to(1, $font-size);
|
53
|
+
@include adjust-leading-to(1, if($relative-font-sizing, $font-size, $base-font-size));
|
29
54
|
}
|
30
55
|
html>body {
|
31
56
|
font-size: $font-size;
|
@@ -42,13 +67,19 @@ $base-half-leader: $base-leader / 2;
|
|
42
67
|
// font size should use up. Does not have to be an integer, but it defaults
|
43
68
|
// to the smallest integer that is large enough to fit the font.
|
44
69
|
// Use $from_size to adjust from a non-base font-size.
|
45
|
-
@mixin adjust-font-size-to($to-size, $lines:
|
46
|
-
font-
|
47
|
-
|
70
|
+
@mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) {
|
71
|
+
@if $relative-font-sizing and $from-size != $base-font-size {
|
72
|
+
@warn "$relative-font-sizing is false but a relative font size was passed to adjust-font-size-to";
|
73
|
+
}
|
74
|
+
font-size: $font-unit * $to-size / $from-size;
|
75
|
+
@include adjust-leading-to($lines, if($relative-font-sizing, $to-size, $base-font-size));
|
48
76
|
}
|
49
77
|
|
50
78
|
@mixin adjust-leading-to($lines, $font-size: $base-font-size) {
|
51
|
-
|
79
|
+
@if $relative-font-sizing and $font-size != $base-font-size {
|
80
|
+
@warn "$relative-font-sizing is false but a relative font size was passed to adjust-leading-to";
|
81
|
+
}
|
82
|
+
line-height: $font-unit * $lines * $base-line-height / $font-size;
|
52
83
|
}
|
53
84
|
|
54
85
|
// Calculate rhythm units
|
@@ -56,32 +87,55 @@ $base-half-leader: $base-leader / 2;
|
|
56
87
|
$lines: 1,
|
57
88
|
$font-size: $base-font-size
|
58
89
|
) {
|
59
|
-
$
|
90
|
+
@if $relative-font-sizing and $font-size != $base-font-size {
|
91
|
+
@warn "$relative-font-sizing is false but a relative font size was passed to the rhythm function";
|
92
|
+
}
|
93
|
+
$rhythm: $font-unit * $lines * $base-line-height / $font-size;
|
60
94
|
@return $rhythm;
|
61
95
|
}
|
62
96
|
|
97
|
+
@function lines-for-font-size($font-size) {
|
98
|
+
$lines: ceil($font-size / $base-line-height);
|
99
|
+
@if $lines * $base-line-height - $font-size < $min-line-padding * 2 {
|
100
|
+
$lines: $lines + 1;
|
101
|
+
}
|
102
|
+
@return $lines;
|
103
|
+
}
|
104
|
+
|
63
105
|
// Apply leading whitespace
|
64
106
|
@mixin leader($lines: 1, $font-size: $base-font-size, $property: margin) {
|
65
|
-
|
107
|
+
$leader: rhythm($lines, $font-size);
|
108
|
+
@if unit($leader) == px {
|
109
|
+
$leader: floor($leader)
|
110
|
+
}
|
111
|
+
#{$property}-top: $leader;
|
66
112
|
}
|
67
113
|
|
114
|
+
// Apply leading whitespace as padding
|
68
115
|
@mixin padding-leader($lines: 1, $font-size: $base-font-size) {
|
69
116
|
@include leader($lines, $font-size, padding);
|
70
117
|
}
|
71
118
|
|
119
|
+
// Apply leading whitespace as margin
|
72
120
|
@mixin margin-leader($lines: 1, $font-size: $base-font-size) {
|
73
121
|
@include leader($lines, $font-size, margin);
|
74
122
|
}
|
75
123
|
|
76
124
|
// Apply trailing whitespace
|
77
125
|
@mixin trailer($lines: 1, $font-size: $base-font-size, $property: margin) {
|
78
|
-
|
126
|
+
$leader: rhythm($lines, $font-size);
|
127
|
+
@if unit($leader) == px {
|
128
|
+
$leader: ceil($leader)
|
129
|
+
}
|
130
|
+
#{$property}-bottom: $leader;
|
79
131
|
}
|
80
132
|
|
133
|
+
// Apply trailing whitespace as padding
|
81
134
|
@mixin padding-trailer($lines: 1, $font-size: $base-font-size) {
|
82
135
|
@include trailer($lines, $font-size, padding);
|
83
136
|
}
|
84
137
|
|
138
|
+
// Apply trailing whitespace as margin
|
85
139
|
@mixin margin-trailer($lines: 1, $font-size: $base-font-size) {
|
86
140
|
@include trailer($lines, $font-size, margin);
|
87
141
|
}
|
@@ -97,19 +151,25 @@ $base-half-leader: $base-leader / 2;
|
|
97
151
|
|
98
152
|
// Apply a border width to any side without destroying the vertical rhythm
|
99
153
|
@mixin apply-side-rhythm-border($side, $width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
154
|
+
@if $relative-font-sizing and $font-size != $base-font-size {
|
155
|
+
@warn "$relative-font-sizing is false but a relative font size was passed to apply-side-rhythm-border";
|
156
|
+
}
|
100
157
|
border-#{$side}: {
|
101
158
|
style: $border-style;
|
102
|
-
width:
|
159
|
+
width: $font-unit * $width / $font-size;
|
103
160
|
};
|
104
|
-
padding-#{$side}:
|
161
|
+
padding-#{$side}: $font-unit / $font-size * ($lines * $base-line-height - $width);
|
105
162
|
}
|
106
163
|
|
107
164
|
// Aplly rhythm borders equally to all sides
|
108
165
|
@mixin rhythm-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
|
166
|
+
@if $relative-font-sizing and $font-size != $base-font-size {
|
167
|
+
@warn "$relative-font-sizing is false but a relative font size was passed to rhythm-borders";
|
168
|
+
}
|
109
169
|
border: {
|
110
170
|
style: $border-style;
|
111
|
-
width:
|
112
|
-
padding:
|
171
|
+
width: $font-unit * $width / $font-size; };
|
172
|
+
padding: $font-unit / $font-size * ($lines * $base-line-height - $width);
|
113
173
|
}
|
114
174
|
|
115
175
|
// Apply a leading rhythm border
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// Prevent long urls and text from breaking layouts
|
2
|
+
// [originally from perishablepress.com](http://perishablepress.com/press/2010/06/01/wrapping-content/)
|
3
|
+
@mixin force-wrap {
|
4
|
+
white-space: pre; // CSS 2.0
|
5
|
+
white-space: pre-wrap; // CSS 2.1
|
6
|
+
white-space: pre-line; // CSS 3.0
|
7
|
+
white-space: -pre-wrap; // Opera 4-6
|
8
|
+
white-space: -o-pre-wrap; // Opera 7
|
9
|
+
white-space: -moz-pre-wrap; // Mozilla
|
10
|
+
white-space: -hp-pre-wrap; // HP Printers
|
11
|
+
word-wrap: break-word; // IE 5+
|
12
|
+
}
|
data/lib/compass.rb
CHANGED
@@ -10,7 +10,7 @@ module Compass
|
|
10
10
|
attr_accessor :working_path, :options
|
11
11
|
|
12
12
|
def initialize(working_path, options)
|
13
|
-
self.working_path = working_path
|
13
|
+
self.working_path = working_path.to_s
|
14
14
|
self.options = options
|
15
15
|
end
|
16
16
|
|
@@ -22,6 +22,14 @@ module Compass
|
|
22
22
|
raise StandardError.new("Not Implemented")
|
23
23
|
end
|
24
24
|
|
25
|
+
def successful?
|
26
|
+
!@failed
|
27
|
+
end
|
28
|
+
|
29
|
+
def failed!
|
30
|
+
@failed = true
|
31
|
+
end
|
32
|
+
|
25
33
|
protected
|
26
34
|
|
27
35
|
def framework
|
@@ -84,8 +84,8 @@ module Compass
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def absolute_path?(path)
|
87
|
-
#
|
88
|
-
path.index(File::SEPARATOR) == 0
|
87
|
+
# Pretty basic implementation
|
88
|
+
path.index(File::SEPARATOR) == 0 || path.index(':') == 1
|
89
89
|
end
|
90
90
|
|
91
91
|
def skip_extension_discovery?
|
data/lib/compass/compiler.rb
CHANGED
@@ -6,7 +6,7 @@ module Compass
|
|
6
6
|
attr_accessor :working_path, :from, :to, :options, :sass_options, :staleness_checker, :importer
|
7
7
|
|
8
8
|
def initialize(working_path, from, to, options)
|
9
|
-
self.working_path = working_path
|
9
|
+
self.working_path = working_path.to_s
|
10
10
|
self.from, self.to = from.gsub('./', ''), to
|
11
11
|
self.logger = options.delete(:logger)
|
12
12
|
sass_opts = options.delete(:sass) || {}
|
@@ -82,9 +82,10 @@ module Compass
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def run
|
85
|
+
failure_count = 0
|
85
86
|
if new_config?
|
86
87
|
# Wipe out the cache and force compilation if the configuration has changed.
|
87
|
-
remove options[:cache_location]
|
88
|
+
remove options[:cache_location] if options[:cache_location]
|
88
89
|
options[:force] = true
|
89
90
|
end
|
90
91
|
|
@@ -97,6 +98,7 @@ module Compass
|
|
97
98
|
begin
|
98
99
|
compile_if_required sass_filename, css_filename
|
99
100
|
rescue Sass::SyntaxError => e
|
101
|
+
failure_count += 1
|
100
102
|
handle_exception(sass_filename, css_filename, e)
|
101
103
|
end
|
102
104
|
end
|
@@ -104,6 +106,7 @@ module Compass
|
|
104
106
|
if options[:time]
|
105
107
|
puts "Compilation took #{(result.__duration * 1000).round / 1000.0}s"
|
106
108
|
end
|
109
|
+
return failure_count
|
107
110
|
end
|
108
111
|
|
109
112
|
def compile_if_required(sass_filename, css_filename)
|