diff --git a/build.gradle b/build.gradle index cf10bd7..cbc0418 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'idea' defaultTasks 'clean', 'build' -version = '1.0.3' +version = '1.0.4' group = 'com.eriwen' ext.archivesBaseName = 'gradle-js-plugin' ext.isSnapshot = version.endsWith("-SNAPSHOT") diff --git a/plugin.gradle b/plugin.gradle index 9cc46b2..c6540b5 100644 --- a/plugin.gradle +++ b/plugin.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.eriwen:gradle-js-plugin:1.0.3' + classpath 'com.eriwen:gradle-js-plugin:1.0.4' } } @@ -31,7 +31,7 @@ task clean(type: Delete) { // Combine JS files task combine(type: com.eriwen.gradle.js.tasks.CombineJsTask) { source = javascript.source.custom.js.files - dest = file("${buildDir}/all.js") + dest = "${buildDir}/all.js" } // Minify with Google Closure Compiler @@ -52,17 +52,17 @@ def version = "1.7.2" // GZip it! task gzip(type: com.eriwen.gradle.js.tasks.GzipJsTask) { source = minify - dest = file("${buildDir}/all-${version}.min.js") + dest = "${buildDir}/all-${version}.min.js" } task jshintz(type: com.eriwen.gradle.js.tasks.JsHintTask) { source = javascript.source.custom.js.files - dest = file("${buildDir}/jshint.out") + dest = "${buildDir}/jshint.out" } task jsdocz(type: com.eriwen.gradle.js.tasks.JsDocTask) { source = javascript.source.custom.js.files - destinationDir = file("${buildDir}/jsdoc") + destinationDir = "${buildDir}/jsdoc" } task props(type: com.eriwen.gradle.js.tasks.Props2JsTask) { diff --git a/src/main/groovy/com/eriwen/gradle/js/tasks/CombineJsTask.groovy b/src/main/groovy/com/eriwen/gradle/js/tasks/CombineJsTask.groovy index 774c4fd..cec791b 100644 --- a/src/main/groovy/com/eriwen/gradle/js/tasks/CombineJsTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/js/tasks/CombineJsTask.groovy @@ -20,11 +20,15 @@ import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.SourceTask class CombineJsTask extends SourceTask { - @OutputFile File dest + @OutputFile def dest + + File getDest() { + project.file(dest) + } @TaskAction def run() { - ant.concat(destfile: dest.canonicalPath, fixlastline: 'yes') { + ant.concat(destfile: (dest as File).canonicalPath, fixlastline: 'yes') { source.files.each { logger.info("Adding to fileset: ${it}") fileset(file: it) diff --git a/src/main/groovy/com/eriwen/gradle/js/tasks/GzipJsTask.groovy b/src/main/groovy/com/eriwen/gradle/js/tasks/GzipJsTask.groovy index 03df8ae..c954801 100644 --- a/src/main/groovy/com/eriwen/gradle/js/tasks/GzipJsTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/js/tasks/GzipJsTask.groovy @@ -20,12 +20,16 @@ import org.gradle.api.tasks.SourceTask import org.gradle.api.tasks.TaskAction class GzipJsTask extends SourceTask { - @OutputFile File dest + @OutputFile def dest + + File getDest() { + project.file(dest) + } @TaskAction def run() { final String srcPath = source.singleFile.canonicalPath ant.gzip(src: srcPath, destfile: "${srcPath}.gz") - ant.move(file: "${srcPath}.gz", tofile: dest.canonicalPath) + ant.move(file: "${srcPath}.gz", tofile: (dest as File).canonicalPath) } } diff --git a/src/main/groovy/com/eriwen/gradle/js/tasks/JsDocTask.groovy b/src/main/groovy/com/eriwen/gradle/js/tasks/JsDocTask.groovy index 820c916..3f1634c 100644 --- a/src/main/groovy/com/eriwen/gradle/js/tasks/JsDocTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/js/tasks/JsDocTask.groovy @@ -30,8 +30,11 @@ class JsDocTask extends SourceTask { Iterable modulePaths = ['node_modules', 'rhino_modules', '.'] Boolean debug = false - @OutputDirectory - File destinationDir + @OutputDirectory def destinationDir + + File getDestinationDir() { + project.file(destinationDir) + } @TaskAction def run() { @@ -48,7 +51,7 @@ class JsDocTask extends SourceTask { } args.add("${workingDir}${File.separator}jsdoc.js") args.addAll(source.files.collect { it.canonicalPath }) - args.addAll(['-d', destinationDir.absolutePath]) + args.addAll(['-d', (destinationDir as File).absolutePath]) args.addAll(project.jsdoc.options.collect { it }) rhino.execute(args, [workingDir: workingDir]) diff --git a/src/main/groovy/com/eriwen/gradle/js/tasks/JsHintTask.groovy b/src/main/groovy/com/eriwen/gradle/js/tasks/JsHintTask.groovy index 42b19de..762c66c 100644 --- a/src/main/groovy/com/eriwen/gradle/js/tasks/JsHintTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/js/tasks/JsHintTask.groovy @@ -27,7 +27,11 @@ class JsHintTask extends SourceTask { private static final ResourceUtil RESOURCE_UTIL = new ResourceUtil() private final RhinoExec rhino = new RhinoExec(project) - @OutputFile File dest; + @OutputFile def dest + + File getDest() { + project.file(dest) + } @TaskAction def run() { @@ -35,6 +39,6 @@ class JsHintTask extends SourceTask { new File(project.buildDir, TMP_DIR), JSHINT_PATH) final List args = [jshintJsFile.canonicalPath] args.addAll(source.files.collect { it.canonicalPath }) - rhino.execute(args, [ignoreExitCode: true, out: new FileOutputStream(dest)]) + rhino.execute(args, [ignoreExitCode: true, out: new FileOutputStream(dest as File)]) } } diff --git a/src/main/groovy/com/eriwen/gradle/js/tasks/MinifyJsTask.groovy b/src/main/groovy/com/eriwen/gradle/js/tasks/MinifyJsTask.groovy index 4245171..8fc82d1 100644 --- a/src/main/groovy/com/eriwen/gradle/js/tasks/MinifyJsTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/js/tasks/MinifyJsTask.groovy @@ -24,12 +24,16 @@ import org.gradle.api.tasks.TaskAction class MinifyJsTask extends SourceTask { private static final JsMinifier MINIFIER = new JsMinifier() - @OutputFile File dest + @OutputFile def dest + + File getDest() { + project.file(dest) + } @TaskAction def run() { Set externsFiles = project.closure.externs ? project.closure.externs.files : [] as Set - MINIFIER.minifyJsFile(source.singleFile, externsFiles, dest, + MINIFIER.minifyJsFile(source.singleFile, externsFiles, dest as File, project.closure.compilerOptions, project.closure.warningLevel, project.closure.compilationLevel) } } diff --git a/src/main/groovy/com/eriwen/gradle/js/tasks/Props2JsTask.groovy b/src/main/groovy/com/eriwen/gradle/js/tasks/Props2JsTask.groovy index b53f331..3d4ec22 100644 --- a/src/main/groovy/com/eriwen/gradle/js/tasks/Props2JsTask.groovy +++ b/src/main/groovy/com/eriwen/gradle/js/tasks/Props2JsTask.groovy @@ -27,8 +27,11 @@ class Props2JsTask extends SourceTask { private static final ResourceUtil RESOURCE_UTIL = new ResourceUtil() private static final Set AVAILABLE_TYPES = ['js', 'json', 'jsonp'] - @OutputFile - File dest + @OutputFile def dest + + File getDest() { + project.file(dest) + } @TaskAction def run() { @@ -53,7 +56,7 @@ class Props2JsTask extends SourceTask { if (functionName) { props2JsArgs.addAll(['--name', functionName]) } - props2JsArgs.addAll(['-o', dest.canonicalPath]) + props2JsArgs.addAll(['-o', (dest as File).canonicalPath]) project.javaexec { main = '-jar' args = props2JsArgs