73 lines
1.5 KiB
Elixir
73 lines
1.5 KiB
Elixir
defmodule XLA.MixProject do
|
|
use Mix.Project
|
|
|
|
@version "0.8.0"
|
|
|
|
def project do
|
|
[
|
|
app: :xla,
|
|
version: @version,
|
|
description: "Precompiled XLA binaries",
|
|
elixir: "~> 1.12",
|
|
aliases: aliases(),
|
|
deps: deps(),
|
|
compilers: Mix.compilers() ++ if(build?(), do: [:elixir_make], else: []),
|
|
make_env: &XLA.make_env/0,
|
|
package: package(),
|
|
docs: docs()
|
|
]
|
|
end
|
|
|
|
def application do
|
|
[extra_applications: [:logger, :inets, :ssl, :public_key, :crypto]]
|
|
end
|
|
|
|
def aliases do
|
|
[
|
|
"hex.publish": [&ensure_checksum_file/1, "hex.publish"]
|
|
]
|
|
end
|
|
|
|
defp ensure_checksum_file(_) do
|
|
valid? =
|
|
case File.read("checksum.txt") do
|
|
{:ok, content} -> content =~ @version
|
|
{:error, :enoent} -> false
|
|
end
|
|
|
|
if not valid? do
|
|
raise "run mix xla.checksum before releasing"
|
|
end
|
|
end
|
|
|
|
defp deps do
|
|
[
|
|
{:elixir_make, "~> 0.4", runtime: false},
|
|
{:ex_doc, "~> 0.25", only: :dev, runtime: false}
|
|
]
|
|
end
|
|
|
|
def package do
|
|
[
|
|
licenses: ["Apache-2.0"],
|
|
links: %{
|
|
"GitHub" => "https://github.com/elixir-nx/xla"
|
|
},
|
|
files: ~w(extension lib Makefile mix.exs README.md LICENSE CHANGELOG.md checksum.txt)
|
|
]
|
|
end
|
|
|
|
def docs do
|
|
[
|
|
main: "readme",
|
|
source_url: "https://github.com/elixir-nx/xla",
|
|
source_ref: "v#{@version}",
|
|
extras: ["README.md"]
|
|
]
|
|
end
|
|
|
|
defp build?() do
|
|
System.get_env("XLA_BUILD") in ~w(1 true)
|
|
end
|
|
end
|