defmodule ArkePostgres.MixProject do use Mix.Project @version "0.7.0" @scm_url "https://github.com/arkemis/arke-postgres" @site_url "https://arkehub.com" def project do [ app: :arke_postgres, version: @version, build_path: "./_build", config_path: "./config/config.exs", deps_path: "./deps", lockfile: "./mix.lock", elixir: "~> 1.16", source_url: @scm_url, homepage_url: @site_url, description: description(), package: package(), start_permanent: Mix.env() == :prod, deps: deps(), elixirc_paths: elixirc_paths(Mix.env()), aliases: aliases(), versioning: versioning() ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp aliases do [ test: [ "ecto.drop -r ArkePostgres.Repo", "ecto.create -r ArkePostgres.Repo", &seed_test_db/1, "test" ] ] end defp seed_test_db(_args) do for project <- ["arke_system", "test_schema"] do Mix.Task.rerun("arke_postgres.create_project", ["--id", project]) Mix.Task.rerun("arke.seed_project", ["--project", project]) end end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger], mod: {ArkePostgres.Application, []} ] end defp versioning do [ tag_prefix: "v", commit_msg: "v%s", annotation: "tag release-%s created with mix_version", annotate: true ] end # Run "mix help deps" to learn about dependencies. defp deps do List.flatten([ {:ecto_sql, "~> 3.14"}, {:postgrex, ">= 0.0.0"}, {:jason, "~> 1.2"}, {:ex_doc, "~> 0.28", only: :dev, runtime: false}, {:credo, "~> 1.6", only: [:dev, :test], runtime: false}, {:arke, "~> 0.8.0"} ]) end defp description() do "Arke postgres" end defp package() do [ # This option is only needed when you don't want to use the OTP application name name: "arke_postgres", files: ~w(lib priv mix.exs README* LICENSE* CHANGELOG* usage-rules.md usage-rules), licenses: ["Apache-2.0"], links: %{ "Website" => @site_url, "Github" => @scm_url } ] end end