JavaScript と CSS の minify
久々G*関連ネタ。
tree-tips: Gradleでjavascriptをminifyする! | Gradle
tree-tips: Gradleでcssをminifyする! | Gradle
上記サイトのビルドスクリプトを参考に、カレントディレクトリ以下の JavaScript と CSS を再帰的に minify するようにした。
ただ、使っているプラグインが新しめの gradle に対応してないっぽくて、ちょっとはまった。
結局 1.7 です。
wrapper 作ったので、ついでにチームの人に紹介しておいた。
defaultTasks 'allMinifyCss', 'allMinifyJs' apply plugin: 'js' apply plugin: 'css' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.eriwen:gradle-js-plugin:1.5.0' classpath 'com.eriwen:gradle-css-plugin:1.2.1' } } css.source { dev { css { srcDir "./" include "**/*.css" exclude "**/*.min.*" } } } css.source.dev.css.files.eachWithIndex { cssFile, i -> tasks.create(name: "minifyCss${i}", type: com.eriwen.gradle.css.tasks.MinifyCssTask) { source = cssFile dest = cssFile.getAbsolutePath().replace('.css','.min.css').replace('.js', '.min.js') yuicompressor { lineBreakPos = -1 } } } task allMinifyCss(dependsOn: tasks.matching { Task task -> task.name.startsWith("minifyCss") } ) javascript.source { dev { js { srcDir "./" include "**/*.js" exclude "**/*.min.js" } } } javascript.source.dev.js.files.eachWithIndex { jsFile, i -> tasks.create(name: "minifyJs${i}", type: com.eriwen.gradle.js.tasks.MinifyJsTask) { source = jsFile dest = jsFile.getAbsolutePath().replace('.js', '.min.js') } } task allMinifyJs(dependsOn: tasks.matching { Task task -> task.name.startsWith("minifyJs") } ) task wrapper(type: Wrapper) { gradleVersion = 1.7 }