apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
  runtime 'com.google.javascript:closure-compiler:v20131014'
}

task minify_liblevenshtein(type: JavaExec) {
  main = 'com.google.javascript.jscomp.CommandLineRunner'
  classpath = sourceSets.main.runtimeClasspath
  args = [
    '--compilation_level', 'ADVANCED_OPTIMIZATIONS',
    //'--output_wrapper', '(function(){"use strict";%output%}());',
    '--js_output_file', 'lib/liblevenshtein/liblevenshtein.min.js',
    '--js', 'lib/liblevenshtein/liblevenshtein.js'
  ]
}

task minify_levenshtein_transducer(type: JavaExec) {
  main = 'com.google.javascript.jscomp.CommandLineRunner'
  classpath = sourceSets.main.runtimeClasspath
  args = [
    '--compilation_level', 'ADVANCED_OPTIMIZATIONS',
    //'--output_wrapper', '(function(){"use strict";%output%}());',
    '--js_output_file', 'lib/liblevenshtein/levenshtein-transducer.min.js',
    '--js', 'lib/liblevenshtein/levenshtein-transducer.js'
  ]
}

task minify_levenshtein_distance(type: JavaExec) {
  main = 'com.google.javascript.jscomp.CommandLineRunner'
  classpath = sourceSets.main.runtimeClasspath
  args = [
    '--compilation_level', 'ADVANCED_OPTIMIZATIONS',
    //'--output_wrapper', '(function(){"use strict";%output%}());',
    '--js_output_file', 'lib/liblevenshtein/levenshtein-distance.min.js',
    '--js', 'lib/liblevenshtein/levenshtein-distance.js'
  ]
}

task minify(dependsOn: [
  'minify_liblevenshtein',
  'minify_levenshtein_transducer',
  'minify_levenshtein_distance'
])
