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 {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, 48 {:drinkup, "~> 0.1"}, 49 {:typedstruct, "~> 0.5"} 50 ] 51 end 52 53 # Aliases are shortcuts or tasks specific to the current project. 54 # For example, to install project dependencies and perform other setup tasks, run: 55 # 56 # $ mix setup 57 # 58 # See the documentation for `Mix` for more info on aliases. 59 defp aliases do 60 lexicon_paths = Path.wildcard("../../packages/lexicons/defs/**/*.json") 61 62 [ 63 setup: ["deps.get", "ecto.setup"], 64 "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], 65 "ecto.reset": ["ecto.drop", "ecto.setup"], 66 test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], 67 "gen.lexicons": ["lexgen" | lexicon_paths] |> Enum.join(" ") 68 ] 69 end 70end