Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Zmex.MixProject do
use Mix.Project
@name "Zmex"
@version "0.1.1"
@repository "https://github.com/e2enterprises/zmex"
defp description() do
"IF by NIF: Call a Rust Z-Machine from Elixir and run classic text-adventure games (Inform v4, v5, v8)"
end
def project do
[
app: :zmex,
description: description(),
version: @version,
elixir: "~> 1.15",
start_permanent: Mix.env() == :prod,
package: package(),
docs: docs(),
deps: deps(),
# Docs (see https://github.com/elixir-lang/ex_doc)
name: @name,
source_url: @repository,
homepage_url: @repository
]
end
defp package() do
[
maintainers: ["Evan Campbell Purcer"],
licenses: ["MIT"],
links: %{"GitHub" => @repository},
files:
default_files() ++
[
"native/encrusted_nif/Cargo.toml",
"native/encrusted_nif/Cargo.lock",
"native/encrusted_nif/src",
"native/encrusted_nif/encrusted-heart/Cargo.toml",
"native/encrusted_nif/encrusted-heart/Cargo.lock",
"native/encrusted_nif/encrusted-heart/src",
"native/encrusted_nif/encrusted-heart/tests/advent.z3",
"native/encrusted_nif/encrusted-heart/LICENSE"
]
# Extend default :files list to include Rust source code necessary
# to build Encrusted Heart NIFs.
]
end
def default_files() do
# From Hex.Package: https://github.com/hexpm/hex/blob/main/lib/hex/package.ex#L4
~w(lib priv .formatter.exs mix.exs README* LICENSE*)
end
defp docs() do
[
main: Zmex,
# TODO
# logo: nil
before_closing_head_tag: &DryDoc.before_closing_head_tag_hide_pages_tab/1,
before_closing_body_tag: &DryDoc.before_closing_body_tag_expand_sections_list/1
]
end
defp deps do
[
{:rustler, "~> 0.38.0"},
{:ex_doc, "~> 0.34", only: :dev, runtime: false},
{:dry_doc, "~> 0.1.1"}
]
end
def application, do: [extra_applications: extra_applications(Mix.env())]
# enable :httpc use during tests to download any missing story files:
defp extra_applications(:test), do: [:inets, :ssl]
defp extra_applications(_env), do: []
end