defmodule Lytedev.MixProject do use Mix.Project @src_path "src" @config_dir_path Path.join(@src_path, "config") @config_path Path.join(@config_dir_path, "config.exs") @test_path Path.join(@src_path, "test") @build_path "build" @deps_path Path.join(@build_path, "deps") @docs_path Path.join(@build_path, "docs") def deps, do: [ {:credo, "~> 1.5", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.0", only: [:dev], runtime: false}, {:ex_doc, "~> 0.23.0", only: :dev}, {:jason, "~> 1.0"}, {:finch, "~> 0.5"}, {:elli, "~> 3.0"}, ] def docs, do: [output: @docs_path] def project(), do: [ app: :lytedev, version: "0.1.0", elixir: "~> 1.7", elixirc_paths: [@src_path], config_path: @config_path, test_paths: [@test_path], start_permanent: true, build_path: @build_path, deps_path: @deps_path, deps: deps(), docs: docs(), releases: releases(), ] def application, do: [ mod: {Lytedev.Application, []}, extra_applications: [:logger], ] def releases, do: [ lytedev: [ include_executables_for: [:unix], applications: [runtime_tools: :permanent], strip_beams: true, path: Path.join(@build_path, "rel"), include_erts: true, rel_templates_path: Path.join(@src_path, "rel"), # overlays: ["src/static"], steps: [:assemble], runtime_config_path: Path.join(@config_dir_path, "release.exs"), ], ] end