Skip to content

1.9.0 mix release doesn't work well with included_application #9163

@sunboshan

Description

@sunboshan

Environment

  • Elixir & Erlang/OTP versions (elixir --version): otp 22.0.4/elixir 1.9.0
  • Operating system: darwin

Current behavior

mix.exs

  defp deps do
    [
      {:geolix, "~> 0.18.0"},
    ]
  end
➜ mix deps.get
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  geolix 0.18.0
  mmdb2_decoder 1.0.1
  poolboy 1.5.2
* Getting geolix (Hex package)
* Getting mmdb2_decoder (Hex package)
* Getting poolboy (Hex package)

tmp/ex/a via 💧 v1.9.0 took 2s
➜ MIX_ENV=prod mix release
===> Compiling poolboy
==> mmdb2_decoder
Compiling 5 files (.ex)
Generated mmdb2_decoder app
==> geolix
Compiling 38 files (.ex)
Generated geolix app
==> a
Compiling 1 file (.ex)
Generated a app
* assembling a-0.1.0 on MIX_ENV=prod
* skipping runtime configuration (config/releases.exs not found)
** (Mix) Undefined applications: [mmdb2_decoder]

Here's the mix.exs from geolix dep


  def application do
    [
      applications: [:logger, :poolboy],
      included_applications: [:mmdb2_decoder],
      mod: {Geolix, []}
    ]
  end

The workaround here is simply move included_applications to applications like this in the library

  def application do
    [
      applications: [:logger, :poolboy, :mmdb2_decoder],
      included_applications: [],
      mod: {Geolix, []}
    ]
  end

I'm not sure if this is a mix bug, or it should be fixed on the library part. But for now, the mix release is not working well with libraries that using included_application.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions