From 2021799fca8989bd449d9dba840b61c545bffc70 Mon Sep 17 00:00:00 2001 From: "David H. R. Clymer" Date: Thu, 24 Sep 2020 14:38:49 -0400 Subject: [PATCH 1/8] Remove duplicate variable declaration --- src/com/yahoo/platform/yui/compressor/CssCompressor.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/com/yahoo/platform/yui/compressor/CssCompressor.java b/src/com/yahoo/platform/yui/compressor/CssCompressor.java index 953bbd27..378197b2 100644 --- a/src/com/yahoo/platform/yui/compressor/CssCompressor.java +++ b/src/com/yahoo/platform/yui/compressor/CssCompressor.java @@ -338,7 +338,6 @@ public void compress(Writer out, int linebreakpos) } while (!(css.equals(oldCss))); // We do the same with % but don't replace the 0% in keyframes - String oldCss; p = Pattern.compile("(?i)(: ?)((?:[0-9a-z-.]+ )*?)?(?:0?\\.)?0(?:%)"); do { oldCss = css; From e0f732e94bd609f82d06acf3834e8527d2471af4 Mon Sep 17 00:00:00 2001 From: "David H. R. Clymer" Date: Thu, 24 Sep 2020 14:57:16 -0400 Subject: [PATCH 2/8] Fix unescaped brace in regex pattern --- src/com/yahoo/platform/yui/compressor/CssCompressor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/yahoo/platform/yui/compressor/CssCompressor.java b/src/com/yahoo/platform/yui/compressor/CssCompressor.java index 378197b2..39345106 100644 --- a/src/com/yahoo/platform/yui/compressor/CssCompressor.java +++ b/src/com/yahoo/platform/yui/compressor/CssCompressor.java @@ -346,7 +346,7 @@ public void compress(Writer out, int linebreakpos) } while (!(css.equals(oldCss))); //Replace the keyframe 100% step with 'to' which is shorter - p = Pattern.compile("(?i)(^|,|{) ?(?:100% ?{)"); + p = Pattern.compile("(?i)(^|,|\\{) ?(?:100% ?\\{)"); do { oldCss = css; m = p.matcher(css); From 306a7c83771ea37b4d33fda5c4396ff11773a951 Mon Sep 17 00:00:00 2001 From: "David H. R. Clymer" Date: Thu, 24 Sep 2020 15:14:24 -0400 Subject: [PATCH 3/8] Fix broken handling of hsl color values --- src/com/yahoo/platform/yui/compressor/CssCompressor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/yahoo/platform/yui/compressor/CssCompressor.java b/src/com/yahoo/platform/yui/compressor/CssCompressor.java index 39345106..6d671e63 100644 --- a/src/com/yahoo/platform/yui/compressor/CssCompressor.java +++ b/src/com/yahoo/platform/yui/compressor/CssCompressor.java @@ -354,7 +354,8 @@ public void compress(Writer out, int linebreakpos) } while (!(css.equals(oldCss))); // Replace 0(px,em,%) with 0 inside groups (e.g. -MOZ-RADIAL-GRADIENT(CENTER 45DEG, CIRCLE CLOSEST-SIDE, ORANGE 0%, RED 100%)) - p = Pattern.compile("(?i)\\( ?((?:[0-9a-z-.]+[ ,])*)?(?:0?\\.)?0(?:px|em|%|in|cm|mm|pc|pt|ex|deg|g?rad|m?s|k?hz)"); + // Avoid replacement within hsla(), where percents are required for `s` and `l` arguments. + p = Pattern.compile("(?i)(? Date: Thu, 24 Sep 2020 15:25:01 -0400 Subject: [PATCH 4/8] Fix invalid CSS in test --- tests/rgb-issue81.css.FAIL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/rgb-issue81.css.FAIL b/tests/rgb-issue81.css.FAIL index feda1bfe..c81823fd 100644 --- a/tests/rgb-issue81.css.FAIL +++ b/tests/rgb-issue81.css.FAIL @@ -1,4 +1,4 @@ .color_chip { - color: color: rgb(0%, 50%, 50%); + color: rgb(0%, 50%, 50%); background: rgba(195, 198, 214, 0.85); } From f1fd98816b65a580e3d54c933d47dcb1135a448a Mon Sep 17 00:00:00 2001 From: "David H. R. Clymer" Date: Thu, 24 Sep 2020 15:25:53 -0400 Subject: [PATCH 5/8] Fix expected compression output --- tests/rgb-issue81.css.min | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/rgb-issue81.css.min b/tests/rgb-issue81.css.min index 61e32492..fb3a20a9 100644 --- a/tests/rgb-issue81.css.min +++ b/tests/rgb-issue81.css.min @@ -1 +1 @@ -.color_chip{color: rgb(0%, 50%, 50%);background:rgba(195,198,214,0.85)} +.color_chip{color:rgb(0%,50%,50%);background:rgba(195,198,214,0.85)} From a7c53cab2e2315c56764cbcb438bab9be0434998 Mon Sep 17 00:00:00 2001 From: "David H. R. Clymer" Date: Thu, 24 Sep 2020 15:26:56 -0400 Subject: [PATCH 6/8] Initial target should be unbroken output While this is not the most optimized output, it is correct output. This should be the minimum target, and is the problem described in the related issue #81. --- tests/hsla-issue81.css.min | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/hsla-issue81.css.min b/tests/hsla-issue81.css.min index 3c91fff7..7953c244 100644 --- a/tests/hsla-issue81.css.min +++ b/tests/hsla-issue81.css.min @@ -1 +1 @@ -.color_chip{color:hsl(27,0%,50%);background:rgba(195,198,214,0.85)} +.color_chip{color:hsla(27,0%,50%,1);background:rgba(195,198,214,0.85)} From d113dddf4e306e7e9f7837d81af78136efe12498 Mon Sep 17 00:00:00 2001 From: "David H. R. Clymer" Date: Thu, 24 Sep 2020 15:29:35 -0400 Subject: [PATCH 7/8] Prevent strip of percent signs in colors specified with rgb() --- src/com/yahoo/platform/yui/compressor/CssCompressor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/yahoo/platform/yui/compressor/CssCompressor.java b/src/com/yahoo/platform/yui/compressor/CssCompressor.java index 6d671e63..f7761e69 100644 --- a/src/com/yahoo/platform/yui/compressor/CssCompressor.java +++ b/src/com/yahoo/platform/yui/compressor/CssCompressor.java @@ -355,7 +355,7 @@ public void compress(Writer out, int linebreakpos) // Replace 0(px,em,%) with 0 inside groups (e.g. -MOZ-RADIAL-GRADIENT(CENTER 45DEG, CIRCLE CLOSEST-SIDE, ORANGE 0%, RED 100%)) // Avoid replacement within hsla(), where percents are required for `s` and `l` arguments. - p = Pattern.compile("(?i)(? Date: Thu, 24 Sep 2020 15:49:28 -0400 Subject: [PATCH 8/8] Set source and target java versions to the minimum supported by TravisCI --- build.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.xml b/build.xml index a2663b36..f0a5d647 100644 --- a/build.xml +++ b/build.xml @@ -33,8 +33,8 @@ deprecation="off" debug="on" includeantruntime="false" - target="1.5" - source="1.5"> + target="9" + source="9">