On Github wsmoak / htcep
Why &
ElixirConf 2015
Welcome. Excited To Be Here. How To Contribute Beginner Level Talk Never Contributed Beforewsmoak.net -> Talks
Lots of Shell Commands & Output Don't Try To Write Them Down Blog -> Talks page Would Love To Run WorkshopAsk Questions
Answer Questions
Write It Down
Reproduce Issues
Make Improvements
Add Features
Writing - important for a Language/Framework this young Features as separate projectsMailing Lists
(Google Groups)
Slack
IRC
Stack Overflow
Reply
Gist
Wiki
Blog
Docs
Slack IRC - Messages Disappear Blog - Jeramy Singleton learned from Chris -> Elixir Radar(and scroll down...)
PreviewI think there's an extra space...
reality: they ask for changes "squash your commits" ask for help email me
# 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
mix.exs file
# 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
Point Phoenix dependency at GitHub
$ mix deps.get
Need to run mix deps.get to fetch the code
$ 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/installerMust be in this directory Will not work elsewhere
$ mix phoenix.new --version
Phoenix v1.0.2Which code is this?
$ rm ~/.mix/archives/phoenix_new*Must delete any installed version.
$ mix phoenix.new test_project --devAfter deleting, create a project
$ mix phoenix.new test_project --devThe same phoenix.new mix command
$ mix phoenix.new test_project --devThe usual, name of the project
$ mix phoenix.new test_project --devUsing the --dev switch
* 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
$
Normal phoenix.new output
to Fetch and install dependencies? Y
$ 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
drop into test_project directory
look at mix.exs
# 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
relative path!
# 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
make sure no other dep sets the version to something else
$ 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 $No Syntax Highlighting Dots should all be green If Not Open Issue
$ 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:$PATHPut ELIXIR_HOME in front
$ 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> $ominous warning... can be safely ignored
$ cd elixir-v1.1.0-rc.0 $ make clean testSame steps from here -- build and fix up environment Report back either way!
$ cd ..
We are in elixir dir
need to be in parent dir
$ 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
executes the mix we just built
$ ../elixir/bin/mix do deps.get, compile
the 'do' task takes a comma delimited list of tasks
$ ../elixir/bin/mix do deps.get, compilethe list of tasks to execute
* 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
$
Now ExDoc is built and we can
$ 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...)
Whatever Skills You Bring Or Want To Learn You Are Welcome Herehttp://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'sGetting 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