Skip to content

Commit

Permalink
Replace deprecated use Mix.Config with import Config (#918)
Browse files Browse the repository at this point in the history
The `use Mix.Config` method has been deprecated. The new `import Config`
method has been available since Elixir 1.9, which is the oldest version
we support.

> The [Config](https://hexdocs.pm/elixir/main/Config.html#content)
> module in Elixir was introduced in v1.9 as a replacement to use
> Mix.Config, which was specific to Mix and has been deprecated.

https://hexdocs.pm/elixir/main/Config.html

---------

Co-authored-by: Tom de Bruijn <tom@tomdebruijn.com>
  • Loading branch information
nallwhy and tombruijn committed Feb 7, 2024
1 parent 1a544fe commit 1566a4a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
6 changes: 6 additions & 0 deletions .changesets/update-mix-config-import.md
@@ -0,0 +1,6 @@
---
bump: "patch"
type: "change"
---

Update the Mix config import in the `config/appsignal.exs` file to use `import Config`, rather than the deprecated `use Mix.Config`.
4 changes: 2 additions & 2 deletions lib/mix/tasks/appsignal.install.ex
Expand Up @@ -207,7 +207,7 @@ defmodule Mix.Tasks.Appsignal.Install do
end

true ->
case File.write(config_file_path(), "use Mix.Config\n#{active_content}") do
case File.write(config_file_path(), "import Config\n#{active_content}") do
:ok ->
IO.puts("Success!")

Expand Down Expand Up @@ -246,7 +246,7 @@ defmodule Mix.Tasks.Appsignal.Install do
end

"""
use Mix.Config
import Config
config :appsignal, :config,
#{options_with_active}
Expand Down
12 changes: 6 additions & 6 deletions test/mix/tasks/appsignal_install_test.exs
Expand Up @@ -185,7 +185,7 @@ defmodule Mix.Tasks.Appsignal.InstallTest do

assert String.contains?(
appsignal_config,
~s(use Mix.Config\n\n) <>
~s(import Config\n\n) <>
~s(config :appsignal, :config,\n) <>
~s( otp_app: :appsignal,\n) <>
~s( name: "AppSignal test suite app",\n) <>
Expand Down Expand Up @@ -224,7 +224,7 @@ defmodule Mix.Tasks.Appsignal.InstallTest do

assert String.contains?(
appsignal_config,
~s(use Mix.Config\n\n) <>
~s(import Config\n\n) <>
~s(config :appsignal, :config,\n) <>
~s( active: true,\n) <>
~s( otp_app: :appsignal,\n) <>
Expand Down Expand Up @@ -262,7 +262,7 @@ defmodule Mix.Tasks.Appsignal.InstallTest do

assert String.contains?(
File.read!(Path.join(@test_config_directory, "config.exs")),
~s(use Mix.Config\n\nimport_config "appsignal.exs")
~s(import Config\n\nimport_config "appsignal.exs")
)
end

Expand All @@ -271,7 +271,7 @@ defmodule Mix.Tasks.Appsignal.InstallTest do
@test_config_directory
|> Path.join("config.exs")
|> File.open!([:write])
|> IO.binwrite(~s(use Mix.Config\n# config\nimport_config "appsignal.exs"))
|> IO.binwrite(~s(import Config\n# config\nimport_config "appsignal.exs"))
|> File.close()

@test_config_directory
Expand Down Expand Up @@ -339,7 +339,7 @@ defmodule Mix.Tasks.Appsignal.InstallTest do
directory
|> Path.join("#{env}.exs")
|> File.open!([:write])
|> IO.binwrite("use Mix.Config\n# #{env}")
|> IO.binwrite("import Config\n# #{env}")
|> File.close()
end

Expand All @@ -348,7 +348,7 @@ defmodule Mix.Tasks.Appsignal.InstallTest do
defp config_active_for_env?(env) do
case File.read(Path.join(@test_config_directory, "#{env}.exs")) do
{:ok, env_config} ->
String.contains?(env_config, ~s(use Mix.Config\n# #{env}\n)) &&
String.contains?(env_config, ~s(import Config\n# #{env}\n)) &&
String.contains?(env_config, ~s(\nconfig :appsignal, :config, active: true))

{:error, _} ->
Expand Down

0 comments on commit 1566a4a

Please sign in to comment.