2022-11-29 01:46:15 +00:00
|
|
|
|
Code.eval_file("lib/mix/mess.exs")
|
|
|
|
|
Code.eval_file("lib/mix/mixer.ex")
|
2022-09-12 04:34:14 +00:00
|
|
|
|
|
2022-11-29 04:03:36 +00:00
|
|
|
|
defmodule Bonfire.Umbrella.MixProject do
|
2020-08-05 07:39:59 +00:00
|
|
|
|
use Mix.Project
|
2022-10-14 05:11:56 +00:00
|
|
|
|
alias Bonfire.Mixer
|
|
|
|
|
|
2024-03-17 14:26:46 +00:00
|
|
|
|
@default_flavour "classic"
|
|
|
|
|
@flavour System.get_env("FLAVOUR") || @default_flavour
|
|
|
|
|
|
2022-11-29 04:03:36 +00:00
|
|
|
|
# we only behave as an umbrella im dev/test env
|
2022-11-29 23:44:04 +00:00
|
|
|
|
@use_local_forks System.get_env("WITH_FORKS", "1") == "1"
|
2023-12-22 21:50:33 +00:00
|
|
|
|
ext_forks_path = Mixer.forks_path()
|
|
|
|
|
|
2022-11-30 02:09:02 +00:00
|
|
|
|
@use_umbrella? Mix.env() == :dev and @use_local_forks and System.get_env("AS_UMBRELLA") == "1" and
|
2023-12-22 21:50:33 +00:00
|
|
|
|
File.exists?("#{ext_forks_path}/bonfire")
|
|
|
|
|
@umbrella_path if @use_umbrella?, do: ext_forks_path, else: nil
|
2022-11-30 02:09:02 +00:00
|
|
|
|
|
|
|
|
|
if @use_umbrella?, do: IO.puts("NOTE: Running as umbrella...")
|
2022-11-29 01:46:15 +00:00
|
|
|
|
|
2024-02-21 18:29:18 +00:00
|
|
|
|
# including it by default breaks Dockerfile.release but not including it like this breaks CI...
|
|
|
|
|
@main_deps if(System.get_env("WITH_GIT_DEPS") == "0",
|
|
|
|
|
do: [{:bonfire, git: "https://github.com/bonfire-networks/bonfire_spark"}],
|
|
|
|
|
else: []
|
|
|
|
|
)
|
2024-03-11 10:45:58 +00:00
|
|
|
|
@maybe_api_deps if(System.get_env("WITH_API_GRAPHQL") == "yes",
|
|
|
|
|
do: [
|
2024-04-27 09:39:40 +00:00
|
|
|
|
{:absinthe, "~> 1.7"},
|
2024-03-11 10:45:58 +00:00
|
|
|
|
{:bonfire_api_graphql,
|
2024-04-16 09:59:51 +00:00
|
|
|
|
git: "https://github.com/bonfire-networks/bonfire_api_graphql"},
|
2024-04-16 21:13:38 +00:00
|
|
|
|
{:absinthe_client,
|
2024-04-16 09:59:51 +00:00
|
|
|
|
git: "https://github.com/bonfire-networks/absinthe_client"}
|
2024-03-11 10:45:58 +00:00
|
|
|
|
],
|
|
|
|
|
else: []
|
|
|
|
|
)
|
2024-02-21 18:29:18 +00:00
|
|
|
|
|
2024-04-14 10:38:02 +00:00
|
|
|
|
@maybe_image_vix if(System.get_env("ENABLE_IMAGE_VIX") != "0",
|
|
|
|
|
do: [{:image, "~> 0.37", runtime: true, override: true}],
|
|
|
|
|
else: []
|
|
|
|
|
)
|
|
|
|
|
|
2024-02-21 18:29:18 +00:00
|
|
|
|
@extra_deps @main_deps ++
|
2024-03-11 10:45:58 +00:00
|
|
|
|
@maybe_api_deps ++
|
2024-04-14 10:38:02 +00:00
|
|
|
|
@maybe_image_vix ++
|
2024-02-21 18:29:18 +00:00
|
|
|
|
[
|
2024-04-01 15:51:47 +00:00
|
|
|
|
{:ex_aws, git: "https://github.com/bonfire-networks/ex_aws", override: true},
|
2024-02-21 18:29:18 +00:00
|
|
|
|
# compilation
|
|
|
|
|
# {:tria, github: "hissssst/tria"},
|
|
|
|
|
|
|
|
|
|
## password hashing - builtin vs nif
|
|
|
|
|
{:pbkdf2_elixir, "~> 2.0", only: [:dev, :test]},
|
|
|
|
|
{:argon2_elixir, "~> 4.0", only: [:prod]},
|
|
|
|
|
|
|
|
|
|
## dev conveniences
|
|
|
|
|
{:phoenix_live_reload, "~> 1.3", only: :dev, override: true},
|
|
|
|
|
#
|
|
|
|
|
# {:exsync, git: "https://github.com/falood/exsync", only: :dev},
|
|
|
|
|
# {:mix_unused, "~> 0.4", only: :dev}, # find unused public functions
|
2024-02-22 16:27:43 +00:00
|
|
|
|
{:ex_doc, "~> 0.31.1", only: [:dev, :test], runtime: false},
|
2024-02-21 18:29:18 +00:00
|
|
|
|
{:ecto_erd, "~> 0.4", only: :dev},
|
|
|
|
|
{:excellent_migrations, "~> 0.1", only: [:dev, :test], runtime: false},
|
|
|
|
|
# {:ecto_dev_logger, "~> 0.7", only: :dev},
|
|
|
|
|
# flame graphs in live_dashboard
|
|
|
|
|
# {:flame_on, "~> 0.5", only: :dev},
|
|
|
|
|
{:pseudo_gettext, git: "https://github.com/tmbb/pseudo_gettext", only: :dev},
|
|
|
|
|
{:periscope, "~> 0.4", only: :dev},
|
|
|
|
|
# {:changelog, "~> 0.1", only: [:dev, :test], runtime: false}, # retrieve changelogs of latest dependency versions
|
|
|
|
|
# changelog generation
|
|
|
|
|
{:versioce, "~> 2.0.0", only: :dev},
|
|
|
|
|
# needed for changelog generation
|
|
|
|
|
{:git_cli, "~> 0.3.0", only: :dev},
|
|
|
|
|
# {:archeometer, git: "https://gitlab.com/mayel/archeometer", only: [:dev, :test]}, # "~> 0.1.0" # disabled because exqlite not working in CI
|
|
|
|
|
{:recode, "~> 0.4", only: :dev},
|
|
|
|
|
# API client needed for changelog generation
|
|
|
|
|
{:neuron, "~> 5.0", only: :dev, override: true},
|
|
|
|
|
# note: cannot use only: dev
|
|
|
|
|
# {:phoenix_profiler, "~> 0.2.0"},
|
|
|
|
|
# "~> 0.1.0", path: "forks/one_plus_n_detector",
|
|
|
|
|
# {:one_plus_n_detector, git: "https://github.com/bonfire-networks/one_plus_n_detector", only: :dev},
|
|
|
|
|
{:observer_cli, "~> 1.7", only: [:dev, :test]},
|
|
|
|
|
|
|
|
|
|
# tests
|
|
|
|
|
# {:floki, ">= 0.0.0", only: [:dev, :test]},
|
|
|
|
|
# {:pages, "~> 0.12", only: :test}, # extends Floki for testing
|
|
|
|
|
{
|
|
|
|
|
:phoenix_test,
|
2024-04-29 15:41:31 +00:00
|
|
|
|
"~> 0.2.13",
|
|
|
|
|
# git: "https://github.com/germsvel/phoenix_test",
|
|
|
|
|
only: :test, runtime: false
|
2024-02-21 18:29:18 +00:00
|
|
|
|
},
|
|
|
|
|
{:mock, "~> 0.3", only: :test},
|
|
|
|
|
{:mox, "~> 1.0", only: :test},
|
|
|
|
|
{:ex_machina, "~> 2.7", only: [:dev, :test]},
|
|
|
|
|
{:zest, "~> 0.1.0"},
|
|
|
|
|
{:grumble, "~> 0.1.3", only: [:test], override: true},
|
|
|
|
|
{:mix_test_watch, "~> 1.1", only: :test, runtime: false, override: true},
|
2024-02-22 16:27:43 +00:00
|
|
|
|
{:mix_test_interactive, "~> 2.0", only: :test, runtime: false},
|
2024-02-21 18:29:18 +00:00
|
|
|
|
{:ex_unit_summary, "~> 0.1.0", only: :test},
|
|
|
|
|
{:ex_unit_notifier, "~> 1.0", only: :test},
|
|
|
|
|
{:wallaby, "~> 0.30", runtime: false, only: :test},
|
2024-02-22 16:27:43 +00:00
|
|
|
|
{:credo, "~> 1.7.5", only: :test, override: true},
|
2024-03-12 14:19:01 +00:00
|
|
|
|
# used in furlex
|
2024-03-12 14:22:17 +00:00
|
|
|
|
# {:bypass, "~> 2.1", only: :test},
|
2024-02-21 18:29:18 +00:00
|
|
|
|
{:assert_value, ">= 0.0.0", only: [:dev, :test]},
|
|
|
|
|
{:mneme, ">= 0.0.0", only: [:dev, :test]},
|
|
|
|
|
|
|
|
|
|
# Benchmarking utilities
|
|
|
|
|
{:benchee, "~> 1.1", override: true},
|
|
|
|
|
{:benchee_html, "~> 1.0", only: [:dev, :test]},
|
|
|
|
|
# for Telemetry store
|
|
|
|
|
{:circular_buffer, "~> 0.4", only: :dev},
|
|
|
|
|
# {:chaperon, "~> 0.3.1", only: [:dev, :test]},
|
|
|
|
|
|
|
|
|
|
# logging
|
2024-02-22 16:27:43 +00:00
|
|
|
|
{:sentry, "~> 10.0", only: [:dev, :prod], override: true},
|
2024-02-21 18:29:18 +00:00
|
|
|
|
|
|
|
|
|
# list dependencies & licenses
|
|
|
|
|
# {
|
|
|
|
|
# :licensir,
|
|
|
|
|
# only: :dev,
|
|
|
|
|
# runtime: false,
|
|
|
|
|
# git: "https://github.com/bonfire-networks/licensir",
|
|
|
|
|
# # path: "./forks/licensir"
|
|
|
|
|
# },
|
|
|
|
|
|
|
|
|
|
# security auditing
|
|
|
|
|
# {:mix_audit, "~> 0.1", only: [:dev], runtime: false}
|
|
|
|
|
{:sobelow, "~> 0.12.1", only: :dev}
|
|
|
|
|
]
|
2020-08-05 07:39:59 +00:00
|
|
|
|
|
2024-04-01 15:28:15 +00:00
|
|
|
|
@deps Mixer.mess_sources(@flavour)
|
|
|
|
|
|> Mess.deps(@extra_deps,
|
2024-04-01 14:35:39 +00:00
|
|
|
|
use_local_forks?: @use_local_forks,
|
|
|
|
|
use_umbrella?: @use_umbrella?,
|
|
|
|
|
umbrella_root?: @use_local_forks,
|
|
|
|
|
umbrella_path: @umbrella_path
|
|
|
|
|
)
|
2024-04-16 21:13:38 +00:00
|
|
|
|
|
|
|
|
|
# |> IO.inspect(limit: :infinity)
|
2024-04-01 11:19:53 +00:00
|
|
|
|
|
|
|
|
|
@extra_release_apps @deps
|
2024-04-01 14:35:39 +00:00
|
|
|
|
|> Enum.filter(fn
|
|
|
|
|
{_dep, opts} when is_list(opts) ->
|
|
|
|
|
opts[:runtime] == false and
|
|
|
|
|
(is_nil(opts[:only]) or :prod in List.wrap(opts[:only]))
|
|
|
|
|
|
|
|
|
|
{_dep, _, opts} ->
|
|
|
|
|
opts[:runtime] == false and
|
|
|
|
|
(is_nil(opts[:only]) or :prod in List.wrap(opts[:only]))
|
|
|
|
|
|
|
|
|
|
_ ->
|
|
|
|
|
false
|
|
|
|
|
end)
|
|
|
|
|
# Mixer.other_flavour_sources()
|
|
|
|
|
|> Mixer.deps_names_list()
|
2024-04-14 18:49:36 +00:00
|
|
|
|
|> Enum.reject(&(&1 == :bonfire))
|
2024-04-01 14:35:39 +00:00
|
|
|
|
|> Enum.map(&{&1, :load})
|
2024-04-14 18:49:36 +00:00
|
|
|
|
|> IO.inspect(label: "disabled extensions to still include in release")
|
2024-04-01 11:19:53 +00:00
|
|
|
|
|
2022-09-12 04:34:14 +00:00
|
|
|
|
# TODO: put these in ENV or an external writeable config file similar to deps.*
|
|
|
|
|
@config [
|
|
|
|
|
# note that the flavour will automatically be added where the dash appears
|
2024-04-16 21:13:38 +00:00
|
|
|
|
version: "0.9.10-beta.62",
|
2023-08-12 19:26:39 +00:00
|
|
|
|
elixir: ">= #{System.get_env("ELIXIR_VERSION", "1.13.4")}",
|
2024-03-17 14:26:46 +00:00
|
|
|
|
flavour: @flavour,
|
2022-10-14 05:11:56 +00:00
|
|
|
|
default_flavour: @default_flavour,
|
2022-09-12 04:34:14 +00:00
|
|
|
|
logo: "assets/static/images/bonfire-icon.png",
|
2022-10-14 05:11:56 +00:00
|
|
|
|
guides: [
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"README.md",
|
|
|
|
|
"docs/HACKING.md",
|
|
|
|
|
"docs/DEPLOY.md",
|
|
|
|
|
"docs/ARCHITECTURE.md",
|
|
|
|
|
"docs/BONFIRE-FLAVOURED-ELIXIR.md",
|
|
|
|
|
"docs/DATABASE.md",
|
|
|
|
|
"docs/BOUNDARIES.md",
|
|
|
|
|
"docs/GRAPHQL.md",
|
|
|
|
|
"docs/MRF.md",
|
|
|
|
|
"docs/CHANGELOG.md",
|
|
|
|
|
"docs/CHANGELOG-autogenerated.md"
|
|
|
|
|
],
|
|
|
|
|
deps_prefixes: [
|
2021-12-16 22:56:46 +00:00
|
|
|
|
docs: [
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"bonfire",
|
2023-12-30 22:30:56 +00:00
|
|
|
|
"needle",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"paginator",
|
|
|
|
|
"ecto_shorts",
|
|
|
|
|
"ecto_sparkles",
|
|
|
|
|
"absinthe_client",
|
|
|
|
|
"activity_pub",
|
2024-01-16 15:37:40 +00:00
|
|
|
|
"http_signatures",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"arrows",
|
|
|
|
|
"ecto_materialized_path",
|
2023-12-30 22:30:56 +00:00
|
|
|
|
"exto",
|
2024-01-16 15:37:40 +00:00
|
|
|
|
"untangle",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"grumble",
|
|
|
|
|
"linkify",
|
|
|
|
|
"verbs",
|
|
|
|
|
"voodoo",
|
|
|
|
|
"waffle",
|
2024-01-16 15:37:40 +00:00
|
|
|
|
# "zest",
|
|
|
|
|
"iconify",
|
|
|
|
|
"fetch_favicon",
|
|
|
|
|
"paper_trail"
|
2021-12-16 22:56:46 +00:00
|
|
|
|
],
|
2022-09-12 04:34:14 +00:00
|
|
|
|
test: [
|
|
|
|
|
"bonfire",
|
2023-12-30 22:30:56 +00:00
|
|
|
|
"needle",
|
2022-12-12 23:14:35 +00:00
|
|
|
|
# "paginator",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"ecto_shorts",
|
|
|
|
|
"ecto_sparkles",
|
|
|
|
|
"activity_pub",
|
2022-09-12 05:12:35 +00:00
|
|
|
|
"arrows",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"linkify",
|
2023-07-01 14:45:54 +00:00
|
|
|
|
"fetch_favicon"
|
|
|
|
|
# "paper_trail"
|
2022-09-12 04:34:14 +00:00
|
|
|
|
],
|
|
|
|
|
data: [
|
|
|
|
|
"bonfire_data_",
|
|
|
|
|
"bonfire_data_edges",
|
2023-12-30 22:30:56 +00:00
|
|
|
|
"needle",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"bonfire_boundaries",
|
|
|
|
|
"bonfire_tag",
|
|
|
|
|
"bonfire_classify",
|
|
|
|
|
"bonfire_geolocate",
|
|
|
|
|
"bonfire_quantify",
|
|
|
|
|
"bonfire_valueflows"
|
|
|
|
|
],
|
|
|
|
|
api: [
|
2023-01-06 00:45:07 +00:00
|
|
|
|
"bonfire_api_graphql",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"bonfire_me",
|
|
|
|
|
"bonfire_social",
|
|
|
|
|
"bonfire_tag",
|
|
|
|
|
"bonfire_classify",
|
|
|
|
|
"bonfire_geolocate",
|
2024-04-27 19:19:44 +00:00
|
|
|
|
"bonfire_quantify",
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"bonfire_valueflows"
|
|
|
|
|
],
|
2022-09-20 11:58:43 +00:00
|
|
|
|
required: [
|
|
|
|
|
"bonfire_boundaries",
|
|
|
|
|
"bonfire_social",
|
|
|
|
|
"bonfire_me",
|
|
|
|
|
"bonfire_ecto",
|
|
|
|
|
"bonfire_epics",
|
2022-11-09 20:07:56 +00:00
|
|
|
|
"bonfire_common",
|
2023-02-02 08:53:21 +00:00
|
|
|
|
"bonfire_fail",
|
|
|
|
|
"bonfire_ui_common",
|
|
|
|
|
"bonfire_ui_me",
|
|
|
|
|
"bonfire_ui_social"
|
2022-09-20 11:58:43 +00:00
|
|
|
|
],
|
2022-09-12 04:34:14 +00:00
|
|
|
|
localise: ["bonfire"],
|
2023-12-16 19:26:07 +00:00
|
|
|
|
localise_self: [
|
|
|
|
|
# FIXME: should extract to root app, not activity_pub like it's doing (for whatever reason)
|
|
|
|
|
"activity_pub"
|
|
|
|
|
]
|
2022-10-14 05:11:56 +00:00
|
|
|
|
],
|
2024-04-01 11:19:53 +00:00
|
|
|
|
deps: @deps,
|
|
|
|
|
disabled_extensions: @extra_release_apps
|
2024-03-17 14:26:46 +00:00
|
|
|
|
# |> IO.inspect(limit: :infinity)
|
2022-11-30 02:09:02 +00:00
|
|
|
|
]
|
|
|
|
|
|
2022-10-14 05:11:56 +00:00
|
|
|
|
def config, do: @config
|
|
|
|
|
def deps, do: config()[:deps]
|
|
|
|
|
|
2020-08-05 07:39:59 +00:00
|
|
|
|
def project do
|
|
|
|
|
[
|
2022-11-29 04:03:36 +00:00
|
|
|
|
app: :bonfire_umbrella,
|
2022-11-29 01:46:15 +00:00
|
|
|
|
apps_path: @umbrella_path,
|
2022-10-14 05:11:56 +00:00
|
|
|
|
version: Mixer.version(config()),
|
|
|
|
|
elixir: config()[:elixir],
|
2022-04-07 05:23:18 +00:00
|
|
|
|
elixirc_options: [debug_info: true, docs: true],
|
2022-10-14 05:11:56 +00:00
|
|
|
|
elixirc_paths: Mixer.elixirc_paths(config(), Mix.env()),
|
|
|
|
|
test_paths: Mixer.test_paths(config()),
|
2022-11-29 09:02:21 +00:00
|
|
|
|
# test_deps: Mixer.deps(config(), :test) |> IO.inspect(),
|
2022-10-14 05:11:56 +00:00
|
|
|
|
required_deps: config()[:deps_prefixes][:required],
|
2023-01-23 04:55:45 +00:00
|
|
|
|
# consolidate_protocols: false, # for Tria
|
2022-10-14 05:11:56 +00:00
|
|
|
|
compilers: Mixer.compilers(Mix.env()),
|
2020-08-05 07:39:59 +00:00
|
|
|
|
start_permanent: Mix.env() == :prod,
|
|
|
|
|
aliases: aliases(),
|
2021-05-04 17:29:30 +00:00
|
|
|
|
deps: deps(),
|
2022-10-14 05:11:56 +00:00
|
|
|
|
multirepo_deps: Mixer.deps(config(), :bonfire),
|
|
|
|
|
in_multirepo_fn: &Mixer.in_multirepo?/1,
|
|
|
|
|
multirepo_recompile_fn: &Mixer.deps_recompile/0,
|
2022-12-06 05:20:38 +00:00
|
|
|
|
config_path: "config/config.exs",
|
2021-05-04 17:29:30 +00:00
|
|
|
|
releases: [
|
2022-04-07 06:20:32 +00:00
|
|
|
|
bonfire: [
|
2024-03-17 14:26:46 +00:00
|
|
|
|
runtime_config_path: Mixer.config_path("runtime.exs"),
|
2023-02-04 04:50:23 +00:00
|
|
|
|
# should BEAM files should have their debug information, documentation chunks, and other non-essential metadata?
|
2022-12-06 02:06:49 +00:00
|
|
|
|
strip_beams: false,
|
2024-04-01 14:35:39 +00:00
|
|
|
|
applications:
|
|
|
|
|
[
|
|
|
|
|
bonfire: :permanent,
|
|
|
|
|
# if observability fails it shouldn’t take your app down with it
|
|
|
|
|
opentelemetry_exporter: :temporary,
|
|
|
|
|
opentelemetry: :temporary
|
|
|
|
|
] ++ config()[:disabled_extensions]
|
2022-09-12 04:34:14 +00:00
|
|
|
|
]
|
2021-11-19 00:48:15 +00:00
|
|
|
|
],
|
2022-10-14 05:11:56 +00:00
|
|
|
|
sources_url: "https://github.com/bonfire-networks",
|
2022-03-06 00:32:13 +00:00
|
|
|
|
source_url: "https://github.com/bonfire-networks/bonfire-app",
|
|
|
|
|
homepage_url: "https://bonfirenetworks.org",
|
2021-11-19 00:48:15 +00:00
|
|
|
|
docs: [
|
|
|
|
|
# The first page to display from the docs
|
2022-11-29 06:48:46 +00:00
|
|
|
|
name: "Bonfire",
|
2021-11-19 00:48:15 +00:00
|
|
|
|
main: "readme",
|
2022-10-14 05:11:56 +00:00
|
|
|
|
logo: config()[:logo],
|
2021-11-19 00:48:15 +00:00
|
|
|
|
output: "docs/exdoc",
|
2022-10-14 05:11:56 +00:00
|
|
|
|
source_url_pattern: &Mixer.source_url_pattern/2,
|
2021-12-16 22:56:46 +00:00
|
|
|
|
# extra pages to include
|
2022-10-14 05:11:56 +00:00
|
|
|
|
extras: Mixer.readme_paths(config()),
|
2022-03-06 00:32:13 +00:00
|
|
|
|
# extra apps to include in module docs
|
2022-11-29 06:48:46 +00:00
|
|
|
|
source_beam: Mixer.docs_beam_paths(config()),
|
|
|
|
|
# deps: Mixer.doc_dep_urls(config()),
|
2022-09-12 04:34:14 +00:00
|
|
|
|
# Note: first match wins
|
|
|
|
|
groups_for_extras: [
|
|
|
|
|
Guides: Path.wildcard("docs/*"),
|
2022-03-06 00:32:13 +00:00
|
|
|
|
"Flavours of Bonfire": Path.wildcard("flavours/*/*"),
|
2022-11-29 06:48:46 +00:00
|
|
|
|
"Data schemas": Path.wildcard("{extensions,deps,forks}/bonfire_data_*/*"),
|
|
|
|
|
"UI extensions": Path.wildcard("{extensions,deps,forks}/bonfire_ui_*/*"),
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"Bonfire utilities":
|
|
|
|
|
[
|
|
|
|
|
"bonfire_api_graphql",
|
|
|
|
|
"bonfire_boundaries",
|
|
|
|
|
"bonfire_common",
|
|
|
|
|
"bonfire_ecto",
|
|
|
|
|
"bonfire_epics",
|
|
|
|
|
"bonfire_fail",
|
|
|
|
|
"bonfire_files",
|
|
|
|
|
"bonfire_mailer"
|
|
|
|
|
]
|
2022-11-29 06:48:46 +00:00
|
|
|
|
|> Enum.flat_map(&Path.wildcard("{extensions,deps,forks}/#{&1}/*")),
|
|
|
|
|
"Feature extensions": Path.wildcard("{extensions,deps,forks}/bonfire_*/*"),
|
|
|
|
|
"Other utilities": Path.wildcard("{extensions,deps,forks}/*/*"),
|
2022-09-12 04:34:14 +00:00
|
|
|
|
Dependencies: Path.wildcard("docs/DEPENDENCIES/*")
|
2022-03-06 00:32:13 +00:00
|
|
|
|
],
|
|
|
|
|
groups_for_modules: [
|
|
|
|
|
"Data schemas": ~r/^Bonfire.Data.?/,
|
|
|
|
|
"UI extensions": ~r/^Bonfire.UI.?/,
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"Bonfire utilities": [
|
|
|
|
|
~r/^Bonfire.API?/,
|
|
|
|
|
~r/^Bonfire.GraphQL?/,
|
|
|
|
|
~r/^Bonfire.Web?/,
|
|
|
|
|
~r/^Bonfire.Boundaries?/,
|
|
|
|
|
~r/^Bonfire.Common?/,
|
|
|
|
|
~r/^Bonfire.Ecto?/,
|
|
|
|
|
~r/^Bonfire.Epics?/,
|
|
|
|
|
~r/^Bonfire.Fail?/,
|
|
|
|
|
~r/^Bonfire.Files?/,
|
2022-11-29 06:48:46 +00:00
|
|
|
|
~r/^Bonfire.Mailer?/,
|
2023-12-30 22:30:56 +00:00
|
|
|
|
~r/^Needle?/
|
2022-09-12 04:34:14 +00:00
|
|
|
|
],
|
2022-03-06 00:32:13 +00:00
|
|
|
|
"Feature extensions": [~r/^Bonfire.?/, ~r/^ValueFlows.?/],
|
2022-11-29 06:48:46 +00:00
|
|
|
|
Federation: [
|
|
|
|
|
~r/^ActivityPub.?/,
|
|
|
|
|
~r/^ActivityPub.?/,
|
|
|
|
|
~r/^Nodeinfo.?/,
|
|
|
|
|
~r/^NodeinfoWeb.?/
|
|
|
|
|
],
|
|
|
|
|
Icons: ~r/^Iconify.?/,
|
2022-09-12 04:34:14 +00:00
|
|
|
|
Utilities: ~r/.?/
|
2022-03-06 00:32:13 +00:00
|
|
|
|
],
|
2022-03-06 01:55:05 +00:00
|
|
|
|
nest_modules_by_prefix: [
|
|
|
|
|
Bonfire.Data,
|
|
|
|
|
# Bonfire.UI,
|
|
|
|
|
Bonfire,
|
2022-11-29 06:48:46 +00:00
|
|
|
|
ActivityPub,
|
2023-02-20 01:09:04 +00:00
|
|
|
|
ActivityPub.Web,
|
2022-11-29 06:48:46 +00:00
|
|
|
|
# ValueFlows,
|
|
|
|
|
Iconify
|
2022-03-06 01:55:05 +00:00
|
|
|
|
]
|
2022-09-12 04:34:14 +00:00
|
|
|
|
]
|
2020-08-05 07:39:59 +00:00
|
|
|
|
]
|
|
|
|
|
end
|
|
|
|
|
|
2022-11-30 00:20:49 +00:00
|
|
|
|
# def application, do: Bonfire.Spark.MixProject.application()
|
|
|
|
|
|
2024-01-29 21:01:21 +00:00
|
|
|
|
def cli do
|
|
|
|
|
[
|
|
|
|
|
default_task: "phx.server"
|
|
|
|
|
# preferred_envs: [docs: :docs]
|
|
|
|
|
]
|
|
|
|
|
end
|
|
|
|
|
|
2021-05-16 08:34:50 +00:00
|
|
|
|
defp aliases do
|
|
|
|
|
[
|
|
|
|
|
"hex.setup": ["local.hex --force"],
|
|
|
|
|
"rebar.setup": ["local.rebar --force"],
|
2024-02-06 18:58:59 +00:00
|
|
|
|
hex_setup: [
|
2023-03-29 06:38:11 +00:00
|
|
|
|
"hex.setup",
|
|
|
|
|
"rebar.setup"
|
|
|
|
|
],
|
2021-10-10 01:02:52 +00:00
|
|
|
|
"bonfire.seeds": [
|
|
|
|
|
# "phil_columns.seed",
|
|
|
|
|
],
|
2022-11-09 20:07:56 +00:00
|
|
|
|
# FIXME: this does not update transitive deps
|
2022-10-14 05:11:56 +00:00
|
|
|
|
"bonfire.deps.update": ["deps.update " <> Mixer.deps_to_update(config())],
|
2022-09-12 04:34:14 +00:00
|
|
|
|
"bonfire.deps.clean": [
|
2022-10-14 05:11:56 +00:00
|
|
|
|
"deps.clean " <> Mixer.deps_to_clean(config(), :localise) <> " --build"
|
2022-09-12 04:34:14 +00:00
|
|
|
|
],
|
|
|
|
|
"bonfire.deps.clean.data": [
|
2022-10-14 05:11:56 +00:00
|
|
|
|
"deps.clean " <> Mixer.deps_to_clean(config(), :data) <> " --build"
|
2022-09-12 04:34:14 +00:00
|
|
|
|
],
|
|
|
|
|
"bonfire.deps.clean.api": [
|
2022-10-14 05:11:56 +00:00
|
|
|
|
"deps.clean " <> Mixer.deps_to_clean(config(), :api) <> " --build"
|
2022-09-12 04:34:14 +00:00
|
|
|
|
],
|
2023-02-16 01:38:03 +00:00
|
|
|
|
"bonfire.deps.compile": [
|
|
|
|
|
"deps.compile " <> Mixer.deps_to_update(config())
|
2022-09-12 04:34:14 +00:00
|
|
|
|
],
|
2022-03-06 00:32:13 +00:00
|
|
|
|
"ecto.seeds": [
|
2022-10-14 05:11:56 +00:00
|
|
|
|
"run #{Mixer.flavour_path(config())}/repo/seeds.exs"
|
2022-09-12 04:34:14 +00:00
|
|
|
|
],
|
2022-11-04 10:18:59 +00:00
|
|
|
|
updates: ["deps.get", "bonfire.deps.update"],
|
2021-05-16 08:34:50 +00:00
|
|
|
|
upgrade: ["updates", "ecto.migrate"],
|
2021-11-25 02:21:03 +00:00
|
|
|
|
"ecto.setup": ["ecto.create", "ecto.migrate"],
|
2022-12-06 10:35:18 +00:00
|
|
|
|
"ecto.migrate": ["bonfire.seeds"],
|
2022-01-09 10:19:16 +00:00
|
|
|
|
"ecto.reset": ["ecto.drop --force", "ecto.setup"],
|
2024-03-31 09:53:20 +00:00
|
|
|
|
"test.with-db": ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
|
2023-01-16 08:14:25 +00:00
|
|
|
|
sobelow: ["cmd mix sobelow"]
|
2021-05-16 08:34:50 +00:00
|
|
|
|
]
|
|
|
|
|
end
|
2020-08-05 07:39:59 +00:00
|
|
|
|
end
|