Elemental2 ·
Elemental2 provides type checked access to all browser APIs for Java code. This
is done by using closure extern files
and generating JsTypes, which are part of the new JsInterop specification
that is both implemented in GWT and J2CL.
Bazel dependencies
If your project uses Bazel, add this repository as an
external dependency in your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "com_google_elemental2",
strip_prefix = "elemental2-1.2.1",
url = "https://github.com/google/elemental2/archive/1.2.1.zip",
)
load("@com_google_elemental2//build_defs:repository.bzl", "load_elemental2_repo_deps")
load_elemental2_repo_deps()
load("@com_google_elemental2//build_defs:workspace.bzl", "setup_elemental2_workspace")
setup_elemental2_workspace()
Now from you can add elemental2 targets as needed to your j2cl_library
deps.
Following are the different elemental2 modules and their target names:
module | Bazel targets for J2CL |
---|
core | @com_google_elemental2//:elemental2-core-j2cl |
dom | @com_google_elemental2//:elemental2-dom-j2cl |
promise | @com_google_elemental2//:elemental2-promise-j2cl |
indexeddb | @com_google_elemental2//:elemental2-indexeddb-j2cl |
svg | @com_google_elemental2//:elemental2-svg-j2cl |
webgl | @com_google_elemental2//:elemental2-webgl-j2cl |
media | @com_google_elemental2//:elemental2-media-j2cl |
webstorage | @com_google_elemental2//:elemental2-webstorage-j2cl |
Maven dependencies
If your project uses Maven, add the following maven
dependencies in your pom.xml
:
<dependency>
<groupId>com.google.elemental2</groupId>
<artifactId>${artifact-id}</artifactId>
<version>1.2.1</version>
</dependency>
module | artifact-id |
---|
core | elemental2-core |
dom | elemental2-dom |
promise | elemental2-promise |
indexeddb | elemental2-indexeddb |
svg | elemental2-svg |
webgl | elemental2-webgl |
media | elemental2-media |
webstorage | elemental2-webstorage |
Download the jar files
You can also download manually the jars files.
GWT
Elemental2 v1.0.0+ requires GWT 2.9 or above.
If you use Elemental2 with GWT, you need to inherit the right gwt module in your gwt.xml
file:
module | GWT module name |
---|
core | elemental2.core.Core |
dom | elemental2.dom.Dom |
promise | elemental2.promise.Promise |
indexeddb | elemental2.indexeddb.IndexedDb |
svg | elemental2.svg.Svg |
webgl | elemental2.webgl.WebGl |
media | elemental2.media.Media |
webstorage | elemental2.webstorage.WebStorage |
Build GWT compatible maven jar files
If you want to modify and/or build the last version on your own, follow the instructions below:
$ npm install -g @bazel/bazelisk
$ alias bazel=bazelisk
The script will output the directory containing the generated jar files that
can be used with maven.
Contributing
Please refer to the contributing document.
Licensing
Please refer to the license file.
Disclaimer
This is not an official Google product.