view mrjunejune/BUILD @ 207:58d9b64d8dca

Updated deployment script to include sqlite3
author MrJuneJune <me@mrjunejune.com>
date Sun, 15 Feb 2026 12:25:50 -0800
parents e5aed6c36672
children
line wrap: on
line source

load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("//gui_ze:gui_ze.bzl", "move_files_into_dir", "bundle")

# Files
move_files_into_dir(
  name = "react_pages",
  srcs = [
    "//react_games:games"
  ],
  dest = "src/games",
)

move_files_into_dir(
  name = "shared_js_non_public",
  srcs = [
    "//markdown_converter:markdown_to_html",
    "//markdown_converter:markdown_to_html_wasm",
  ],
  dest = "src",
)

move_files_into_dir(
  name = "shared_js_file",
  srcs = [
    "//third_party/highlight:js",
  ],
  dest = "src/public/highlight",
)

move_files_into_dir(
  name = "rich_editor_js",
  srcs = [
    "//rich_editor:rich_editor",
  ],
  dest = "src/public/js",
)

move_files_into_dir(
  name = "icons",
  srcs = [
    "//assets:icons",
  ],
  dest = "src/public/icons",
)

filegroup(
  name = "public_files",
  srcs = glob(["src/public/*"]),
  visibility = ["//visibility:public"],
)

filegroup(
  name = "public_fonts_files",
  srcs = glob(["src/public/fonts/*"]),
  visibility = ["//visibility:public"],
)
    
filegroup(
  name = "src_files",
  srcs = glob(["src/**"]) + [":react_pages", ":shared_js_non_public", ":shared_js_file", ":rich_editor_js", ":icons"],
  visibility = ["//mrjunejune/test:__pkg__"],
)

# Server binary
cc_binary(
  name = "mrjunejune_server",
  srcs = ["main.c"],
  deps = [
    "//seobeo:seobeo",
    "//markdown_converter:markdown_to_html_c",
    "//s3:s3",
    "//deita:deita",
  ],
  copts = ["-D_GNU_SOURCE"],
  linkopts = ["-lpthread"],
  data = [
    ":src_files",
    ":config_file",
    "//:env_file",
  ],
  visibility = ["//mrjunejune/test:__pkg__"],
)

# Debug build with verbose logging
cc_binary(
  name = "mrjunejune_server_debug",
  srcs = ["main.c"],
  deps = [
    "//seobeo:seobeo_debug",
    "//markdown_converter:markdown_to_html_c",
    "//s3:s3",
    "//deita:deita",
  ],
  copts = ["-D_GNU_SOURCE"],
  linkopts = ["-lpthread"],
  data = [
    ":src_files",
    ":config_file",
    "//:env_file",
  ],
)

filegroup(
  name = "config_file",
  srcs = [".config"],
  visibility = ["//visibility:public"],
)

filegroup(
  name = "data_dir",
  srcs = glob(["data/*"]),
  visibility = ["//visibility:public"],
)

# Run this to create html files
cc_binary(
  name = "create_html_from_md",
  srcs = ["create_html_from_md.c"],
  deps = [
    "//markdown_converter:markdown_to_html_c",
    "//dowa:dowa"
  ],
  data = [":src_files"],
)

# Release bundle
bundle(
  name = "mrjunejune_server_bundle",
  binary = ":mrjunejune_server",
)

bundle(
  name = "mrjunejune_server_debug_bundle",
  binary = ":mrjunejune_server_debug",
)