java_binary(
    name = "fidlplugin_jar",
    main_class = "notexecutable",
    runtime_deps = ["//src/fuchsia/developer/plugin/fidl"],
)

filegroup(
    name = "config",
    srcs = [
        "resources/META-INF/plugin.xml",
        "resources/META-INF/pluginIcon.svg",
        "resources/META-INF/pluginIcon_dark.svg",
    ],
)

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 $${PWD}/tmp.XXXXXXXX)`;
            JAR=`absolutify $(JAVABASE)`/bin/jar;
            OUT=`absolutify $(@D)`;
            PLUGIN=`absolutify $(location :fidlplugin_jar_deploy.jar)`;
            CONFIG=`for i in $(locations :config); do absolutify $$i; done`;
            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",
    ],
)
