Why &
ElixirConf 2015
wsmoak.net -> Talks
Ask Questions
Answer Questions
Write It Down
Reproduce Issues
Make Improvements
Add Features
Mailing Lists
(Google Groups)
Slack
IRC
Stack Overflow
Reply
Gist
Wiki
Blog
Docs
(and scroll down...)
I think there's an extra space...
# Specifies your project dependencies
#
# Type `mix help deps` for examples and options
defp deps do
[{:phoenix, "~> 0.14"},
{:phoenix_ecto, "~> 0.5"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 1.1"},
{:phoenix_live_reload, "~> 0.4", only: :dev},
{:cowboy, "~> 1.0"}]
end
# Specifies your project dependencies
#
# Type `mix help deps` for examples and options
defp deps do
[{:phoenix, github: "phoenixframework/phoenix"},
{:phoenix_ecto, "~> 0.5"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 1.1"},
{:phoenix_live_reload, "~> 0.4", only: :dev},
{:cowboy, "~> 1.0"}]
end
$ mix deps.get
$ git clone https://github.com/phoenixframework/phoenix.git
Cloning into 'phoenix'...
remote: Counting objects: 19702, done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 19702 (delta 13), reused 0 (delta 0), pack-reused 19649
Receiving objects: 100% (19702/19702), 3.65 MiB | 636.00 KiB/s, done.
Resolving deltas: 100% (12877/12877), done.
Checking connectivity... done.
$
$ cd phoenix/installer
$ mix phoenix.new --version
Phoenix v1.0.2
$ rm ~/.mix/archives/phoenix_new*
$ mix phoenix.new test_project --dev
$ mix phoenix.new test_project --dev
$ mix phoenix.new test_project --dev
$ mix phoenix.new test_project --dev
* creating test_project/config/config.exs
* creating test_project/config/dev.exs
* creating test_project/config/prod.exs
* creating test_project/config/prod.secret.exs
* creating test_project/config/test.exs
* creating test_project/lib/test_project.ex
* creating test_project/lib/test_project/endpoint.ex
* creating test_project/test/controllers/page_controller_test.exs
* creating test_project/test/views/error_view_test.exs
* creating test_project/test/views/page_view_test.exs
* creating test_project/test/views/layout_view_test.exs
* creating test_project/test/support/conn_case.ex
* creating test_project/test/support/channel_case.ex
* creating test_project/test/test_helper.exs
* creating test_project/web/channels/user_socket.ex
* creating test_project/web/controllers/page_controller.ex
* creating test_project/web/templates/layout/app.html.eex
* creating test_project/web/templates/page/index.html.eex
* creating test_project/web/views/error_view.ex
* creating test_project/web/views/layout_view.ex
* creating test_project/web/views/page_view.ex
* creating test_project/web/router.ex
* creating test_project/web/web.ex
* creating test_project/mix.exs
* creating test_project/README.md
* creating test_project/lib/test_project/repo.ex
* creating test_project/test/support/model_case.ex
* creating test_project/priv/repo/seeds.exs
* creating test_project/.gitignore
* creating test_project/brunch-config.js
* creating test_project/package.json
* creating test_project/web/static/css/app.css
* creating test_project/web/static/js/app.js
* creating test_project/web/static/js/socket.js
* creating test_project/web/static/assets/robots.txt
* creating test_project/web/static/assets/images/phoenix.png
* creating test_project/web/static/assets/favicon.ico
Fetch and install dependencies? [Yn] Y
* running npm install && node node_modules/brunch/bin/brunch build
* running mix deps.get
We are all set! Run your Phoenix application:
$ cd test_project
$ mix ecto.create
$ mix phoenix.server
You can also run your app inside IEx (Interactive Elixir) as:
$ iex -S mix phoenix.server
$
$ cd test_project
$ cat mix.exs
defmodule TestProject.Mixfile do
use Mix.Project
def project do
[app: :test_project,
version: "0.0.1",
elixir: "~> 1.0",
elixirc_paths: elixirc_paths(Mix.env),
compilers: [:phoenix] ++ Mix.compilers,
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
deps: deps]
end
# Configuration for the OTP application
#
# Type `mix help compile.app` for more information
def application do
[mod: {TestProject, []},
applications: [:phoenix, :phoenix_html, :cowboy, :logger,
:phoenix_ecto, :postgrex]]
end
# Specifies which paths to compile per environment
defp elixirc_paths(:test), do: ["lib", "web", "test/support"]
defp elixirc_paths(_), do: ["lib", "web"]
# Specifies your project dependencies
#
# Type `mix help deps` for examples and options
defp deps do
[{:phoenix, path: "../..", override: true},
{:phoenix_ecto, "~> 1.1"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.1"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:cowboy, "~> 1.0"}]
end
end
# Specifies your project dependencies
#
# Type `mix help deps` for examples and options
defp deps do
[{:phoenix, path: "../..", override: true},
{:phoenix_ecto, "~> 1.1"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.1"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:cowboy, "~> 1.0"}]
end
# Specifies your project dependencies
#
# Type `mix help deps` for examples and options
defp deps do
[{:phoenix, path: "../..", override: true},
{:phoenix_ecto, "~> 1.1"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.1"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:cowboy, "~> 1.0"}]
end
$ mix phoenix.server
$ git clone https://github.com/elixir-lang/elixir.git
Cloning into 'elixir'...
remote: Counting objects: 82650, done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 82650 (delta 23), reused 0 (delta 0), pack-reused 82573
Receiving objects: 100% (82650/82650), 29.89 MiB | 1.17 MiB/s, done.
Resolving deltas: 100% (45771/45771), done.
Checking connectivity... done.
$
$ cd elixir
$ make clean test
cd lib/elixir && "/Users/wsmoak/projects/elixir/rebar" clean
==> elixir (clean)
rm -rf ebin
rm -rf lib/*/ebin
rm -rf lib/elixir/test/ebin
rm -rf lib/*/tmp
rm -rf lib/mix/test/fixtures/git_repo
rm -rf lib/mix/test/fixtures/deps_on_git_repo
rm -rf lib/mix/test/fixtures/git_rebar
rm -rf lib/elixir/src/elixir.app.src
/Applications/Xcode.app/Contents/Developer/usr/bin/make clean_man
rm -f man/elixir.1
rm -f man/iex.1
==> elixir (compile)
Compiled src/elixir_parser.yrl
Compiled src/elixir_aliases.erl
Compiled src/elixir_bitstring.erl
Compiled src/elixir.erl
Compiled src/elixir_bootstrap.erl
Compiled src/elixir_code_server.erl
Compiled src/elixir_config.erl
Compiled src/elixir_counter.erl
Compiled src/elixir_clauses.erl
Compiled src/elixir_compiler.erl
Compiled src/elixir_def_defaults.erl
Compiled src/elixir_def_overridable.erl
Compiled src/elixir_env.erl
Compiled src/elixir_dispatch.erl
Compiled src/elixir_def.erl
Compiled src/elixir_errors.erl
Compiled src/elixir_exp_clauses.erl
Compiled src/elixir_fn.erl
Compiled src/elixir_exp.erl
Compiled src/elixir_import.erl
Compiled src/elixir_for.erl
Compiled src/elixir_lexical.erl
Compiled src/elixir_locals.erl
Compiled src/elixir_map.erl
Compiled src/elixir_interpolation.erl
Compiled src/elixir_module.erl
Compiled src/elixir_rewrite.erl
Compiled src/elixir_scope.erl
Compiled src/elixir_sup.erl
Compiled src/elixir_quote.erl
Compiled src/elixir_translator.erl
Compiled src/elixir_try.erl
Compiled src/elixir_utils.erl
Compiled src/elixir_tokenizer.erl
Compiled src/elixir_parser.erl
==> bootstrap (compile)
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/module/locals_tracker.ex
Compiled lib/elixir/lib/kernel/def.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/behaviour.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/stream/reducers.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/inspect/algebra.ex
Compiled lib/elixir/lib/inspect.ex
Compiled lib/elixir/lib/range.ex
Compiled lib/elixir/lib/regex.ex
Compiled lib/elixir/lib/string.ex
Compiled lib/elixir/lib/string/chars.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/file.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel/lexical_tracker.ex
==> elixir (compile)
Compiled lib/kernel.ex
Compiled lib/atom.ex
Compiled lib/bitwise.ex
Compiled lib/behaviour.ex
Compiled lib/access.ex
Compiled lib/agent.ex
Compiled lib/application.ex
Compiled lib/code.ex
Compiled lib/collectable.ex
Compiled lib/float.ex
Compiled lib/base.ex
lib/file/stream.ex:68: warning: behaviour Enumerable undefined
Compiled lib/file/stream.ex
Compiled lib/dict.ex
lib/gen_event/stream.ex:58: warning: behaviour Enumerable undefined
Compiled lib/gen_event/stream.ex
Compiled lib/gen_server.ex
Compiled lib/agent/server.ex
Compiled lib/integer.ex
Compiled lib/file.ex
Compiled lib/io.ex
Compiled lib/hash_dict.ex
Compiled lib/inspect/algebra.ex
Compiled lib/io/ansi.ex
Compiled lib/kernel/def.ex
Compiled lib/io/stream.ex
Compiled lib/kernel/error_handler.ex
Compiled lib/kernel/lexical_tracker.ex
Compiled lib/io/ansi/docs.ex
Compiled lib/kernel/parallel_require.ex
Compiled lib/kernel/parallel_compiler.ex
Compiled lib/kernel/cli.ex
Compiled lib/kernel/special_forms.ex
Compiled lib/inspect.ex
Compiled lib/keyword.ex
Compiled lib/list.ex
Compiled lib/macro/env.ex
Compiled lib/map.ex
Compiled lib/enum.ex
Compiled lib/kernel/typespec.ex
Compiled lib/list/chars.ex
Compiled lib/exception.ex
Compiled lib/node.ex
Compiled lib/module/locals_tracker.ex
Compiled lib/port.ex
Compiled lib/option_parser.ex
Compiled lib/module.ex
Compiled lib/path.ex
Compiled lib/range.ex
Compiled lib/process.ex
Compiled lib/record/extractor.ex
Compiled lib/macro.ex
Compiled lib/record.ex
Compiled lib/stream/reducers.ex
Compiled lib/protocol.ex
Compiled lib/set.ex
Compiled lib/file/stat.ex
Compiled lib/kernel.ex
Compiled lib/regex.ex
Compiled lib/map_set.ex
Compiled lib/hash_set.ex
Compiled lib/supervisor/default.ex
Compiled lib/gen_event.ex
Compiled lib/string_io.ex
Compiled lib/supervisor.ex
Compiled lib/task/supervised.ex
Compiled lib/supervisor/spec.ex
Compiled lib/string/chars.ex
Compiled lib/tuple.ex
Compiled lib/task/supervisor.ex
Compiled lib/task.ex
Compiled lib/system.ex
Compiled lib/uri.ex
Compiled lib/string.ex
Compiled lib/stream.ex
Compiled lib/version.ex
==> unicode (compile)
Embedding the Unicode database... (this may take a while)
Compiled unicode/unicode.ex
==> elixir (compile)
==> eex (compile)
Compiled lib/eex/engine.ex
Compiled lib/eex/smart_engine.ex
Compiled lib/eex/tokenizer.ex
Compiled lib/eex/compiler.ex
Compiled lib/eex.ex
==> mix (compile)
Compiled lib/mix/config/agent.ex
Compiled lib/mix/archive.ex
Compiled lib/mix.ex
Compiled lib/mix/compilers/erlang.ex
Compiled lib/mix/cli.ex
Compiled lib/mix/compilers/elixir.ex
Compiled lib/mix/dep/umbrella.ex
Compiled lib/mix/config.ex
Compiled lib/mix/dep/lock.ex
Compiled lib/mix/generator.ex
Compiled lib/mix/dep/converger.ex
Compiled lib/mix/hex.ex
Compiled lib/mix/public_key.ex
Compiled lib/mix/local.ex
Compiled lib/mix/remote_converger.ex
Compiled lib/mix/project_stack.ex
Compiled lib/mix/dep.ex
Compiled lib/mix/dep/loader.ex
Compiled lib/mix/rebar.ex
Compiled lib/mix/scm.ex
Compiled lib/mix/scm/path.ex
Compiled lib/mix/project.ex
Compiled lib/mix/exceptions.ex
Compiled lib/mix/shell.ex
Compiled lib/mix/dep/fetcher.ex
Compiled lib/mix/state.ex
Compiled lib/mix/shell/process.ex
Compiled lib/mix/shell/io.ex
Compiled lib/mix/scm/git.ex
Compiled lib/mix/tasks_server.ex
Compiled lib/mix/task.ex
Compiled lib/mix/tasks/local.ex
Compiled lib/mix/tasks/local.rebar.ex
Compiled lib/mix/tasks/local.public_keys.ex
Compiled lib/mix/tasks/loadconfig.ex
Compiled lib/mix/tasks/loadpaths.ex
Compiled lib/mix/tasks/run.ex
Compiled lib/mix/tasks/local.hex.ex
Compiled lib/mix/tasks/deps.update.ex
Compiled lib/mix/tasks/deps.unlock.ex
Compiled lib/mix/tasks/test.ex
Compiled lib/mix/tasks/iex.ex
Compiled lib/mix/tasks/do.ex
Compiled lib/mix/tasks/profile.fprof.ex
Compiled lib/mix/tasks/deps.loadpaths.ex
Compiled lib/mix/tasks/deps.ex
Compiled lib/mix/tasks/help.ex
Compiled lib/mix/tasks/deps.get.ex
Compiled lib/mix/tasks/deps.clean.ex
Compiled lib/mix/utils.ex
Compiled lib/mix/tasks/deps.check.ex
Compiled lib/mix/tasks/compile.yecc.ex
Compiled lib/mix/tasks/escript.build.ex
Compiled lib/mix/tasks/compile.ex
Compiled lib/mix/tasks/deps.compile.ex
Compiled lib/mix/tasks/compile.erlang.ex
Compiled lib/mix/tasks/compile.leex.ex
Compiled lib/mix/tasks/compile.protocols.ex
Compiled lib/mix/tasks/cmd.ex
Compiled lib/mix/tasks/compile.all.ex
Compiled lib/mix/tasks/clean.ex
Compiled lib/mix/tasks/compile.elixir.ex
Compiled lib/mix/tasks/archive.ex
Compiled lib/mix/tasks/archive.uninstall.ex
Compiled lib/mix/tasks/archive.build.ex
Compiled lib/mix/tasks/compile.app.ex
Compiled lib/mix/tasks/archive.install.ex
Compiled lib/mix/tasks/app.start.ex
Compiled lib/mix/tasks/new.ex
Generated mix app
==> ex_unit (compile)
Compiled lib/ex_unit/case_template.ex
Compiled lib/ex_unit/capture_log.ex
Compiled lib/ex_unit/capture_io.ex
Compiled lib/ex_unit/callbacks.ex
Compiled lib/ex_unit/case.ex
Compiled lib/ex_unit/event_manager.ex
Compiled lib/ex_unit/on_exit_handler.ex
Compiled lib/ex_unit/runner_stats.ex
Compiled lib/ex_unit.ex
Compiled lib/ex_unit/filters.ex
Compiled lib/ex_unit/server.ex
Compiled lib/ex_unit/assertions.ex
Compiled lib/ex_unit/formatter.ex
Compiled lib/ex_unit/runner.ex
Compiled lib/ex_unit/doc_test.ex
Compiled lib/ex_unit/cli_formatter.ex
Generated ex_unit app
==> logger (compile)
Compiled lib/logger/app.ex
Compiled lib/logger/backends/console.ex
Compiled lib/logger/formatter.ex
Compiled lib/logger/config.ex
Compiled lib/logger/utils.ex
Compiled lib/logger.ex
Compiled lib/logger/translator.ex
Compiled lib/logger/watcher.ex
Compiled lib/logger/error_handler.ex
Generated logger app
Generated eex app
==> iex (compile)
Compiled lib/iex/remsh.ex
Compiled lib/iex/app.ex
Compiled lib/iex/cli.ex
Compiled lib/iex.ex
Compiled lib/iex/history.ex
Compiled lib/iex/evaluator.ex
Compiled lib/iex/config.ex
Compiled lib/iex/autocomplete.ex
Compiled lib/iex/server.ex
Compiled lib/iex/helpers.ex
Compiled lib/iex/introspection.ex
Generated iex app
==> elixir (eunit)
All 199 tests passed.
==> elixir (exunit)
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Finished in 13.8 seconds (9.2s on load, 4.6s on tests)
2016 tests, 0 failures
Randomized with seed 489273
==> ex_unit (exunit)
.....................................................................................................................................................................
Finished in 2.3 seconds (1.2s on load, 1.0s on tests)
165 tests, 0 failures
Randomized with seed 838692
==> logger (exunit)
.......................................................................................
Finished in 1.2 seconds (0.8s on load, 0.3s on tests)
87 tests, 0 failures
Randomized with seed 149832
==> doctest (exunit)
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Finished in 10.8 seconds (10.5s on load, 0.2s on tests)
870 tests, 0 failures
Randomized with seed 582651
==> mix (exunit)
................................................................................................................................................................................................................................................................................
Finished in 31.1 seconds (2.7s on load, 28.3s on tests)
272 tests, 0 failures
Randomized with seed 157277
==> eex (exunit)
.....................................................................
Finished in 0.6 seconds (0.6s on load, 0.04s on tests)
69 tests, 0 failures
Randomized with seed 581809
==> iex (exunit)
..............................................................................
Finished in 1.6 seconds (0.6s on load, 0.9s on tests)
78 tests, 0 failures
Randomized with seed 719841
$
Randomized with seed 157277
==> eex (exunit)
.....................................................................
Finished in 0.6 seconds (0.6s on load, 0.04s on tests)
69 tests, 0 failures
Randomized with seed 581809
==> iex (exunit)
..............................................................................
Finished in 1.6 seconds (0.6s on load, 0.9s on tests)
78 tests, 0 failures
Randomized with seed 719841
$
$ export ELIXIR_HOME=/Users/wsmoak/projects/elixir/bin
$ export PATH=$ELIXIR_HOME:$PATH
$ export ELIXIR_HOME=/Users/wsmoak/projects/elixir/bin
$ export PATH=$ELIXIR_HOME:$PATH
$ which elixir
/Users/wsmoak/projects/elixir/bin/elixir
$ elixir -v
Elixir 1.2.0-dev
$ git clone --branch v1.1.0-rc.0 \
https://github.com/elixir-lang/elixir.git \
elixir-v1.1.0-rc.0
Cloning into 'elixir-v1.1.0-rc.0'...
remote: Counting objects: 83050, done.
remote: Compressing objects: 100% (113/113), done.
remote: Total 83050 (delta 54), reused 0 (delta 0), pack-reused 82937
Receiving objects: 100% (83050/83050), 30.51 MiB | 1.20 MiB/s, done.
Resolving deltas: 100% (46032/46032), done.
Checking connectivity... done.
Note: checking out '0e3c06b03149022b980e69872003d401c4788fea'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
$
$ cd elixir-v1.1.0-rc.0
$ make clean test
$ cd ..
$ git clone git://github.com/elixir-lang/ex_doc.git
Cloning into 'ex_doc'...
remote: Counting objects: 7195, done.
remote: Compressing objects: 100% (334/334), done.
remote: Total 7195 (delta 154), reused 0 (delta 0), pack-reused 6859
Receiving objects: 100% (7195/7195), 2.32 MiB | 145.00 KiB/s, done.
Resolving deltas: 100% (3742/3742), done.
Checking connectivity... done.
$
$ cd ex_doc
$ ../elixir/bin/mix do deps.get, compile
$ ../elixir/bin/mix do deps.get, compile
$ ../elixir/bin/mix do deps.get, compile
$ ../elixir/bin/mix do deps.get, compile
* Getting markdown (https://github.com/devinus/markdown.git)
Cloning into '/Users/wsmoak/projects/ex_doc/deps/markdown'...
remote: Counting objects: 99, done.
remote: Total 99 (delta 0), reused 0 (delta 0), pack-reused 99
Checking connectivity... done.
* Getting hoedown (https://github.com/hoedown/hoedown.git)
Cloning into '/Users/wsmoak/projects/ex_doc/deps/hoedown'...
remote: Counting objects: 2940, done.
remote: Total 2940 (delta 0), reused 0 (delta 0), pack-reused 2940
Receiving objects: 100% (2940/2940), 913.78 KiB | 1.10 MiB/s, done.
Resolving deltas: 100% (1786/1786), done.
Checking connectivity... done.
Running dependency resolution
* Getting earmark (Hex package)
Checking package (https://s3.amazonaws.com/s3.hex.pm/tarballs/earmark-0.1.17.tar)
Using locally cached package
Unpacked package tarball (/Users/wsmoak/.hex/packages/earmark-0.1.17.tar)
* Getting excoveralls (Hex package)
Checking package (https://s3.amazonaws.com/s3.hex.pm/tarballs/excoveralls-0.3.11.tar)
Using locally cached package
Unpacked package tarball (/Users/wsmoak/.hex/packages/excoveralls-0.3.11.tar)
* Getting hackney (Hex package)
Checking package (https://s3.amazonaws.com/s3.hex.pm/tarballs/hackney-1.3.2.tar)
Using locally cached package
Unpacked package tarball (/Users/wsmoak/.hex/packages/hackney-1.3.2.tar)
* Getting exjsx (Hex package)
Checking package (https://s3.amazonaws.com/s3.hex.pm/tarballs/exjsx-3.2.0.tar)
Using locally cached package
Unpacked package tarball (/Users/wsmoak/.hex/packages/exjsx-3.2.0.tar)
* Getting jsx (Hex package)
Checking package (https://s3.amazonaws.com/s3.hex.pm/tarballs/jsx-2.6.2.tar)
Using locally cached package
Unpacked package tarball (/Users/wsmoak/.hex/packages/jsx-2.6.2.tar)
* Getting ssl_verify_hostname (Hex package)
Checking package (https://s3.amazonaws.com/s3.hex.pm/tarballs/ssl_verify_hostname-1.0.5.tar)
Using locally cached package
Unpacked package tarball (/Users/wsmoak/.hex/packages/ssl_verify_hostname-1.0.5.tar)
* Getting idna (Hex package)
Checking package (https://s3.amazonaws.com/s3.hex.pm/tarballs/idna-1.0.2.tar)
Using locally cached package
Unpacked package tarball (/Users/wsmoak/.hex/packages/idna-1.0.2.tar)
==> earmark
Compiled lib/earmark/cli.ex
Compiled lib/earmark/context.ex
Compiled lib/earmark.ex
Compiled lib/earmark/helpers.ex
Compiled lib/earmark/inline.ex
Compiled lib/earmark/parser.ex
Compiled lib/earmark/line.ex
Compiled lib/earmark/html_renderer.ex
Compiled lib/earmark/block.ex
Generated earmark app
==> ex_doc
Compiled lib/ex_doc/markdown/earmark.ex
Compiled lib/ex_doc/markdown/hoedown.ex
Compiled lib/ex_doc/markdown.ex
Compiled lib/ex_doc/cli.ex
Compiled lib/ex_doc/markdown/pandoc.ex
Compiled lib/ex_doc.ex
Compiled lib/mix/tasks/docs.ex
Compiled lib/ex_doc/formatter/html.ex
Compiled lib/ex_doc/retriever.ex
Compiled lib/ex_doc/formatter/html/templates.ex
Compiled lib/ex_doc/formatter/html/autolink.ex
Generated ex_doc app
$
$ cd ../elixir
$ make docs
==> elixir (compile)
==> ex_doc (elixir)
bin/elixir ../ex_doc/bin/ex_doc "Elixir" "1.2.0-dev" "lib/elixir/ebin"
-m "Kernel" -u "https://github.com/elixir-lang/elixir" --source-ref
"7ba752e0381d24361347d2071527a2e6874d97ee" -o doc/elixir -p
http://elixir-lang.org/docs.html
==> ex_doc (eex)
bin/elixir ../ex_doc/bin/ex_doc "EEx" "1.2.0-dev" "lib/eex/ebin" -m
"EEx" -u "https://github.com/elixir-lang/elixir" --source-ref
"7ba752e0381d24361347d2071527a2e6874d97ee" -o doc/eex -p
http://elixir-lang.org/docs.html
==> ex_doc (mix)
bin/elixir ../ex_doc/bin/ex_doc "Mix" "1.2.0-dev" "lib/mix/ebin" -m
"Mix" -u "https://github.com/elixir-lang/elixir" --source-ref
"7ba752e0381d24361347d2071527a2e6874d97ee" -o doc/mix -p
http://elixir-lang.org/docs.html
==> ex_doc (iex)
bin/elixir ../ex_doc/bin/ex_doc "IEx" "1.2.0-dev" "lib/iex/ebin" -m
"IEx" -u "https://github.com/elixir-lang/elixir" --source-ref
"7ba752e0381d24361347d2071527a2e6874d97ee" -o doc/iex -p
http://elixir-lang.org/docs.html
==> ex_doc (ex_unit)
bin/elixir ../ex_doc/bin/ex_doc "ExUnit" "1.2.0-dev" "lib/ex_unit/ebin" -m
"ExUnit" -u "https://github.com/elixir-lang/elixir" --source-ref
"7ba752e0381d24361347d2071527a2e6874d97ee" -o doc/ex_unit -p
http://elixir-lang.org/docs.html
==> ex_doc (logger)
bin/elixir ../ex_doc/bin/ex_doc "Logger" "1.2.0-dev" "lib/logger/ebin" -m
"Logger" -u "https://github.com/elixir-lang/elixir" --source-ref
"7ba752e0381d24361347d2071527a2e6874d97ee" -o doc/logger -p
http://elixir-lang.org/docs.html
$ ls doc
eex elixir ex_unit iex logger mix
$ open doc/elixir/index.html
(Maybe...)
http://wsmoak.net/2015/09/08/building-elixir-from-source.html
http://wsmoak.net/2015/08/17/phoenix-bleeding-edge.html
http://www.jeramysingleton.com/phoenix-templates-are-just-functions/
- elixir-talk or phoenix-talk
- wsmoak@gmail.com
- http://wsmoak.net
- @wsmoak
- wsmoak on IRC and Slack
Adapted from Laura Thomson's
Getting Started to Contributing to Open Source
https://www.youtube.com/watch?v=gpWTIrb5cNg
$ git grep 1.1.0-beta
CHANGELOG.md:## v1.1.0-beta (2015-09-05)
VERSION:1.1.0-beta
src/elixir.app.src: {vsn, "1.1.0-beta"},
$ vi -b VERSION
1.1.0-20150912
~
~
~
~
~
:wq
$ vi src/elixir.app.src
{application, elixir,
[{description, "elixir"},
{vsn, "1.1.0-20150912"}
{modules, [
elixir
]},
{registered, [elixir_config, elixir_code_server]},
{applications, [kernel,stdlib,compiler]},
{mod, {elixir,[]}},
{env, [{ansi_enabled, false}]}
]}.
~
~
:wq
$ git diff
diff --git a/VERSION b/VERSION
index 2ff3577..f40650e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.1.0-beta
\ No newline at end of file
+1.1.0-20150912
\ No newline at end of file
diff --git a/src/elixir.app.src b/src/elixir.app.src
index 3c099d4..1b97b77 100644
--- a/src/elixir.app.src
+++ b/src/elixir.app.src
@@ -1,6 +1,6 @@
{application, elixir,
[{description, "elixir"},
- {vsn, "1.1.0-beta"},
+ {vsn, "1.1.0-20150912"},
{modules, [
elixir
]},
$ git diff
diff --git a/VERSION b/VERSION
index 2ff3577..f40650e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.1.0-beta
\ No newline at end of file
+1.1.0-20150912
\ No newline at end of file
diff --git a/src/elixir.app.src b/src/elixir.app.src
index 3c099d4..1b97b77 100644
--- a/src/elixir.app.src
+++ b/src/elixir.app.src
@@ -1,6 +1,6 @@
{application, elixir,
[{description, "elixir"},
- {vsn, "1.1.0-beta"},
+ {vsn, "1.1.0-20150912"},
{modules, [
elixir
]},
$ make clean test
[...]
$ elixir -v
Elixir 1.1.0-20150912