Commit Graph
1381 Commits
Author SHA1 Message Date
José Valim 94de6615d7 Consolidation is now on by default 2015-10-10 16:00:13 -05:00
José Valim fd72cb37cc Remove unecessary System.put_env 2015-10-07 17:37:12 -05:00
José Valim accf687a0d Do not recur on non recursive tasks 2015-10-07 15:36:10 -05:00
José Valim 8298041cbc Make tests that assert consolidation more robust 2015-10-06 22:59:19 -05:00
José Valim 245094f665 Use fixtures only when necessary 2015-10-06 19:24:32 -05:00
José Valim 3f9602bf82 Add tests for always on consolidation 2015-10-06 18:33:35 -05:00
José Valim 578800734f Cache and always consolidate protocols 2015-10-05 23:03:08 -05:00
José Valim 3f1bc7c9bb Split ElixirSCM and Lock manifests apart 2015-10-05 23:03:08 -05:00
José Valim 2e1ce93210 Add protocol information to manifests 2015-10-05 23:03:08 -05:00
José Valim c8172c8341 Do not delete only information from deps
If we delete this information, we lose the environments the
dependency has been originally restricted to, raising improper
error messages.
2015-09-29 17:25:17 +02:00
José Valim d5fe8eb068 Add a test for umbrellas with build embedded 2015-09-28 23:52:55 +02:00
José Valim 293933b813 Ensure stacktraces are shown on app_path failures 2015-09-28 20:38:17 +02:00
eksperimental 369c252b1a Remove trailing semicolong from summaries 2015-09-26 17:36:11 +07:00
eksperimental 1ca942b29a Improve Summaries
It splits the long summaries
and other fixes
2015-09-26 13:25:53 +07:00
José Valim ff51926fe8 Move away from HashDict and HashSet 2015-09-25 12:46:22 +02:00
José Valim f524f25c58 Require Erlang 18.0 forward 2015-09-25 12:01:10 +02:00
José Valim 8a48b1dae7 Mention config/config.exs in warning 2015-09-23 23:23:06 +02:00
José Valim a96db0fc3e Link to the public keys page 2015-09-23 15:58:34 +02:00
José Valim 25b813c4e6 Make a distinction between touching and updating the lock manifest
Previously, deps.compile would update the parent project
lock manifest, which updated its Elixir version and made
it impossible to detect later on that we were upgrading
from a previous Elixir version.

This commit adds the ability to both touch and update
the manifest file and change deps.compile to only touch
it.
2015-09-17 13:10:40 +02:00
José Valim 73b64cbe44 Make test that relies on shared dir sync 2015-09-15 16:34:34 +02:00
José Valim 01052ba4ff Improve deps.compile error message 2015-09-15 16:13:56 +02:00
Eric Meadows-Jönsson e04ea0c684 Fetch archive/escript with version in filename 2015-09-15 15:35:49 +02:00
José Valim ae61d0a73e Merge pull request #3735 from whatyouhide/mix-shell-docs
Polish docs for Mix.shell and Mix.Shell.Process
2015-09-15 09:03:59 +02:00
Eric Meadows-Jönsson c7b91c5104 Fix invalid String.to_atom calls 2015-09-15 00:31:19 +02:00
Andrea Leopardi bedc3584cf Polish docs for Mix.shell and Mix.Shell.Process
I just tried to make docs more verbose and clear.
2015-09-15 00:20:44 +02:00
José Valim 62baed24a8 Default to universal times throughout File 2015-09-14 14:28:29 +02:00
José Valim af3b7e2352 Merge pull request #3730 from eksperimental/mix_help
Several standardization fixes
2015-09-13 23:59:09 +02:00
eksperimental 79d184190d correct tenses in Agent, Mix.Dep, GenServer docs
fix
2015-09-14 03:41:04 +07:00
eksperimental 08de436432 "mix deps.clean": Reword docs to make it consitent with "mix clean"
Use "delete" instead of "remove" just to make it consitent with "mix clean"
$ mix help
mix clean             # Deletes generated application files
2015-09-14 02:15:23 +07:00
José Valim 9d0fc2c2b5 Merge pull request #3729 from eksperimental/hex_title_case
Title case Hex
2015-09-13 21:08:41 +02:00
eksperimental b8d254ac06 Title case Hex 2015-09-14 01:42:52 +07:00
eksperimental 067b7ec63f Mix.Dep: show instructions on :nolock and :lockoutdated 2015-09-13 22:27:20 +07:00
Andrea Leopardi f683c4e18b Mention how to write docs for public Mix tasks
You have to write a @moduledoc in order to show some documentation when
users do `mix help my_task`.
2015-09-13 11:26:32 +02:00
José Valim a0e1f16c48 Ensure File.touch and File.touch! properly work with universal time
Operations that change mtime should work with universal times.

Closes #3722.
2015-09-11 23:45:47 +02:00
José Valim 1cddf5a491 Update CHANGELOG 2015-09-11 23:12:17 +02:00
José Valim 6ca584bac9 Merge pull request #3717 from whatyouhide/mix-tasks-with-slashes
Raise right away for Mix tasks with slashes
2015-09-11 23:10:36 +02:00
Eric Meadows-Jönsson 37180623a4 Merge pull request #3716 from eksperimental/mix_raise_rephrase
Rephrase @doc for Mix.raise/2
2015-09-11 15:46:56 +02:00
Chris Gaudreau 32ec7d539f Rephrase @moduledoc for Mix 2015-09-11 10:20:27 -03:00
eksperimental a624573757 Replace all occurrences of em-dashes in favour of hyphens 2015-09-11 19:47:24 +07:00
Andrea Leopardi 7ca76c16b0 Raise right away for Mix tasks with slashes 2015-09-11 14:43:02 +02:00
eksperimental 10c9db4689 Rephrase @doc for Mix.raise/2
Put it in a better way.

Closes: https://github.com/elixir-lang/elixir/issues/3696
2015-09-11 19:19:43 +07:00
eksperimental ed5671b4f8 Standardize use of backticks and quotes; including Error messages and Title Case commands
This is a large commit that does the following:
* Removes backticks from messages and comments.
  All references to backticks have been replaced with double quotes everywhere the
  code is not interpreted as Markdown, (ie. anywhere outside documentation and
  markdown files, such as in code comments, or error messages).

* Variables in Exception messages are printed using `inspect`
  The way no-matching error message are printed, have changed because now we use inspect for printing
  variables. The following file and their respective test have been changed:
  - lib/elixir/lib/exception.ex
  - lib/elixir/lib/inspect/algebra.ex
  - lib/elixir/test/elixir/inspect_test.exs
  - lib/ex_unit/test/ex_unit/formatter_test.exs
  - lib/elixir/test/elixir/exception_test.exs

* Properly use Title Case for Mix, Git, Dializer

* Use backticks when citing a command

****************************************************
CONVENTION FOR RENAMING USING BACKTICKS AND QUOTES

https://github.com/elixir-lang/elixir/pull/3697#issuecomment-138811747

1. Backticks should never be printed in error messages, neither be included anywhere where Markdown code is not interpreted as such.

2. Do not use single quotes anywhere. We should favor double quotes everywhere, to avoid confusion

3. If you want to format something in error messages, use inspect. For example, if you want to show the dependency name and that is an atom, instead of the dependency "foo", let's show the dependency :foo. Less noise and may click better

4. Similarly, if you want to show something with double quotes, call inspect, as it handles escaping as well as the quotes

5. Things like "--all" just add verbosity, we can definitely read --all without ambiguity.

6. When using switches with a single hyphen (such as "-o"), we can make it explicit in the text: e.g. "... give the switch -o when choosing ..."

****************************************************
SHELL COMMANDS TO DETECT CODE BREAKING THE RULES

* Detect values surrounded by single-quotes where we want double-quotes.

    # regular variables
    ag "'#{"
    # constants or ENV variables
    ag "'[A-Z][A-Z0-9_-]+"
    # switches
    ag -i "(?<!(\[))'--?[a-z0-9][a-z0-9_-]+'"
    # atoms
    ag -i "(?<!(\[))':[a-z0-9][a-z0-9_-]+'"

    # DETECT BACKTICKS OUTSIDE DOCS
    ag "^\s+(?<!(#))#[^#\r\n]*\`" --ignore "*.md"
    ag '^\s+["%].*`' --ignore "*.md"
    ag -s '(raise|Error)\b(?!(`|/)).*\`'

* Spot mentions to running a command that is not using backticks:

    commands="elixir|elixirc|mix|iex|ex_doc|git|make|rebar|dialyzer|erl|rm|cd|mkdir|rmdir|ln|ls|pwd"
    actions="runs?|running|executes?|executing|types?|typing|enters?|entering|calls?|calling"
    ag '(?i)('${actions}')(?-i)\b[^`\r\n/]+[\ \t]+(?!(`))('${commands}')'
    ag '(?-i)\b(?!(`))('${commands}')[\ \t]+[^`\r\n/]+(?i)(commands?)'

* Spot where a command is mentioned:

    #commands="erlang|elixir|eex|iex|ex_unit|ex_doc|logger|elixirc|git|make|rebar|dialyzer|erl|rm|cd|mkdir|rmdir|ln|ls|pwd"
    commands="mix|elixirc|git|make|rebar|dialyzer|erl|rm|cd|mkdir|rmdir|ln|ls|pwd"
    ag -s '(?<!(\`))(?<!(\.))(?<!(/))(?<!(:))(?<!(_))\b('${commands}')\b(?!(:))(?!(\?))(?!(_))(?!(-))(?!(\.))(?!(\`))(?!(/))(?!(>))' \
    --ignore "*.erl" --ignore "*.yrl" --ignore "*.src"
2015-09-11 18:49:51 +07:00
José Valim 21ff94de1f Only warn if no test pattern matches due to umbrella apps 2015-09-11 11:48:11 +02:00
José Valim 38a2520809 Only warn apps that come from the current project stack, closes #3710 2015-09-11 11:06:46 +02:00
José Valim f858ccf205 Use Mix.shell.error for fprof warning 2015-09-09 09:23:59 +02:00
José Valim 8ca5758414 Merge pull request #3694 from eksperimental/corrections2
Use Title Case and backticks for Erlang and Elixir applications
2015-09-08 23:11:07 +02:00
eksperimental 7b2fa9192a Use Title Case and backticks for Erlang and Elixir applications
It includes Erlang, Elixir, ExUnit, ExDoc, Logger, IEx, elixirc

It leaves Mix for a different PR.

Command to spot these words:

    ag -s '(?<!(\`))(?<!(\.))(?<!(/))(?<!(:))(?<!(_))(erlang|elixir|eex|iex|ex_unit|ex_doc|logger|elixirc)(?!(:))(?!(\?))(?!(_))(?!(-))(?!(\.))(?!(\`))(?!(/))(?!(>))' \
    --ignore "*.erl" --ignore "*.yrl" --ignore "*.src"
2015-09-09 01:51:22 +07:00
eksperimental f2074a9065 Correct descriptions in docs to use Present Continuous (2)
Corrects a few more cases that were not caught by the previous PR
https://github.com/elixir-lang/elixir/pull/3682

Command:

  ignore_words="a|an|the|in|exception|helper|callback|front-end|same|when|where|what|functionality|elixir|erlang|eex|iex|logger|environment|module|similar|\w+-like|opposite|boolean|current|information|basic|public|if|unless|otherwise|regular|internal|convenience|given|welcome to|shortcut to|writable|user|system|low-level|pipe operator|supervisor|administrator"
  ag "(@(module|short)?doc)\s+(~[Ss])?([\"']{3})(\r|\n|.)\s*+((?!((?i)${ignore_words}(?-i)))[\w'-]+)(?<!(s))(?<!(ed))(?<!(ity))(?<!(ally))(?<!(ily))(?<!(ely))(?=[\s\r\n,:.])"
2015-09-09 00:13:32 +07:00
José Valim 7dd1c9df5b Merge pull request #3691 from eksperimental/erlang_function_urls
Add text to all links
2015-09-08 19:00:51 +02:00
eksperimental 06d94f5b90 Add text to all links
This commits covers 100% of all links in the documentation,
using a words to describe what the page is about.

It users the `:module.function/arity` format for erlang functions that
link to the earlang docs.

I also changed some of the sentnces using the link from
- See [:erlang.function/2](http://...) for a list of available options.

to
- For a list of available options, see [:erlang.function/2](http://...)

The reasoning behind is that I think it's better to have an link at the end of the sentence
and not in the middle, so the reades doesn't need to finish the sentence to know what is it about and go back
and find the link. This way all the information is given before the link, so the users stops reading and can
click directly.
2015-09-08 23:16:14 +07:00