defmodule Bingex.MixProject do use Mix.Project @version "0.3.4" def project do [ app: :bingex, version: @version, elixir: "~> 1.18", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, consolidate_protocols: Mix.env() != :dev, description: description(), package: package(), deps: deps(), docs: docs(), files: ~w(lib .formatter.exs mix.exs README* LICENSE*), name: "Bingex" ] end # Specifies which paths to compile per environment. defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger] ] end defp description() do "Bingex - library for BingX API." end defp package do [ licenses: ["GPL-3.0-or-later"], links: %{"GitLab" => "https://gitlab.com/wit_solutions/bingex"}, maintainers: ["centuriononon"] ] end defp deps() do [ {:websockex, "~> 0.4.3"}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:ex_doc, "~> 0.30", only: :dev, runtime: false}, {:dialyxir, "~> 1.3", only: [:dev], runtime: false}, {:req, "~> 0.5.15"} ] end defp docs do [ source_ref: "v#{@version}", groups_for_modules: groups_for_modules() ] end defp groups_for_modules do [ "Common Models": [ Bingex.Model.Order ], "User API": [ Bingex.User ], "User Models": [ Bingex.User.Model.ReferralInfo ], "User API Data": [ Bingex.User.Data.GenerateListenKey, Bingex.User.Data.GetReferrals, Bingex.User.Data.GetReferral, Bingex.User.Data.GetUID ], "Swap API": [ Bingex.Swap, Bingex.Swap.PriceSocket, Bingex.Swap.EventSocket ], "Swap Models": [ Bingex.Swap.Model.AccountEvent, Bingex.Swap.Model.ConfigEvent, Bingex.Swap.Model.TradeEvent, Bingex.Swap.Model.PriceEvent, Bingex.Swap.Model.OrderInfo, Bingex.Swap.Model.DetailedOrderInfo, Bingex.Swap.Model.PositionInfo, Bingex.Swap.Model.PositionUpdate, Bingex.Swap.Model.DetailedPositionUpdate, Bingex.Swap.Model.WalletUpdate, Bingex.Swap.Model.BalanceInfo, Bingex.Swap.Model.QuoteInfo, Bingex.Swap.Model.ContractInfo, Bingex.Swap.Model.IncomeInfo ], "Swap API Data": [ Bingex.Swap.Data.CancelAllOrders, Bingex.Swap.Data.CloseAllPositions, Bingex.Swap.Data.GetBalance, Bingex.Swap.Data.GetContracts, Bingex.Swap.Data.GetLeverage, Bingex.Swap.Data.GetOrdersHistory, Bingex.Swap.Data.GetPositions, Bingex.Swap.Data.GetPositionsHistory, Bingex.Swap.Data.GetQuotes, Bingex.Swap.Data.GetServerTime, Bingex.Swap.Data.PlaceOrder, Bingex.Swap.Data.PlaceOrders, Bingex.Swap.Data.PlaceTestOrder, Bingex.Swap.Data.SetLeverage, Bingex.Swap.Data.GetIncomeHistory ], API: [ Bingex.API.Error, Bingex.API.Reply ], HTTP: [ Bingex.HTTP, Bingex.HTTP.Error, Bingex.HTTP.Request, Bingex.HTTP.Response ], Types: [ Bingex.Types ] ] end end