mirror of
https://github.com/google/nomulus.git
synced 2025-05-01 12:37:52 +02:00
To make FOSS build compile, third_party vendoring rules for jaxb are added to package all jaxb related targets imported from maven into a uber jar, mirroring the same practice done in //third_party/java/jaxb Cloned from CL 182666460 by 'g4 patch'. Original change by cushon@cushon:rosie182283995-0071_Rosie:47348:citc on 2018/01/20 13:36:15. More information: https://docs.google.com/document/d/1htErgDIoHMEuMBfGwrtS_O4WwhTw8QOGLva-7aYYvYs/edit?usp=sharing Tested: TAP --sample for global presubmit queue [] passed FOSS test ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=182855173
72 lines
1.9 KiB
Text
72 lines
1.9 KiB
Text
package(
|
|
default_visibility = ["//java/google/registry:registry_project"],
|
|
)
|
|
|
|
licenses(["notice"]) # Apache 2.0
|
|
|
|
load("//java/google/registry/xjc:generated_files.bzl", "pkginfo_generated_files", "xjc_generated_files")
|
|
|
|
java_library(
|
|
name = "xjc",
|
|
srcs = glob(["*.java"]) + xjc_generated_files + pkginfo_generated_files,
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"//java/google/registry/xml",
|
|
"//third_party/jaxb",
|
|
"@com_google_code_findbugs_jsr305",
|
|
"@com_google_guava",
|
|
"@joda_time",
|
|
],
|
|
)
|
|
|
|
sh_binary(
|
|
name = "list_generated_files",
|
|
srcs = ["list_generated_files.sh"],
|
|
data = [
|
|
"bindings.xjb",
|
|
"//java/google/registry/xml:xml_schema_files",
|
|
"@com_sun_xml_bind_jaxb_xjc//:XJCFacade",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "jaxb_srcs",
|
|
srcs = [
|
|
"bindings.xjb",
|
|
"//java/google/registry/xml:xml_schema_files",
|
|
],
|
|
outs = xjc_generated_files,
|
|
cmd = " && ".join([
|
|
"REP=$$(pwd)",
|
|
"XJC=$$REP/$(location @com_sun_xml_bind_jaxb_xjc//:XJCFacade)",
|
|
"OUT=$$REP/$(GENDIR)/java",
|
|
"TMP=$$(mktemp -d $${TMPDIR:-/tmp}/jaxb.XXXXXXXXXX)",
|
|
"mkdir -p $$OUT",
|
|
"cp $(SRCS) $$TMP",
|
|
"cd $$TMP",
|
|
"$$XJC -npa -quiet -extension -d $$OUT -b *.xjb *.xsd",
|
|
("find $$OUT -name '*.java' | xargs sed -i.bak 's/" +
|
|
"public class/" +
|
|
"@SuppressWarnings({\"unchecked\",\"serial\",\"cast\"})\\\n" +
|
|
"public class/'"),
|
|
"cd $$REP",
|
|
"rm -rf $$TMP",
|
|
]),
|
|
tools = ["@com_sun_xml_bind_jaxb_xjc//:XJCFacade"],
|
|
)
|
|
|
|
sh_binary(
|
|
name = "make_pkginfo",
|
|
srcs = ["make_pkginfo.sh"],
|
|
)
|
|
|
|
genrule(
|
|
name = "pkginfo_srcs",
|
|
srcs = ["package-info.java.in"],
|
|
outs = pkginfo_generated_files,
|
|
cmd = "$(location :make_pkginfo) $(SRCS) $(@D)",
|
|
tools = [
|
|
":jaxb_srcs",
|
|
":make_pkginfo",
|
|
],
|
|
)
|