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"}] endmix.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"}] endPoint Phoenix dependency at GitHub
$ mix deps.getNeed 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 enddrop 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"}] endrelative 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"}] endmake 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, compileexecutes the mix we just built
$ ../elixir/bin/mix do deps.get, compilethe '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