diff --git a/BUILD b/BUILD
index f84f778..edd94b3 100644
--- a/BUILD
+++ b/BUILD
@@ -1,8 +1,45 @@
-load("//tools/bzl:js.bzl", "polygerrit_plugin")
+load("//tools/bzl:genrule2.bzl", "genrule2")
+load("//tools/bzl:js.bzl", "bundle_assets", "polygerrit_plugin")
+load("//tools/bzl:plugin.bzl", "gerrit_plugin")
+
+gerrit_plugin(
+    name = "image-diff",
+    srcs = ["java/com/googlesource/gerrit/plugins/imagediff/ImageDiffModule.java"],
+    manifest_entries = [
+        "Gerrit-PluginName: image-diff",
+        "Gerrit-Module: com.googlesource.gerrit.plugins.codemirror.ImageDiffModule",
+        "Implementation-Title: Image Diff plugin",
+    ],
+    resource_jars = [":image-diff-static"],
+)
+
+genrule2(
+    name = "image-diff-static",
+    srcs = [":image_diff"],
+    outs = ["image-diff-static.jar"],
+    cmd = " && ".join([
+        "mkdir $$TMP/static",
+        "cp -r $(locations :image_diff) $$TMP/static",
+        "cd $$TMP",
+        "zip -Drq $$ROOT/$@ -g .",
+    ]),
+)
+
+bundle_assets(
+    name = "image-diff-assets",
+    srcs = glob(["gr-resemble-diff-mode/resemblejs-assets.html"]),
+    app = "gr-resemble-diff-mode/resemblejs-assets.html",
+    split = False,
+    deps = [
+        "//lib/js:resemblejs"
+    ],
+)
 
 polygerrit_plugin(
-    name = "image-diff",
+    name = "image_diff",
     srcs = glob(["**/*.html", "**/*.js"]),
     app = "plugin.html",
-    deps = ["//lib/js:resemblejs"],
-)
\ No newline at end of file
+    assets = [
+        ":image-diff-assets"
+    ],
+)
diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode.html b/gr-resemble-diff-mode/gr-resemble-diff-mode.html
index edc6a93..b074f78 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode.html
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode.html
@@ -14,7 +14,8 @@
 limitations under the License.
 -->
 
-<script src="../node_modules/resemblejs/resemble.js"></script>
+<link rel="import" href="../image-diff-assets.html">
+
 <dom-module id="gr-resemble-diff-mode">
   <template>
     <style>
diff --git a/gr-resemble-diff-mode/resemblejs-assets.html b/gr-resemble-diff-mode/resemblejs-assets.html
new file mode 100644
index 0000000..8e17b02
--- /dev/null
+++ b/gr-resemble-diff-mode/resemblejs-assets.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<!--
+@license
+Copyright (C) 2018 The Android Open Source Project
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<script src="../bower_components/resemblejs/resemble.js"></script>
diff --git a/java/com/googlesource/gerrit/plugins/imagediff/ImageDiffModule.java b/java/com/googlesource/gerrit/plugins/imagediff/ImageDiffModule.java
new file mode 100644
index 0000000..ffb1b1a
--- /dev/null
+++ b/java/com/googlesource/gerrit/plugins/imagediff/ImageDiffModule.java
@@ -0,0 +1,28 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.googlesource.gerrit.plugins.imagediff;
+
+import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.extensions.restapi.RestApiModule;
+import com.google.gerrit.extensions.webui.JavaScriptPlugin;
+import com.google.gerrit.extensions.webui.WebUiPlugin;
+
+public class ImageDiffModule extends RestApiModule {
+  @Override
+  protected void configure() {
+    DynamicSet.bind(binder(), WebUiPlugin.class)
+        .toInstance(new JavaScriptPlugin("image_diff.html"));
+  }
+}
