defmodule BinanceSpot.MixProject do use Mix.Project @version "0.0.1-dev" @source_url "https://github.com/theorycraft-trading/binance_spot" @homepage_url "https://theorycraft-trading.com" def project() do [ app: :binance_spot, version: @version, elixir: "~> 1.18", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), aliases: aliases(), # elixirc_options: [warnings_as_errors: true], dialyzer: [plt_add_apps: [:mix]], # Docs name: "BinanceSpot", source_url: @source_url, homepage_url: @homepage_url, description: "Download and stream historical and live price data for Binance Spot (trades, aggregate trades and klines) with TheoryCraft.", package: package(), docs: docs() ] end def cli() do [preferred_envs: [ci: :test]] end def application() do [ extra_applications: [:logger], mod: {BinanceSpot.Application, []} ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] def aliases() do [ ci: ["format", "credo", "test"] ] end defp deps() do [ # {:theory_craft, github: "theorycraft-trading/theory_craft"}, {:theory_craft, "~> 0.1.0-dev"}, {:req, "~> 0.5"}, {:nimble_options, "~> 1.1"}, {:simple_enum, "~> 0.1"}, ## Dev/Test {:ex_doc, "~> 0.39", only: :dev, runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, ## Test {:plug, "~> 1.16", only: :test} ] end defp package() do [ files: ["lib", "priv", "mix.exs", "README.md", "CHANGELOG.md", "LICENSE"], licenses: ["Apache-2.0"], links: %{ "Website" => @homepage_url, "GitHub" => @source_url, "Changelog" => "#{@source_url}/blob/v#{@version}/CHANGELOG.md" }, maintainers: ["DarkyZ aka NotAVirus"] ] end defp docs() do [ main: "readme", source_ref: "v#{@version}", source_url: @source_url, extras: ["README.md", "LICENSE"], skip_undefined_reference_warnings_on: ["CHANGELOG.md"] ] end end