Базель java_war и построение войны с созданным веб-контентом (JS / CSS / HTML) - PullRequest
0 голосов
/ 26 января 2020

Я хотел бы создать модифицированный пример, используя это правило - java_war

https://github.com/bmuschko/rules_java_war

WEB-INF и META-INF доступны в источнике но контент пользовательского интерфейса, то есть JS / HTML / CSS, поступает из удаленной артефактной ссылки в виде TGZ.

Есть ли пример для создания WAR с веб-контентом, созданным на лету

  1. Загрузка файла TGZ
  2. Распаковка файла TGZ
  3. Перемещение части извлеченного содержимого в WAR как веб-содержимое

Я чувствую например, web_app_srcs поможет, но сложно собрать все вместе. Любые указатели / примеры помогут.

Попробуйте что-то подобное, но не сможете приблизиться даже к тому, чтобы заставить его работать (с очень смутным знанием Базеля)

// WORKSPACE

http_file(
   name = "ui_bundle",
   urls = ["https://domain/artifact.tgz"],
   sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
   downloaded_file_path = "@ui_bundle://downloaded_file_path"
)

// BUILD

load("@io_bazel_rules_java_war//java_war:defs.bzl", "java_war")

filegroup(
  name = 'ui_source',
  srcs = ['//ui_bundle:downloaded_file_path'],
  visibility = ['//visibility:public'],
)

java_war(
   name = "web-app",
   java_srcs = glob(["java/**/*.java"]),
   web_app_dir = "web",
   web_app_srcs = "ui_source",
   deps = [
    "@maven//:org_mortbay_jetty_servlet_api",
   ],
)
...