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