defmodule Foundry.MixProject do
use Mix.Project
def project do
[
app: :foundry,
version: "0.1.1",
build_path: "../../_build",
config_path: "config/config.exs",
deps_path: "../../deps",
lockfile: "../../mix.lock",
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
description: description(),
package: package()
]
end
defp description() do
"A governed build environment for Elixir/Ash/Phoenix platforms with system map extraction, governance lint, and runtime health monitoring."
end
defp package do
[
name: :foundry_stack,
licenses: ["Apache-2.0"],
links: %{
"GitHub" => "https://github.com/FoundryStack/foundry"
}
]
end
# Configuration for the OTP application.
#
# Type `mix help compile.app` for more information.
def application do
[
mod: {Foundry.Application, []},
extra_applications: [:logger, :runtime_tools]
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.
defp deps do
[
{:ash, "~> 3.20"},
{:ash_ai, "~> 0.6"},
{:ash_state_machine, "~> 0.2"},
{:ash_paper_trail, "~> 0.5"},
{:ash_archival, "~> 2.0"},
{:ash_diagram, "~> 0.1"},
{:ash_json_api, "~> 1.6"},
{:picosat_elixir, "~> 0.2"},
{:dns_cluster, "~> 0.2.0"},
{:phoenix_pubsub, "~> 2.1"},
{:jason, "~> 1.4"},
{:swoosh, "~> 1.23"},
{:req, "~> 0.5"},
{:req_llm, "~> 1.0"},
{:muontrap, "~> 1.8"},
{:ex_tracer, "~> 0.1"},
{:scenario_tracer, "~> 0.1"},
{:spark_meta, "~> 0.1"},
{:spark_lint, "~> 0.1"}
# {:scenario_tracer, path: "../../packages/scenario_tracer"},
# {:spark_meta, path: "../../packages/spark_meta"},
# {:spark_lint, path: "../../packages/spark_lint"}
]
end
# Aliases are shortcuts or tasks specific to the current project.
#
# See the documentation for `Mix` for more info on aliases.
defp aliases do
[
setup: ["deps.get"],
test: ["test"]
]
end
end