mix.ex - バージョン番号の自動生成と Elixir Release Manager の導入
defmodule ExampleApp.Mixfile do | |
use Mix.Project | |
def project do | |
[ | |
app: :example_app, | |
version: version(), | |
elixir: "~> 1.2.0", | |
elixirc_paths: elixirc_paths(Mix.env), | |
compilers: [:phoenix, :gettext] ++ Mix.compilers, | |
build_embedded: Mix.env == :prod, | |
start_permanent: Mix.env == :prod, | |
aliases: aliases, | |
deps: deps | |
] | |
end | |
defp version do | |
{{year, month, day}, {hour, minute, _}} = :calendar.local_time() | |
version = :io_lib.format("~4..0B.~2..0B~2..0B.~2..0B~2..0B", [year, month, day, hour, minute]) | |
|> List.flatten | |
|> to_string | |
File.write! "VERSION", version | |
version | |
end | |
def application do | |
[ | |
mod: {ExampleApp, []}, | |
applications: [ | |
:phoenix, | |
:phoenix_html, | |
:cowboy, | |
:logger, | |
:gettext, | |
:phoenix_ecto, | |
:postgrex, | |
:conform, | |
:conform_exrm | |
] | |
] | |
end | |
defp elixirc_paths(:test), do: ["lib", "web", "test/support"] | |
defp elixirc_paths(_), do: ["lib", "web"] | |
defp deps do | |
[ | |
{:phoenix, "~> 1.1.3"}, | |
{:phoenix_ecto, "~> 2.0"}, | |
{:postgrex, "0.10.0"}, | |
{:phoenix_html, "~> 2.3"}, | |
{:phoenix_live_reload, "~> 1.0", only: :dev}, | |
{:gettext, "~> 0.9"}, | |
{:cowboy, "~> 1.0"}, | |
{:exrm, "~> 1.0.0-rc7", override: true}, | |
{:conform, "~> 1.0.0-rc8", override: true}, | |
{:conform_exrm, "~> 0.2.0"} | |
] | |
end | |
defp aliases do | |
["ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], | |
"ecto.reset": ["ecto.drop", "ecto.setup"]] | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment