Packages

Guesswork is a logic programming library for Elixir. It is heavily inspired by Prolog, but attempts to use idiomatic Elixir when expressing problems and their solutions.

Current section

Files

Jump to
guesswork mix.exs
Raw

mix.exs

defmodule Guesswork.MixProject do
use Mix.Project
def project do
[
app: :guesswork,
version: "0.6.0",
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
description: description(),
package: package(),
deps: deps(),
dialyzer: [
plt_file: {:no_warn, "priv/plts/project.plt"}
],
# Docs
name: "Guesswork",
source_url: "https://gitlab.com/smaller-infinity/guesswork",
homepage_url: "https://gitlab.com/smaller-infinity/guesswork",
docs: [
# The main page in the docs
main: "Guesswork",
extras: ["README.md"] ++ example_files()
]
]
end
defp package do
[
licenses: ["MPL-2.0"],
files: ~w(lib .formatter.exs mix.exs README* LICENSE* CHANGELOG* examples),
links: %{"GitLab" => "https://gitlab.com/smaller-infinity/guesswork"}
]
end
defp description do
"""
Guesswork is a logic programming library for Elixir.
It is heavily inspired by Prolog, but attempts to use idiomatic Elixir when
expressing problems and their solutions.
"""
end
defp example_files do
File.ls!("./examples")
|> Enum.map(&"examples/#{&1}")
end
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
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:stream_split, "~> 0.1.0"},
{:benchee, "~> 1.0", only: :dev},
{:nimble_options, "~> 1.1"},
{:telemetry, "~> 1.0"},
{:doctest_formatter, "~> 0.3.0", runtime: false, only: :dev},
{:ex_doc, "~> 0.31", only: :dev, runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:uuid, "~> 1.1"},
{:kino, "~> 0.13"}
]
end
end