Skip to content

Type checked access to browser APIs for Java code.

License

Notifications You must be signed in to change notification settings

Vertispan/elemental2

 
 

Repository files navigation

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.

Build with bazel

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, run the script build_gwt_mvn_jars.sh:

    $ ./build_gwt_mvn_jars.sh /path/to/output/directory
    

The jars are available in /path/to/output/directory directory. If you don't provide a argument to the script, the script will create a temporary directory for the generated jar.

Bazel dependencies

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

Maven dependencies

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-RC1</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.

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

GWT

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

Contributing

Please refer to the contributing document.

Licensing

Please refer to the license file.

Disclaimer

This is not an official Google product.

About

Type checked access to browser APIs for Java code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 38.9%
  • Python 38.0%
  • Java 15.0%
  • Shell 8.1%