Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Easel.MixProject do
use Mix.Project
@version "0.3.3"
@source_url "https://github.com/jasonstiebs/easel"
def project do
[
app: :easel,
version: @version,
elixir: "~> 1.18",
start_permanent: Mix.env() == :prod,
deps: deps(),
aliases: aliases(),
test_paths: ["test"],
test_pattern: "*_test.exs",
description: description(),
package: package(),
docs: docs()
]
end
def application do
[
extra_applications: [:logger] ++ optional_apps()
]
end
defp optional_apps do
if match?({:module, _}, Code.ensure_compiled(:wx)), do: [:wx], else: []
end
defp deps do
[
{:phoenix_live_view, "~> 1.0", optional: true},
{:termite, "~> 0.4.0", optional: true},
{:ex_doc, "~> 0.34", only: :dev, runtime: false}
]
end
defp aliases do
[
"easel.regen_canvas_api": [
"cmd elixir scripts/regenerate_canvas_api.exs",
"format lib/easel.ex lib/web_idl.ex.exs"
],
"easel.regen_web_idl_parser": ["easel.regen_canvas_api"]
]
end
defp description do
"""
Canvas 2D API for Elixir. Build draw operations as data, render to
Phoenix LiveView, native wx windows, terminal (experimental), or your own backend.
"""
end
defp package do
[
licenses: ["MIT"],
links: %{"GitHub" => @source_url},
files: ~w(lib priv/compat.json priv/easel.webidl priv/static mix.exs README.md LICENSE)
]
end
defp docs do
[
main: "readme",
extras: ["README.md"],
source_url: @source_url,
source_ref: "v#{@version}"
]
end
end