include_defs('//lib/maven.defs')
include_defs('//lib/codemirror/cm.defs')
include_defs('//lib/codemirror/closure.defs')

VERSION = 'd0a2ddaa04'
SHA1 = '1df573141fcceec039d0260d2d66a5b15d663f9a'
URL = GERRIT + 'net/codemirror/codemirror-%s.zip' % VERSION

ZIP = 'codemirror-%s.zip' % VERSION
TOP = 'codemirror-%s' % VERSION

CLOSURE_VERSION = 'v20141120'

CLOSURE_COMPILER_ARGS = [
  '--compilation_level SIMPLE_OPTIMIZATIONS',
  '--warning_level QUIET'
]

genrule(
  name = 'css',
  cmd = ';'.join([
      "echo '/** @license' >$OUT",
      'unzip -p $(location :zip) %s/LICENSE >>$OUT' % TOP,
      "echo '*/' >>$OUT",
    ] +
    ['unzip -p $(location :zip) %s/%s >>$OUT' % (TOP, n)
     for n in CM_CSS]
  ),
  out = 'cm.css',
)

for n in CM_THEMES:
  genrule(
    name = 'theme_%s' % n,
    cmd = ';'.join([
        "echo '/** @license' >$OUT",
        'unzip -p $(location :zip) %s/LICENSE >>$OUT' % TOP,
        "echo '*/' >>$OUT",
        'unzip -p $(location :zip) %s/theme/%s.css >>$OUT' % (TOP, n)
      ]
    ),
    out = 'theme_%s.css' % n,
  )

genrule(
  name = 'cm-verbose',
  cmd = ';'.join([
      "echo '/** @license' >$OUT",
      'unzip -p $(location :zip) %s/LICENSE >>$OUT' % TOP,
      "echo '*/' >>$OUT",
    ] +
    ['unzip -p $(location :zip) %s/%s >>$OUT' % (TOP, n) for n in CM_JS] +
    ['unzip -p $(location :zip) %s/addon/%s >>$OUT' % (TOP, n)
     for n in CM_ADDONS]
  ),
  out = 'cm-verbose.js',
)

js_minify(
  name = 'js',
  generated = [':cm-verbose'],
  compiler_args = CLOSURE_COMPILER_ARGS,
  out = 'cm.js'
)

for n in CM_MODES:
  genrule (
    name = 'mode_%s_src' % n,
    cmd = ';'.join([
      "echo '/** @license' >$OUT",
      'unzip -p $(location :zip) %s/LICENSE >>$OUT' % TOP,
      "echo '*/' >>$OUT",
      'unzip -p $(location :zip) %s/mode/%s/%s.js >>$OUT' % (TOP, n, n),
      ]),
    out = 'mode_%s_src.js' %n,
  )
  js_minify(
    name = 'mode_%s_js' % n,
    generated = [':mode_%s_src' % n],
    compiler_args = CLOSURE_COMPILER_ARGS,
    out = 'mode_%s.js' % n,
  )

prebuilt_jar(
  name = 'codemirror',
  binary_jar = ':jar',
  deps = [
    ':jar',
    '//lib:LICENSE-codemirror',
  ],
  visibility = ['PUBLIC'],
)

genrule(
  name = 'jar',
  cmd = ';'.join([
    'cd $TMP',
    'mkdir -p net/codemirror/{lib,mode,theme}',
    'cp $(location :css) net/codemirror/lib',
    'cp $(location :js) net/codemirror/lib']
    + ['cp $(location :mode_%s_js) net/codemirror/mode/%s.js' % (n, n)
       for n in CM_MODES]
    + ['cp $(location :theme_%s) net/codemirror/theme/%s.css' % (n, n)
       for n in CM_THEMES]
    + ['zip -qr $OUT net/codemirror/{lib,mode,theme}']),
  out = 'codemirror.jar',
)

genrule(
  name = 'zip',
  cmd = '$(exe //tools:download_file)' +
    ' -o $OUT' +
    ' -u ' + URL +
    ' -v ' + SHA1,
  out = ZIP,
)

java_binary(
  name = 'js_minifier',
  main_class = 'com.google.javascript.jscomp.CommandLineRunner',
  deps = [':compiler-jar']
)

maven_jar(
  name = 'compiler-jar',
  id = 'com.google.javascript:closure-compiler:' + CLOSURE_VERSION,
  sha1 = '369618bf5a96f73e32655dc48919c0f97558d3b1',
  license = 'Apache2.0',
  deps = [
    ':closure-compiler-externs',
    '//lib:args4j',
    '//lib:gson',
    '//lib:guava',
    '//lib:protobuf',
  ],
  visibility = [],
)

maven_jar(
  name = 'closure-compiler-externs',
  id = 'com.google.javascript:closure-compiler-externs:' + CLOSURE_VERSION,
  sha1 = '247eff337e2737de43c8d963aaaef15bd8cda132',
  license = 'Apache2.0',
  visibility = [],
)
