| load("@npm//@bazel/rollup:index.bzl", "rollup_bundle") |
| load("@rules_java//java:defs.bzl", "java_library") |
| load("//tools/bzl:junit.bzl", "junit_tests") |
| load( |
| "//tools/bzl:plugin.bzl", |
| "PLUGIN_DEPS", |
| "PLUGIN_TEST_DEPS", |
| "gerrit_plugin", |
| ) |
| load("//tools/bzl:genrule2.bzl", "genrule2") |
| load("//tools/bzl:js.bzl", "polygerrit_plugin") |
| |
| LFS_DEPS = [ |
| "@jgit//org.eclipse.jgit.lfs.server:jgit-lfs-server", |
| "@jgit//org.eclipse.jgit.lfs:jgit-lfs", |
| ] |
| |
| DEPLOY_ENV = [ |
| "//lib:gson", |
| "//lib/httpcomponents:httpclient", |
| "//lib:jgit", |
| "//lib:servlet-api-without-neverlink", |
| ] |
| |
| # TODO(davido): Remove this workaround, when provided_deps attribute is added: |
| # https://github.com/bazelbuild/bazel/issues/1402 |
| java_binary( |
| name = "gerrit_core_provided_env", |
| main_class = "Dummy", |
| runtime_deps = DEPLOY_ENV, |
| ) |
| |
| gerrit_plugin( |
| name = "lfs", |
| srcs = glob(["src/main/java/**/*.java"]), |
| deploy_env = ["gerrit_core_provided_env"], |
| manifest_entries = [ |
| "Gerrit-PluginName: lfs", |
| "Gerrit-Module: com.googlesource.gerrit.plugins.lfs.Module", |
| "Gerrit-HttpModule: com.googlesource.gerrit.plugins.lfs.HttpModule", |
| "Gerrit-SshModule: com.googlesource.gerrit.plugins.lfs.SshModule", |
| "Gerrit-InitStep: com.googlesource.gerrit.plugins.lfs.InitLfs", |
| ], |
| resource_jars = [":gr-lfs-static"], |
| resources = glob(["src/main/resources/**/*"]), |
| deps = LFS_DEPS, |
| ) |
| |
| genrule2( |
| name = "gr-lfs-static", |
| srcs = [":gr-lfs"], |
| outs = ["gr-lfs-static.jar"], |
| cmd = " && ".join([ |
| "mkdir $$TMP/static", |
| "cp -r $(locations :gr-lfs) $$TMP/static", |
| "cd $$TMP", |
| "zip -Drq $$ROOT/$@ -g .", |
| ]), |
| ) |
| |
| polygerrit_plugin( |
| name = "gr-lfs", |
| app = "gr-lfs-bundle.js", |
| plugin_name = "gr-lfs", |
| ) |
| |
| rollup_bundle( |
| name = "gr-lfs-bundle", |
| srcs = glob(["gr-lfs/*.js"]), |
| entry_point = "gr-lfs/plugin.js", |
| format = "iife", |
| rollup_bin = "//tools/node_tools:rollup-bin", |
| sourcemap = "hidden", |
| deps = [ |
| "@tools_npm//rollup-plugin-node-resolve", |
| ], |
| ) |
| |
| junit_tests( |
| name = "lfs_tests", |
| srcs = glob(["src/test/java/**/*.java"]), |
| tags = ["lfs"], |
| deps = [ |
| ":lfs__plugin_test_deps", |
| ], |
| ) |
| |
| java_library( |
| name = "lfs__plugin_test_deps", |
| testonly = 1, |
| visibility = ["//visibility:public"], |
| exports = PLUGIN_DEPS + PLUGIN_TEST_DEPS + LFS_DEPS + [ |
| ":lfs__plugin", |
| ], |
| ) |