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.
If you want to modify and/or build the last version on your own, follow the instructions below:
-
Install Bazel.
-
clone this repository with git:
git clone https://github.com/google/elemental2.git
-
Inside the repository, have bazel build all the jar files:
$ bazel build //java/elemental2/...
The jars are available in your bazel-bin/java
directory.
If your project use Bazel, add this repository as an external dependency in your WORKSPACE
file
new_http_archive(
name = "com_google_elemental2",
url="https://github.com/google/elemental2/archive/master.zip",
)
Elemental2 is split up in several jars files. Refer to the following targets in your java_library
deps:
module | Bazel targets |
---|---|
core | @com_google_elemental2//java/elemental2/core |
dom | @com_google_elemental2//java/elemental2/dom |
promise | @com_google_elemental2//java/elemental2/promise |
indexeddb | @com_google_elemental2//java/elemental2/indexeddb |
svg | @com_google_elemental2//java/elemental2/svg |
webgl | @com_google_elemental2//java/elemental2/webgl |
media | @com_google_elemental2//java/elemental2/media |
webstorage | @com_google_elemental2//java/elemental2/webstorage |
If your project use Maven, add maven dependencies in your pom.xml:
<dependency>
<groupId>com.google.elemental2</groupId>
<artifactId>${artifact-id}</artifactId>
<version>1.0.0-beta-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 |
You can also download manually the jars files.
module | jar file |
---|---|
core | elemental2-core.jar |
dom | elemental2-dom.jar |
promise | elemental2-promise.jar |
indexeddb | elemental2-indexeddb.jar |
svg | elemental2-svg.jar |
webgl | elemental2-webgl.jar |
media | elemental2-media.jar |
webstorage | elemental2-webstorage.jar |
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 |
Please refer to the contributing document.
Please refer to the license file.
This is not an official Google product.