| include_defs('//lib/maven.defs') |
| include_defs('//lib/codemirror/cm.defs') |
| |
| VERSION = '5.14.2' |
| TOP = 'META-INF/resources/webjars/codemirror/%s' % VERSION |
| TOP_MINIFIED = 'META-INF/resources/webjars/codemirror-minified/%s' % VERSION |
| |
| maven_jar( |
| name = 'codemirror-minified', |
| id = 'org.webjars.npm:codemirror-minified:' + VERSION, |
| sha1 = 'c69056d2a0e07432326e67ea8fe2abb91a065030', |
| attach_source = False, |
| license = 'codemirror-minified', |
| visibility = [], |
| ) |
| |
| maven_jar( |
| name = 'codemirror-original', |
| id = 'org.webjars.npm:codemirror:' + VERSION, |
| sha1 = '1ed9697531be85c85edb70fcdf58f10045563f7b', |
| attach_source = False, |
| license = 'codemirror-original', |
| visibility = [], |
| ) |
| |
| for archive, suffix, top in [('codemirror-original', '', TOP), ('codemirror-minified', '_r', TOP_MINIFIED)]: |
| # Main JavaScript and addons |
| genrule( |
| name = 'cm' + suffix, |
| cmd = ';'.join([ |
| "echo '/** @license' >$OUT", |
| 'unzip -p $(location :%s) %s/LICENSE >>$OUT' % (archive, top), |
| "echo '*/' >>$OUT", |
| ] + |
| ['unzip -p $(location :%s) %s/%s >>$OUT' % (archive, top, n) for n in CM_JS] + |
| ['unzip -p $(location :%s) %s/addon/%s >>$OUT' % (archive, top, n) |
| for n in CM_ADDONS] |
| ), |
| out = 'cm%s.js' % suffix, |
| ) |
| |
| # Main CSS |
| genrule( |
| name = 'css' + suffix, |
| cmd = ';'.join([ |
| "echo '/** @license' >$OUT", |
| 'unzip -p $(location :%s) %s/LICENSE >>$OUT' % (archive, top), |
| "echo '*/' >>$OUT", |
| ] + |
| ['unzip -p $(location :%s) %s/%s >>$OUT' % (archive, top, n) |
| for n in CM_CSS] |
| ), |
| out = 'cm%s.css' % suffix, |
| ) |
| |
| # Modes |
| for n in CM_MODES: |
| genrule ( |
| name = 'mode_%s%s' % (n, suffix), |
| cmd = ';'.join([ |
| "echo '/** @license' >$OUT", |
| 'unzip -p $(location :%s) %s/LICENSE >>$OUT' % (archive, top), |
| "echo '*/' >>$OUT", |
| 'unzip -p $(location :%s) %s/mode/%s/%s.js >>$OUT' % (archive, top, n, n), |
| ]), |
| out = 'mode_%s%s.js' % (n, suffix), |
| ) |
| |
| # Themes |
| for n in CM_THEMES: |
| genrule( |
| name = 'theme_%s%s' % (n, suffix), |
| cmd = ';'.join([ |
| "echo '/** @license' >$OUT", |
| 'unzip -p $(location :%s) %s/LICENSE >>$OUT' % (archive, top), |
| "echo '*/' >>$OUT", |
| 'unzip -p $(location :%s) %s/theme/%s.css >>$OUT' % (archive, top, n) |
| ] |
| ), |
| out = 'theme_%s%s.css' % (n, suffix), |
| ) |
| |
| # Jar packaging |
| genrule( |
| name = 'jar' + suffix, |
| cmd = ';'.join([ |
| 'cd $TMP', |
| 'mkdir -p net/codemirror/{lib,mode,theme}', |
| 'cp $(location :css%s) net/codemirror/lib/cm.css' % suffix, |
| 'cp $(location :cm%s) net/codemirror/lib/cm.js' % suffix] |
| + ['cp $(location :mode_%s%s) net/codemirror/mode/%s.js' % (n, suffix, n) |
| for n in CM_MODES] |
| + ['cp $(location :theme_%s%s) net/codemirror/theme/%s.css' % (n, suffix, n) |
| for n in CM_THEMES] |
| + ['zip -qr $OUT net/codemirror/{lib,mode,theme}']), |
| out = 'codemirror%s.jar' % suffix, |
| ) |
| |
| prebuilt_jar( |
| name = 'codemirror' + suffix, |
| binary_jar = ':jar%s' % suffix, |
| deps = [ |
| ':jar' + suffix, |
| '//lib:LICENSE-' + archive, |
| ], |
| visibility = ['PUBLIC'], |
| ) |
| |