if bootstrap = System.get_env("MIX_WORKSPACE_OPS_BOOTSTRAP"), do: Code.require_file(bootstrap) defmodule ExecutionPlaneHttp.MixProject do use Mix.Project @version "0.1.0" @source_url "https://github.com/nshkrdotcom/execution_plane" @execution_plane_version "~> 0.3.0" def project do [ app: :execution_plane_http, name: "ExecutionPlaneHttp", version: @version, elixir: "~> 1.18", start_permanent: Mix.env() == :prod, description: "Execution Plane unary HTTP lower transport and intent helper.", package: package(), docs: docs(), dialyzer: dialyzer(), deps: deps(), aliases: aliases() ] end def application do [ extra_applications: [:inets, :logger, :ssl] ] end defp deps do [ execution_plane_dep(), {:jason, "~> 1.4.5"}, {:ex_doc, "~> 0.40.4", only: :dev, runtime: false}, {:credo, "~> 1.7.19", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4.8", only: [:dev, :test], runtime: false} ] end defp execution_plane_dep do workspace_dep({:execution_plane, @execution_plane_version}) end defp workspace_dep(committed) do if function_exported?(MixWorkspaceOpsBootstrap, :dep, 2), do: apply(MixWorkspaceOpsBootstrap, :dep, [committed, __DIR__]), else: committed end defp package do [ maintainers: ["nshkrdotcom"], name: "execution_plane_http", licenses: ["MIT"], links: %{"GitHub" => @source_url}, files: ~w(.formatter.exs CHANGELOG.md LICENSE README.md assets guides lib mix.exs) ] end defp docs do [ main: "readme", source_ref: "main", source_url: @source_url, logo: "assets/execution_plane_http.svg", assets: %{"assets" => "assets"}, extras: [ {"README.md", title: "Overview", filename: "readme"}, {"CHANGELOG.md", title: "Changelog", filename: "changelog"}, {"LICENSE", title: "License", filename: "license"}, {"guides/index.md", title: "Guide Index", filename: "guides_index"}, {"guides/installation.md", title: "Installation", filename: "installation"}, {"guides/usage.md", title: "Usage", filename: "usage"}, {"guides/publishing.md", title: "Publishing", filename: "publishing"} ], groups_for_extras: [ Package: ["README.md", "CHANGELOG.md", "LICENSE"], Guides: [ "guides/index.md", "guides/installation.md", "guides/usage.md", "guides/publishing.md" ] ] ] end defp dialyzer do [ plt_add_apps: [:mix, :ex_unit], plt_core_path: "priv/plts/core", plt_local_path: "priv/plts", flags: [:error_handling, :underspecs] ] end defp aliases do [ ci: [ "format --check-formatted", "compile --warnings-as-errors", "cmd env MIX_ENV=test mix test", "credo --strict", "cmd env MIX_ENV=test mix dialyzer --force-check", "docs --warnings-as-errors" ] ] end end