Music streaming on ATProto!
1defmodule Comet.MixProject do 2 use Mix.Project 3 4 def project do 5 [ 6 app: :comet, 7 version: "0.1.0", 8 elixir: "~> 1.14", 9 elixirc_paths: elixirc_paths(Mix.env()), 10 start_permanent: Mix.env() == :prod, 11 aliases: aliases(), 12 deps: deps() 13 ] 14 end 15 16 # Configuration for the OTP application. 17 # 18 # Type `mix help compile.app` for more information. 19 def application do 20 [ 21 mod: {Comet.Application, []}, 22 extra_applications: [:logger, :runtime_tools] 23 ] 24 end 25 26 # Specifies which paths to compile per environment. 27 defp elixirc_paths(:test), do: ["lib", "test/support"] 28 defp elixirc_paths(_), do: ["lib"] 29 30 # Specifies your project dependencies. 31 # 32 # Type `mix help deps` for examples and options. 33 defp deps do 34 [ 35 {:phoenix, "~> 1.7.21"}, 36 {:phoenix_ecto, "~> 4.5"}, 37 {:ecto_sql, "~> 3.10"}, 38 {:postgrex, ">= 0.0.0"}, 39 {:phoenix_live_dashboard, "~> 0.8.3"}, 40 {:telemetry_metrics, "~> 1.0"}, 41 {:telemetry_poller, "~> 1.0"}, 42 {:jason, "~> 1.2"}, 43 {:dns_cluster, "~> 0.1.1"}, 44 {:bandit, "~> 1.5"}, 45 {:lexgen, "~> 1.0.0", only: [:dev]}, 46 {:req, "~> 0.5.0"}, 47 {:typedstruct, "~> 0.5"} 48 ] 49 end 50 51 # Aliases are shortcuts or tasks specific to the current project. 52 # For example, to install project dependencies and perform other setup tasks, run: 53 # 54 # $ mix setup 55 # 56 # See the documentation for `Mix` for more info on aliases. 57 defp aliases do 58 lexicon_paths = Path.wildcard("../../packages/lexicons/defs/**/*.json") 59 60 [ 61 setup: ["deps.get", "ecto.setup"], 62 "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], 63 "ecto.reset": ["ecto.drop", "ecto.setup"], 64 test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], 65 "gen.lexicons": ["lexgen" | lexicon_paths] |> Enum.join(" ") 66 ] 67 end 68end