bazel: bower support
* npm_binary (download tarball packaged npm apps)
* bower_archive (download a zip file, to be put in WORKSPACE)
* bower_component (defining a bower library, with dependency )
* bower_component_bundle (zipping up libraries together)
* js_component (insert plain js file into bower component bundle)
* bower2bazel.py: run bower to find dependencies, generate a .bzl to
define archives and define components
Tested:
python tools/js/bower2bazel.py -w lib/js/bower_archives.bzl -b \
lib/js/bower_components.bzl
bazel build polygerrit-ui:components
unzip -v bazel-bin/polygerrit-ui/components.zip > /tmp/baz
buck build polygerrit-ui:polygerrit_components
unzip -v buck-out/gen/polygerrit-ui/polygerrit_components/polygerrit_components.bower_components.zip > /tmp/buck
diff /tmp/buck /tmp/baz
The diff corresponds to newer file versions pinned through bower2bazel.
Change-Id: I4f33914d4853bcf8afe78b4719d0e0e83b139031
This commit is contained in:
89
WORKSPACE
89
WORKSPACE
@@ -1,3 +1,5 @@
|
||||
workspace(name="gerrit")
|
||||
|
||||
ANTLR_VERS = '3.5.2'
|
||||
|
||||
maven_jar(
|
||||
@@ -954,3 +956,90 @@ maven_jar(
|
||||
artifact = 'org.apache.httpcomponents:httpcore-niossl:4.0-alpha6',
|
||||
sha1 = '9c662e7247ca8ceb1de5de629f685c9ef3e4ab58',
|
||||
)
|
||||
load("//tools/bzl:js.bzl", "npm_binary", "bower_archive")
|
||||
|
||||
npm_binary(
|
||||
name = "bower",
|
||||
)
|
||||
|
||||
# bower_archive() seed components.
|
||||
bower_archive(
|
||||
name = 'iron-autogrow-textarea',
|
||||
package = 'polymerelements/iron-autogrow-textarea',
|
||||
version = '1.0.12',
|
||||
sha1 = 'b9b6874c9a2b5be435557a827ff8bd6661672ee3',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'es6-promise',
|
||||
package = 'stefanpenner/es6-promise',
|
||||
version = '3.3.0',
|
||||
sha1 = 'a3a797bb22132f1ef75f9a2556173f81870c2e53',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'fetch',
|
||||
package = 'fetch',
|
||||
version = '1.0.0',
|
||||
sha1 = '1b05a2bb40c73232c2909dc196de7519fe4db7a9',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'iron-dropdown',
|
||||
package = 'polymerelements/iron-dropdown',
|
||||
version = '1.4.0',
|
||||
sha1 = '63e3d669a09edaa31c4f05afc76b53b919ef0595',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'iron-input',
|
||||
package = 'polymerelements/iron-input',
|
||||
version = '1.0.10',
|
||||
sha1 = '9bc0c8e81de2527125383cbcf74dd9f27e7fa9ac',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'iron-overlay-behavior',
|
||||
package = 'polymerelements/iron-overlay-behavior',
|
||||
version = '1.7.6',
|
||||
sha1 = '83181085fda59446ce74fd0d5ca30c223f38ee4a',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'iron-selector',
|
||||
package = 'polymerelements/iron-selector',
|
||||
version = '1.5.2',
|
||||
sha1 = 'c57235dfda7fbb987c20ad0e97aac70babf1a1bf',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'moment',
|
||||
package = 'moment/moment',
|
||||
version = '2.13.0',
|
||||
sha1 = 'fc8ce2c799bab21f6ced7aff928244f4ca8880aa',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'page',
|
||||
package = 'visionmedia/page.js',
|
||||
version = '1.7.1',
|
||||
sha1 = '51a05428dd4f68fae1df5f12d0e2b61ba67f7757',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'polymer',
|
||||
package = 'polymer/polymer',
|
||||
version = '1.4.0',
|
||||
sha1 = 'b84725939ead7c7bdf9917b065f68ef8dc790d06',
|
||||
)
|
||||
|
||||
bower_archive(
|
||||
name = 'promise-polyfill',
|
||||
package = 'polymerlabs/promise-polyfill',
|
||||
version = '1.0.0',
|
||||
sha1 = 'a3b598c06cbd7f441402e666ff748326030905d6',
|
||||
)
|
||||
|
||||
# Bower component transitive dependencies.
|
||||
load("//lib/js:bower_archives.bzl", "load_bower_archives")
|
||||
load_bower_archives()
|
||||
|
||||
Reference in New Issue
Block a user