blob: 5580248d76f2d36ce74f6bfe533407de911aeb9b [file] [log] [blame]
java_binary(
name = "fidlplugin_jar",
main_class = "notexecutable",
runtime_deps = ["//src/fuchsia/developer/plugin/fidl"],
)
filegroup(
name = "config",
srcs = [
"resources/META-INF/plugin.xml",
],
)
filegroup(
name = "jarjar_rules",
srcs = ["jarjar_rules.txt"],
)
# Need to include config files at appropriate paths in JAR
genrule(
name = "fidlplugin",
srcs = [
":config",
":fidlplugin_jar_deploy.jar",
"//src/fuchsia/developer/plugin/fidl:icons",
],
outs = [
"fidlplugin.jar",
],
cmd =
""" absolutify() { [[ "$$1" =~ ^/ ]] && echo "$$1" || echo "$$PWD/$$1"; };
TMP=`absolutify $$(mktemp -d -p .)`;
ICONS=`absolutify $(location //src/fuchsia/developer/plugin/fidl:icons)`;
JAR=`absolutify $(JAVABASE)`/bin/jar;
OUT=`absolutify $(@D)`;
PLUGIN=`absolutify $(location :fidlplugin_jar_deploy.jar)`;
CONFIG=`absolutify $(locations :config)`;
JARJAR=`absolutify $(location //jarjar:jarjar_bin)`;
RULES_LOC=`absolutify $(location :jarjar_rules)`;
cd $${TMP};
$${JAR} xf $${PLUGIN};
cp $${CONFIG} META-INF/;
rm -rf build-data.properties;
$${JAR} --create --file=$${OUT}/$$(basename $(@)).full *;
$${JARJAR} process $${RULES_LOC} $${OUT}/$$(basename $(@)).full $${OUT}/$$(basename $(@)) """,
toolchains = ["@bazel_tools//tools/jdk:current_host_java_runtime"],
tools = [
":jarjar_rules",
"//jarjar:jarjar_bin",
],
)