mix.exs (2662B)
1 # Zenflows is designed to implement the Valueflows vocabulary, 2 # written and maintained by srfsh <info@dyne.org>. 3 # Copyright (C) 2021-2023 Dyne.org foundation <foundation@dyne.org>. 4 # 5 # This program is free software: you can redistribute it and/or modify 6 # it under the terms of the GNU Affero General Public License as published by 7 # the Free Software Foundation, either version 3 of the License, or 8 # (at your option) any later version. 9 # 10 # This program is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU Affero General Public License for more details. 14 # 15 # You should have received a copy of the GNU Affero General Public License 16 # along with this program. If not, see <https://www.gnu.org/licenses/>. 17 18 defmodule Zenflows.MixProject do 19 use Mix.Project 20 21 def project() do 22 [ 23 app: :zenflows, 24 version: "0.1.0", 25 elixir: "~> 1.14", # erlang/otp 24-25 26 start_permanent: Mix.env() == :prod, 27 config_path: "conf/buildtime.exs", 28 deps: deps(), 29 releases: [ 30 zenflows: [ 31 include_executables_for: [:unix], 32 applications: [runtime_tools: :permanent], 33 ], 34 ], 35 default_release: :zenflows, 36 elixirc_paths: elixirc_paths(Mix.env()), 37 test_pattern: "*.test.exs", 38 warn_test_pattern: "*{.test.ex,_test.ex,_test.exs}", 39 40 # doc 41 name: "Zenflows", 42 source_url: "https://github.com/dyne/zenflows.git", 43 hompage_url: "https://github.com/dyne/zenflows", 44 docs: docs(), 45 ] 46 end 47 48 def application() do 49 [ 50 extra_applications: [:logger, :inets, :ssl], 51 mod: {Zenflows.Application, []}, 52 ] 53 end 54 55 defp deps() do 56 [ 57 # db 58 {:ecto_sql, "~> 3.9"}, 59 {:postgrex, ">= 0.0.0"}, 60 {:decimal, "~> 2.0"}, 61 62 # crypto 63 {:plug_crypto, "~> 1.2"}, 64 65 # http 66 {:plug_cowboy, "~> 2.6"}, 67 {:mint, "~> 1.4"}, 68 {:castore, "~> 0.1"}, 69 70 # graphql 71 {:absinthe, "~> 1.7"}, 72 {:absinthe_plug, "~> 1.5"}, 73 {:jason, "~> 1.4"}, 74 75 # live reload 76 {:exsync, "~> 0.2", only: :dev}, 77 78 # static analysis 79 {:credo, "~> 1.5", only: [:dev, :test], runtime: false}, 80 {:dialyxir, "~> 1.0", only: [:dev], runtime: false}, 81 82 # doc 83 {:ex_doc, "~> 0.29", only: :dev, runtime: false}, 84 ] 85 end 86 87 defp docs() do 88 [ 89 main: "readme", 90 source_ref: "master", 91 extra_section: "DOCS", 92 extras: [ 93 "README.md", 94 "docs/configuration-guide.md", 95 "docs/vf-intro-gql-iface.md", 96 "docs/software-licences.md", 97 "docs/dependency-management.md", 98 "docs/style-guide.md", 99 "docs/user-creation-flow.md", 100 "LICENSE", 101 "CONTRIBUTING.md", 102 ], 103 output: ".docs" 104 ] 105 end 106 107 defp elixirc_paths(:test), do: ["src/", "test/help/"] 108 defp elixirc_paths(_), do: ["src/"] 109 end