defmodule Ccxt.MixProject do use Mix.Project @version "0.1.0-binance-pro-preview" @source_url "https://github.com/ccxt/ccxt" @description "Binance-first Elixir target generated from CCXT TypeScript sources, including CCXT Pro websocket support." def project do [ app: :ccxt, version: @version, elixir: "~> 1.16", name: "CCXT Elixir", description: @description, start_permanent: Mix.env() == :prod, deps: deps(), package: package(), docs: docs() ] end def application do [ mod: {Ccxt.Application, []}, extra_applications: [:logger, :inets, :ssl, :crypto, :telemetry] ] end defp deps do [ {:jason, "~> 1.4"}, {:telemetry, "~> 1.0"}, {:websockex, "~> 0.4"}, {:ex_doc, "~> 0.34", only: :dev, runtime: false} ] end defp package do [ licenses: ["MIT"], links: %{ "CCXT" => @source_url, "Elixir target docs" => "https://github.com/ccxt/ccxt/tree/master/elixir/doc" }, files: [ "lib", "priv", "doc", "mix.exs", "README.md" ] ] end defp docs do [ main: "readme", output: "_build/docs", source_url: @source_url, extras: [ "README.md", "doc/binance-pro-api-reference.md", "doc/real-project-integration.md", "doc/release-checklist.md", "doc/release-0.1.0-binance-pro-preview.md", "doc/ccxt-pro-elixir-target.md", "doc/ccxt-pro-cache-parity.md", "doc/ccxt-pro-lifecycle-coverage.md", "doc/ccxt-pro-structure-coverage.md", "doc/ccxt-structure-schema.md", "doc/binance-live-testing.md" ], groups_for_extras: [ "User guide": [ "README.md", "doc/binance-pro-api-reference.md", "doc/real-project-integration.md", "doc/release-checklist.md", "doc/release-0.1.0-binance-pro-preview.md" ], "Coverage evidence": [ "doc/ccxt-pro-elixir-target.md", "doc/ccxt-pro-cache-parity.md", "doc/ccxt-pro-lifecycle-coverage.md", "doc/ccxt-pro-structure-coverage.md", "doc/ccxt-structure-schema.md", "doc/binance-live-testing.md" ] ], skip_undefined_reference_warnings_on: [ "doc/ccxt-pro-elixir-target.md", "doc/ccxt-pro-cache-parity.md", "doc/ccxt-pro-lifecycle-coverage.md", "doc/release-0.1.0-binance-pro-preview.md" ], groups_for_modules: [ "CCXT Pro": [ Ccxt.Pro, Ccxt.Pro.Binance, Ccxt.Pro.Connection, Ccxt.Pro.ArrayCache, Ccxt.Pro.IndexedArrayCache, Ccxt.Pro.TimestampArrayCache, Ccxt.Pro.CacheUpdates, Ccxt.Pro.OrderCache, Ccxt.Pro.PositionCache, Ccxt.ProLifecycleCoverage ], "Structure persistence": [ Ccxt.StructureCoverage, Ccxt.StructureNormalizer, Ccxt.StructurePersistence, Ccxt.StructureSchema ], "Generated REST target": [ Ccxt.Exchanges.Binance, Ccxt.Raw.Binance, Ccxt.HttpExecutor, Ccxt.RawEndpoint, Ccxt.RawPayload, Ccxt.Transpiled.Runtime ] ] ] end end