defmodule Journey.MixProject do use Mix.Project @version "0.10.39" def project do [ app: :journey, version: @version, elixir: "~> 1.18", elixirc_paths: elixirc_paths(Mix.env()), package: package(), start_permanent: Mix.env() == :prod, name: "Journey", docs: [ main: "readme", extras: [ "README.md", "BASIC_CONCEPTS.md", "MODULES_AND_FUNCTIONS.md", "LICENSE.md", "CHANGELOG.md", "MIGRATION_STRATEGY.md" ], groups_for_docs: [ "Graph Management": &(&1[:group] == "Graph Management"), "Execution Lifecycle": &(&1[:group] == "Execution Lifecycle"), "Value Operations": &(&1[:group] == "Value Operations"), "Data Retrieval": &(&1[:group] == "Data Retrieval"), Deprecated: &(&1[:group] == "Deprecated") ] ], test_coverage: [ summary: [ threshold: 81 ] ], deps: deps() ] end def package do [ name: "journey", description: "Journey is a library for defining and running self-computing dataflow graphs with persistence, reliability, and scalability.", licenses: ["Journey License"], links: %{ "GitHub" => "https://github.com/markmark206/journey", "License" => "https://github.com/markmark206/journey/blob/v#{@version}/LICENSE.md", "About" => "https://gojourney.dev" } ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger], mod: {Journey.Application, []} ] end # Specifies which paths to compile per environment. defp elixirc_paths(:test), do: ["lib", "test_load", "test/support"] defp elixirc_paths(_), do: ["lib", "test_load"] # Run "mix help deps" to learn about dependencies. defp deps do [ {:credo, "~> 1.7.12", only: [:dev, :test], runtime: false}, {:ecto, "~> 3.12 or ~> 3.13"}, {:ecto_sql, "~> 3.12 or ~> 3.13"}, {:ex_doc, "~> 0.38 or ~> 0.39", only: :dev, runtime: false}, {:keyword_validator, "~> 2.1.0"}, {:mix_test_watch, "~> 1.3", only: [:dev, :test], runtime: false}, {:nanoid, "~> 2.1.0"}, {:number, "~> 1.0.5"}, {:parent, "~> 0.12.1"}, {:postgrex, "~> 0.20 or ~> 0.21"}, {:wait_for_it, "~> 2.1", only: [:dev, :test], runtime: false} # {:dep_from_hexpm, "~> 0.3.0"}, # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"} ] end end