From df952185b5ff7d92248c0a15cfcdf57de93522df Mon Sep 17 00:00:00 2001 From: Sebastian Badea Date: Thu, 22 Aug 2019 15:51:16 +0200 Subject: [PATCH 1/3] Added css minifier charset optional parameter --- README.md | 2 ++ plugin.gradle | 1 + src/main/groovy/com/eriwen/gradle/css/CssMinifier.groovy | 8 ++++---- .../com/eriwen/gradle/css/YuiCompressorExtension.groovy | 1 + .../groovy/com/eriwen/gradle/css/tasks/CssTask.groovy | 3 ++- .../com/eriwen/gradle/css/tasks/MinifyCssTask.groovy | 2 +- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index cadddcb..77e6594 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ minifyCss { dest = "${buildDir}/all-min.css" yuicompressor { // Optional lineBreakPos = -1 + charset = 'UTF-8' } } @@ -89,6 +90,7 @@ csslint { - source = File to minify - dest = File for minified output - *(Optional)* yuicompressor.lineBreakPos = -1 (default) Insert a line break after the specified column number +- *(Optional)* yuicompressor.charset = 'UTF-8' (default) Read the input file using specified charset (e.g. 'UTF-8', 'ISO-8859-1', etc.) ### gzipCss - source = File to compress diff --git a/plugin.gradle b/plugin.gradle index f85c304..0ee251d 100644 --- a/plugin.gradle +++ b/plugin.gradle @@ -45,6 +45,7 @@ task minify(type: com.eriwen.gradle.css.tasks.MinifyCssTask) { dest = file("${buildDir}/all-min.css") yuicompressor { lineBreakPos = 100 + charset = 'UTF-8' } } diff --git a/src/main/groovy/com/eriwen/gradle/css/CssMinifier.groovy b/src/main/groovy/com/eriwen/gradle/css/CssMinifier.groovy index cb82426..a354fa7 100644 --- a/src/main/groovy/com/eriwen/gradle/css/CssMinifier.groovy +++ b/src/main/groovy/com/eriwen/gradle/css/CssMinifier.groovy @@ -8,18 +8,18 @@ import com.yahoo.platform.yui.compressor.CssCompressor * @author Eric Wendelin */ class CssMinifier { - private static final String CHARSET = 'UTF-8' + public static final String UTF8_CHARSET = 'UTF-8' /** * Given input and output files, minify input file and output to given output file * @param inputFile File to be minified * @param outputFile File for minified output */ - void minifyCssFile(final File inputFile, final File outputFile, final Integer lineBreakPos) { + void minifyCssFile(final File inputFile, final File outputFile, final Integer lineBreakPos, final String charset) { Reader reader CssCompressor compressor try { - reader = new InputStreamReader(new FileInputStream(inputFile), CHARSET) + reader = new InputStreamReader(new FileInputStream(inputFile), charset) compressor = new CssCompressor(reader) } finally { // Close the input stream first, and then open the output stream, @@ -31,7 +31,7 @@ class CssMinifier { Writer writer try { - writer = new OutputStreamWriter(new FileOutputStream(outputFile), CHARSET) + writer = new OutputStreamWriter(new FileOutputStream(outputFile), charset) compressor.compress(writer, lineBreakPos) } finally { if (writer != null) { diff --git a/src/main/groovy/com/eriwen/gradle/css/YuiCompressorExtension.groovy b/src/main/groovy/com/eriwen/gradle/css/YuiCompressorExtension.groovy index 023119e..bb3a28b 100644 --- a/src/main/groovy/com/eriwen/gradle/css/YuiCompressorExtension.groovy +++ b/src/main/groovy/com/eriwen/gradle/css/YuiCompressorExtension.groovy @@ -20,4 +20,5 @@ import org.gradle.api.tasks.Input class YuiCompressorExtension { public static final NAME = "yuicompressor" @Input Integer lineBreakPos = -1 + @Input String charset = CssMinifier.UTF8_CHARSET } diff --git a/src/main/groovy/com/eriwen/gradle/css/tasks/CssTask.groovy b/src/main/groovy/com/eriwen/gradle/css/tasks/CssTask.groovy index d08b350..5c3fba2 100644 --- a/src/main/groovy/com/eriwen/gradle/css/tasks/CssTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/css/tasks/CssTask.groovy @@ -25,6 +25,7 @@ class CssTask extends DefaultTask { private static final CssMinifier MINIFIER = new CssMinifier() Integer lineBreakPos = -1 + String charset = CssMinifier.CHARSET @TaskAction def run() { @@ -62,7 +63,7 @@ class CssTask extends DefaultTask { } } - MINIFIER.minifyCssFile(new File(tempPath), outputFiles[0] as File, lineBreakPos) + MINIFIER.minifyCssFile(new File(tempPath), outputFiles[0] as File, lineBreakPos, charset) ant.gzip(src: outputPath, destfile: "${outputPath}.gz") ant.move(file: "${outputPath}.gz", tofile: outputPath) diff --git a/src/main/groovy/com/eriwen/gradle/css/tasks/MinifyCssTask.groovy b/src/main/groovy/com/eriwen/gradle/css/tasks/MinifyCssTask.groovy index a74a8f3..b6dc5d6 100644 --- a/src/main/groovy/com/eriwen/gradle/css/tasks/MinifyCssTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/css/tasks/MinifyCssTask.groovy @@ -31,6 +31,6 @@ class MinifyCssTask extends SourceTask { @TaskAction def run() { - MINIFIER.minifyCssFile(source.singleFile, dest as File, project.yuicompressor.lineBreakPos) + MINIFIER.minifyCssFile(source.singleFile, dest as File, project.yuicompressor.lineBreakPos, project.yuicompressor.charset) } } From 88cd832d83ff5d886e2e7e6032bfbca68097f1b1 Mon Sep 17 00:00:00 2001 From: Sebastian Badea Date: Fri, 23 Aug 2019 08:07:14 +0200 Subject: [PATCH 2/3] Updated travis configuration as per https://travis-ci.community/t/solved-oraclejdk8-installation-failing-still-again/3428 --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 27f84b9..ef9515d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: groovy +dist: trusty jdk: - oraclejdk8 install: ./gradlew resolveAllDependencies test From 5b83e6dfb1db2ac3761e22ade1c29e2a94bc28f5 Mon Sep 17 00:00:00 2001 From: Sebastian Badea Date: Fri, 23 Aug 2019 08:40:35 +0200 Subject: [PATCH 3/3] Updated build gradle to avoid resolving non resolvable configurations --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index a52ac82..3f428b2 100644 --- a/build.gradle +++ b/build.gradle @@ -225,6 +225,6 @@ def getPomConfiguration() { // download dependencies all at once, keeps downloads out of travis output task resolveAllDependencies { doLast { - configurations.all { it.resolve() } + configurations.findAll { it.canBeResolved } .each { it.resolve() } } } \ No newline at end of file