load("//tools/bzl:genrule2.bzl", "genrule2")

CM_CSS = [
    "lib/codemirror.css",
    "addon/dialog/dialog.css",
    "addon/merge/merge.css",
    "addon/scroll/simplescrollbars.css",
    "addon/search/matchesonscrollbar.css",
    "addon/lint/lint.css",
]

CM_JS = [
    "lib/codemirror.js",
    "mode/meta.js",
    "keymap/emacs.js",
    "keymap/sublime.js",
    "keymap/vim.js",
]

CM_ADDONS = [
    "dialog/dialog.js",
    "edit/closebrackets.js",
    "edit/matchbrackets.js",
    "edit/trailingspace.js",
    "scroll/annotatescrollbar.js",
    "scroll/simplescrollbars.js",
    "search/jump-to-line.js",
    "search/matchesonscrollbar.js",
    "search/searchcursor.js",
    "search/search.js",
    "selection/mark-selection.js",
    "mode/multiplex.js",
    "mode/overlay.js",
    "mode/simple.js",
    "lint/lint.js",
]

# Available themes must be enumerated here,
# in gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/Theme.java,
# in gerrit-gwtui/src/main/java/net/codemirror/theme/Themes.java
CM_THEMES = [
    "3024-day",
    "3024-night",
    "abcdef",
    "ambiance",
    "base16-dark",
    "base16-light",
    "bespin",
    "blackboard",
    "cobalt",
    "colorforth",
    "dracula",
    "duotone-dark",
    "duotone-light",
    "eclipse",
    "elegant",
    "erlang-dark",
    "gruvbox-dark",
    "hopscotch",
    "icecoder",
    "idea",
    "isotope",
    "lesser-dark",
    "liquibyte",
    "lucario",
    "material",
    "mbo",
    "mdn-like",
    "midnight",
    "monokai",
    "neat",
    "neo",
    "night",
    "paraiso-dark",
    "paraiso-light",
    "pastel-on-dark",
    "railscasts",
    "rubyblue",
    "seti",
    "solarized",
    "ssms",
    "the-matrix",
    "tomorrow-night-bright",
    "tomorrow-night-eighties",
    "ttcn",
    "twilight",
    "vibrant-ink",
    "xq-dark",
    "xq-light",
    "yeti",
    "zenburn",
]

# Available modes must be enumerated here,
# in gerrit-gwtui/src/main/java/net/codemirror/mode/Modes.java,
# gerrit-gwtui/src/main/java/net/codemirror/mode/ModeInfo.java,
# and in CodeMirror's own mode/meta.js script.
CM_MODES = [
    "apl",
    "asciiarmor",
    "asn.1",
    "asterisk",
    "brainfuck",
    "clike",
    "clojure",
    "cmake",
    "cobol",
    "coffeescript",
    "commonlisp",
    "crystal",
    "css",
    "cypher",
    "d",
    "dart",
    "diff",
    "django",
    "dockerfile",
    "dtd",
    "dylan",
    "ebnf",
    "ecl",
    "eiffel",
    "elm",
    "erlang",
    "factor",
    "fcl",
    "forth",
    "fortran",
    "gas",
    "gfm",
    "gherkin",
    "go",
    "groovy",
    "haml",
    "handlebars",
    "haskell-literate",
    "haskell",
    "haxe",
    "htmlembedded",
    "htmlmixed",
    "http",
    "idl",
    "javascript",
    "jinja2",
    "jsx",
    "julia",
    "livescript",
    "lua",
    "markdown",
    "mathematica",
    "mbox",
    "mirc",
    "mllike",
    "modelica",
    "mscgen",
    "mumps",
    "nginx",
    "nsis",
    "ntriples",
    "octave",
    "oz",
    "pascal",
    "pegjs",
    "perl",
    "php",
    "pig",
    "powershell",
    "properties",
    "protobuf",
    "pug",
    "puppet",
    "python",
    "q",
    "r",
    "rpm",
    "rst",
    "ruby",
    "rust",
    "sas",
    "sass",
    "scheme",
    "shell",
    "sieve",
    "slim",
    "smalltalk",
    "smarty",
    "solr",
    "soy",
    "sparql",
    "spreadsheet",
    "sql",
    "stex",
    "stylus",
    "swift",
    "tcl",
    "textile",
    "tiddlywiki",
    "tiki",
    "toml",
    "tornado",
    "troff",
    "ttcn-cfg",
    "ttcn",
    "turtle",
    "twig",
    "vb",
    "vbscript",
    "velocity",
    "verilog",
    "vhdl",
    "vue",
    "webidl",
    "xml",
    "xquery",
    "yacas",
    "yaml-frontmatter",
    "yaml",
    "z80",
]

CM_VERSION = "5.37.0"

TOP = "META-INF/resources/webjars/codemirror/%s" % CM_VERSION

TOP_MINIFIED = "META-INF/resources/webjars/codemirror-minified/%s" % CM_VERSION

LICENSE = "//lib:LICENSE-codemirror-original"

LICENSE_MINIFIED = "//lib:LICENSE-codemirror-minified"

DIFF_MATCH_PATCH_VERSION = "20121119-1"

DIFF_MATCH_PATCH_TOP = ("META-INF/resources/webjars/google-diff-match-patch/%s" %
                        DIFF_MATCH_PATCH_VERSION)

def pkg_cm():
    for archive, suffix, top, license in [
        ("@codemirror-original-gwt//jar", "", TOP, LICENSE),
        ("@codemirror-minified-gwt//jar", "_r", TOP_MINIFIED, LICENSE_MINIFIED),
    ]:
        # Main JavaScript and addons
        genrule2(
            name = "cm" + suffix,
            cmd = " && ".join(
                [
                    "echo '/** @license' >$@",
                    "unzip -p $(location %s) %s/LICENSE >>$@" % (archive, top),
                    "echo '*/' >>$@",
                ] +
                ["unzip -p $(location %s) %s/%s >>$@" % (archive, top, n) for n in CM_JS] +
                [
                    "unzip -p $(location %s) %s/addon/%s >>$@" % (archive, top, n)
                    for n in CM_ADDONS
                ],
            ),
            tools = [archive],
            outs = ["cm%s.js" % suffix],
        )

        # Main CSS
        genrule2(
            name = "css" + suffix,
            cmd = " && ".join(
                [
                    "echo '/** @license' >$@",
                    "unzip -p $(location %s) %s/LICENSE >>$@" % (archive, top),
                    "echo '*/' >>$@",
                ] +
                [
                    "unzip -p $(location %s) %s/%s >>$@" % (archive, top, n)
                    for n in CM_CSS
                ],
            ),
            tools = [archive],
            outs = ["cm%s.css" % suffix],
        )

        # Modes
        for n in CM_MODES:
            genrule2(
                name = "mode_%s%s" % (n, suffix),
                cmd = " && ".join(
                    [
                        "echo '/** @license' >$@",
                        "unzip -p $(location %s) %s/LICENSE >>$@" % (archive, top),
                        "echo '*/' >>$@",
                        "unzip -p $(location %s) %s/mode/%s/%s.js >>$@" % (archive, top, n, n),
                    ],
                ),
                tools = [archive],
                outs = ["mode_%s%s.js" % (n, suffix)],
            )

        # Themes
        for n in CM_THEMES:
            genrule2(
                name = "theme_%s%s" % (n, suffix),
                cmd = " && ".join(
                    [
                        "echo '/** @license' >$@",
                        "unzip -p $(location %s) %s/LICENSE >>$@" % (archive, top),
                        "echo '*/' >>$@",
                        "unzip -p $(location %s) %s/theme/%s.css >>$@" % (archive, top, n),
                    ],
                ),
                tools = [archive],
                outs = ["theme_%s%s.css" % (n, suffix)],
            )

        # Merge Addon bundled with diff-match-patch
        genrule2(
            name = "addon_merge_with_diff_match_patch%s" % suffix,
            cmd = " && ".join(
                [
                    "echo '/** @license' >$@",
                    "unzip -p $(location %s) %s/LICENSE >>$@" % (archive, top),
                    "echo '*/\n' >>$@",
                    "echo '// The google-diff-match-patch library is from https://repo1.maven.org/maven2/org/webjars/google-diff-match-patch/%s/google-diff-match-patch-%s.jar\n' >> $@" % (DIFF_MATCH_PATCH_VERSION, DIFF_MATCH_PATCH_VERSION),
                    "echo '/** @license' >>$@",
                    "echo 'LICENSE-Apache2.0' >>$@",
                    "echo '*/' >>$@",
                    "unzip -p $(location @diff-match-patch//jar) %s/diff_match_patch.js >>$@" % DIFF_MATCH_PATCH_TOP,
                    "echo ';' >> $@",
                    "unzip -p $(location %s) %s/addon/merge/merge.js >>$@" % (archive, top),
                ],
            ),
            tools = [
                "@diff-match-patch//jar",
                # dependency just for license tracking.
                ":diff-match-patch",
                archive,
                "//lib:LICENSE-Apache2.0",
            ],
            outs = ["addon_merge_with_diff_match_patch%s.js" % suffix],
        )

        # Jar packaging
        genrule2(
            name = "jar" + suffix,
            cmd = " && ".join([
                                  "cd $$TMP",
                                  "mkdir -p net/codemirror/{addon,lib,mode,theme}",
                                  "cp $$ROOT/$(location :css%s) net/codemirror/lib/cm.css" % suffix,
                                  "cp $$ROOT/$(location :cm%s) net/codemirror/lib/cm.js" % suffix,
                              ] +
                              [
                                  "cp $$ROOT/$(location :mode_%s%s) net/codemirror/mode/%s.js" % (n, suffix, n)
                                  for n in CM_MODES
                              ] +
                              [
                                  "cp $$ROOT/$(location :theme_%s%s) net/codemirror/theme/%s.css" % (n, suffix, n)
                                  for n in CM_THEMES
                              ] +
                              ["cp $$ROOT/$(location :addon_merge_with_diff_match_patch%s) net/codemirror/addon/merge_bundled.js" % suffix] +
                              ["zip -qr $$ROOT/$@ net/codemirror/{addon,lib,mode,theme}"]),
            tools = [
                ":addon_merge_with_diff_match_patch%s" % suffix,
                ":cm%s" % suffix,
                ":css%s" % suffix,
            ] + [
                ":mode_%s%s" % (n, suffix)
                for n in CM_MODES
            ] + [
                ":theme_%s%s" % (n, suffix)
                for n in CM_THEMES
            ],
            outs = ["codemirror%s.jar" % suffix],
        )

        native.java_import(
            name = "codemirror" + suffix,
            jars = [":jar%s" % suffix],
            visibility = ["//visibility:public"],
            data = [license],
        )
