| include_defs('//lib/maven.defs') |
| include_defs('//lib/codemirror/cm3.defs') |
| include_defs('//lib/codemirror/closure.defs') |
| |
| VERSION = '28a638a984' |
| SHA1 = '68f8f136092a5965778186fb401a33be34cf73ed' |
| URL = GERRIT + 'net/codemirror/codemirror-%s.zip' % VERSION |
| |
| ZIP = 'codemirror-%s.zip' % VERSION |
| TOP = 'codemirror-%s' % VERSION |
| |
| CLOSURE_COMPILER_ARGS = [ |
| '--compilation_level SIMPLE_OPTIMIZATIONS', |
| '--warning_level QUIET' |
| ] |
| |
| genrule( |
| name = 'css', |
| cmd = ';'.join([ |
| ':>$OUT', |
| "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 CM3_CSS + CM3_THEMES] |
| ), |
| deps = [':zip'], |
| out = 'cm3.css', |
| ) |
| |
| genrule( |
| name = 'cm3-verbose', |
| cmd = ';'.join([ |
| ':>$OUT', |
| "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 CM3_JS] |
| ), |
| deps = [':zip'], |
| out = 'cm3-verbose.js', |
| ) |
| |
| js_minify( |
| name = 'js', |
| generated = [':cm3-verbose'], |
| compiler_args = CLOSURE_COMPILER_ARGS, |
| out = 'cm3.js' |
| ) |
| |
| prebuilt_jar( |
| name = 'codemirror', |
| binary_jar = ':jar', |
| deps = ['//lib:LICENSE-codemirror'], |
| visibility = ['PUBLIC'], |
| ) |
| |
| genrule( |
| name = 'jar', |
| cmd = ';'.join([ |
| 'cd $TMP', |
| 'unzip -q $(location :zip) %s' % |
| ' '.join(['%s/mode/%s' % (TOP, n) for n in CM3_MODES]), |
| ';'.join(['$(exe :js_minifier) ' + |
| ' '.join(CLOSURE_COMPILER_ARGS) + |
| ' --js_output_file %s/mode/%s.min --js %s/mode/%s' |
| % (TOP, n, TOP, n) for n in CM3_MODES]), |
| ';'.join(['mv %s/mode/%s.min %s/mode/%s' % (TOP, n, TOP, n) for n in CM3_MODES]), |
| 'mkdir net', |
| 'mv %s net/codemirror' % TOP, |
| 'mkdir net/codemirror/lib', |
| 'cp $(location :css) net/codemirror/lib', |
| 'cp $(location :js) net/codemirror/lib', |
| 'zip -qr $OUT *' |
| ]), |
| out = 'codemirror.jar', |
| ) |
| |
| genrule( |
| name = 'zip', |
| cmd = '$(exe //tools:download_file)' + |
| ' -o $OUT' + |
| ' -u ' + URL + |
| ' -v ' + SHA1, |
| out = ZIP, |
| ) |