.
This commit is contained in:
parent
46978ae799
commit
ce56c6e105
53 changed files with 776 additions and 891 deletions
51
rules/dev_server.bzl
Normal file
51
rules/dev_server.bzl
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
def _dev_server_impl(ctx):
|
||||
script = ctx.actions.declare_file(ctx.label.name + "_runner")
|
||||
content = """
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
cp -f '%s' server.jar
|
||||
printf eula=true > eula.txt
|
||||
mkdir -p plugins
|
||||
rm -f plugins/*.jar
|
||||
for plugin in %s
|
||||
do
|
||||
cp -v \"$plugin\" plugins/
|
||||
done
|
||||
|
||||
mkdir -p postgres-data
|
||||
podman run \
|
||||
--rm \
|
||||
--name scrow-postgres-dev \
|
||||
-p 5432:5432 \
|
||||
-v ./postgres-data/:/data \
|
||||
-e POSTGRES_USER=postgres \
|
||||
-e POSTGRES_HOST_AUTH_METHOD=trust \
|
||||
-d \
|
||||
docker.io/postgres:alpine || true
|
||||
echo "Starting paper server in $PWD"
|
||||
exec env HOST_POSTGRES='jdbc:postgresql://127.0.0.1:5432/postgres' java -jar server.jar --nogui %s
|
||||
""" % (
|
||||
ctx.file.server_jar.short_path,
|
||||
" ".join([p.short_path for p in ctx.files.plugins]),
|
||||
" ".join(["--add-plugin %s" % p.short_path for p in ctx.files.local_plugins]),
|
||||
)
|
||||
ctx.actions.write(
|
||||
output = script,
|
||||
content = content,
|
||||
is_executable = True,
|
||||
)
|
||||
return DefaultInfo(
|
||||
executable = script,
|
||||
runfiles = ctx.runfiles(files = [ctx.file.server_jar] + ctx.files.plugins + ctx.files.local_plugins)
|
||||
)
|
||||
|
||||
dev_server = rule(
|
||||
implementation = _dev_server_impl,
|
||||
executable = True,
|
||||
attrs = {
|
||||
"server_jar": attr.label(allow_single_file = True, mandatory = True),
|
||||
"plugins": attr.label_list(),
|
||||
"local_plugins": attr.label_list(),
|
||||
},
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue