defmodule Mix.Tasks.Compile.Comeonin do @shortdoc "Compiles Comeonin" def run(_) do File.mkdir("priv") if match? {:win32, _}, :os.type do {result, _error_code} = System.cmd("nmake", ["/F", "Makefile.win", "priv\\bcrypt_nif.dll"], stderr_to_stdout: true) Mix.shell.info result else {result, _error_code} = System.cmd("make", ["priv/bcrypt_nif.so"], stderr_to_stdout: true) Mix.shell.info result end end end defmodule Comeonin.Mixfile do use Mix.Project @description """ Password authorization (bcrypt, pbkdf2_sha512) library for Elixir. """ def project do [ app: :comeonin, version: "0.2.2", elixir: "~> 1.0", name: "Comeonin", description: @description, package: package, source_url: "https://github.com/elixircnx/comeonin", compilers: [:comeonin, :elixir, :app], deps: deps ] end def application do [applications: [:crypto, :logger]] end defp deps do [ {:earmark, "~> 0.1", only: :dev}, {:ex_doc, "~> 0.7", only: :dev} ] end defp package do [ files: ["lib", "c_src", "mix.exs", "Makefile*", "README.md", "LICENSE"], contributors: ["David Whitlock", "Ben Sharman"], licenses: ["BSD"], links: %{"GitHub" => "https://github.com/elixircnx/comeonin", "Docs" => "http://hexdocs.pm/comeonin"} ] end end