Skip to content

Commit

Permalink
Support --no-listeners in loadpaths
Browse files Browse the repository at this point in the history
  • Loading branch information
josevalim committed Feb 21, 2025
1 parent d747809 commit 930ec69
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/mix/lib/mix/tasks/deps.loadpaths.ex
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ defmodule Mix.Tasks.Deps.Loadpaths do
* `--no-compile` - does not compile even if files require compilation
* `--no-deps-check` - does not check or compile deps, only load available ones
* `--no-elixir-version-check` - does not check Elixir version
* `--no-listeners` - does not start Mix listeners
* `--no-optional-deps` - does not compile or load optional deps
"""
Expand Down Expand Up @@ -71,7 +72,9 @@ defmodule Mix.Tasks.Deps.Loadpaths do

# For now we only allow listeners defined in dependencies, so
# we start them right after adding adding deps to the path
Mix.PubSub.start_listeners()
if "--no-listeners" not in args do
Mix.PubSub.start_listeners()
end

:ok
end
Expand Down
1 change: 1 addition & 0 deletions lib/mix/lib/mix/tasks/loadpaths.ex
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ defmodule Mix.Tasks.Loadpaths do
* `--no-compile` - does not compile dependencies, only check and load them
* `--no-deps-check` - does not check dependencies, only load available ones
* `--no-elixir-version-check` - does not check Elixir version
* `--no-listeners` - does not start Mix listeners
* `--no-optional-deps` - does not compile or load optional deps
"""
Expand Down
4 changes: 4 additions & 0 deletions lib/mix/test/mix/tasks/compile_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,10 @@ defmodule Mix.Tasks.CompileTest do
File.write!("src/b.erl", "-module(b).")
File.write!("src/c.erl", "-module(c).")

# Ensure we can boot with compilation and listeners if desired
assert mix(["loadpaths", "--no-compile", "--no-listeners"]) == ""

# Now setup dependencies
mix(["deps.compile"])

parent = self()
Expand Down

0 comments on commit 930ec69

Please sign in to comment.