annotate third_party/mercurial/runtime.bzl @ 264:04fee26ecce0

add authenticated JRPG conversation platform Add reusable auth/session storage, owned conversation recovery, guest quotas, admin workflows, URL-routed conversation UI, mobile frame support, and parallel browser acceptance. Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Fri, 07 Aug 2026 07:34:12 -0700
parents c5129452493e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
249
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
1 def _mercurial_runtime_impl(ctx):
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
2 output = ctx.actions.declare_directory(ctx.label.name)
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
3 ctx.actions.run_shell(
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
4 inputs = [ctx.file.archive, ctx.file.launcher],
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
5 outputs = [output],
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
6 command = """
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
7 set -e
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
8 mkdir -p {output}/bin
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
9 unzip -q {archive} -d {output}
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
10 cp {output}/mercurial-7.2.3.dist-info/licenses/COPYING {output}/COPYING
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
11 cp {launcher} {output}/bin/hg
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
12 chmod 0555 {output}/bin/hg
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
13 chmod -R a-w {output}/hgdemandimport {output}/hgext {output}/mercurial
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
14 """.format(
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
15 archive = ctx.file.archive.path,
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
16 launcher = ctx.file.launcher.path,
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
17 output = output.path,
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
18 ),
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
19 progress_message = "Assembling pure-Python Mercurial runtime",
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
20 )
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
21 return [
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
22 DefaultInfo(
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
23 files = depset([output]),
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
24 runfiles = ctx.runfiles(files = [output]),
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
25 ),
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
26 ]
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
27
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
28 mercurial_runtime = rule(
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
29 implementation = _mercurial_runtime_impl,
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
30 attrs = {
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
31 "archive": attr.label(allow_single_file = True, mandatory = True),
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
32 "launcher": attr.label(allow_single_file = True, mandatory = True),
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
33 },
c5129452493e [deploy] Bundle Mercurial with hg-web
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
34 )