Skip to content

Conversation

@mergify
Copy link

@mergify mergify bot commented Feb 14, 2023

This is an automatic backport of pull request #7196 done by Mergify.


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com

This is the latest commit in the series, it fixes (almost) all the
problems with missing and circular dependencies for typing.

The only 2 unsolved problems are:

- `lg` dependency for `rabbit` - the problem is that it's the only
  dependency that contains NIF. And there is no way to make dialyzer
  ignore it - looks like unknown check is not suppressable by dialyzer
  directives. In the future making `lg` a proper dependency can be a
  good thing anyway.

- some missing elixir function in `rabbitmq_cli` (CSV, JSON and
  logging related).

- `eetcd` dependency for `rabbitmq_peer_discovery_etcd` - this one
  uses sub-directories in `src/`, which confuses dialyzer (or our bazel
  machinery is not able to properly handle it). I've tried the latest
  rules_erlang which flattens directory for .beam files, but it wasn't
  enough for dialyzer - it wasn't able to find core erlang files. This
  is a niche plugin and an unusual dependency, so probably not worth
  investigating further.

(cherry picked from commit 949b535)
@mergify mergify bot added the bazel label Feb 14, 2023
@michaelklishin michaelklishin merged commit 28ff381 into v3.12.x Feb 14, 2023
@michaelklishin michaelklishin deleted the mergify/bp/v3.12.x/pr-7196 branch February 14, 2023 19:02
HoloRin added a commit that referenced this pull request Feb 17, 2023
Fix all dependencies for the dialyzer (backport #7196) (backport #7291)
HoloRin added a commit that referenced this pull request Feb 17, 2023
… (backport #7295) (#7349)

* Fix all dependencies for the dialyzer

This is the latest commit in the series, it fixes (almost) all the
problems with missing and circular dependencies for typing.

The only 2 unsolved problems are:

- `lg` dependency for `rabbit` - the problem is that it's the only
  dependency that contains NIF. And there is no way to make dialyzer
  ignore it - looks like unknown check is not suppressable by dialyzer
  directives. In the future making `lg` a proper dependency can be a
  good thing anyway.

- some missing elixir function in `rabbitmq_cli` (CSV, JSON and
  logging related).

- `eetcd` dependency for `rabbitmq_peer_discovery_etcd` - this one
  uses sub-directories in `src/`, which confuses dialyzer (or our bazel
  machinery is not able to properly handle it). I've tried the latest
  rules_erlang which flattens directory for .beam files, but it wasn't
  enough for dialyzer - it wasn't able to find core erlang files. This
  is a niche plugin and an unusual dependency, so probably not worth
  investigating further.

(cherry picked from commit 949b535)
(cherry picked from commit 3a3ff30)

# Conflicts:
#	deps/rabbit/BUILD.bazel
#	deps/rabbit/src/rabbit_access_control.erl
#	deps/rabbit/src/rabbit_exchange.erl
#	deps/rabbit_common/src/rabbit_misc.erl
#	deps/rabbitmq_consistent_hash_exchange/BUILD.bazel
#	deps/rabbitmq_mqtt/BUILD.bazel
(cherry picked from commit 2ae27f2)

# Conflicts:
#	deps/rabbit_common/src/rabbit_misc.erl

* Resolve conflicts

(cherry picked from commit b205ac9)

# Conflicts:
#	deps/rabbit_common/src/rabbit_misc.erl

* Avoid using a type from rabbit in rabbit_common to avoid a dep cycle

(cherry picked from commit bca40c6)

* Resolved additional errors from merge

Leaving MQTT alone, as this branch does not contain
#5895, which fixed a
great many dialyzer warnings.

(cherry picked from commit 3f9e6f9)

* fixup merge artifacts

* Avoid referencing unexported types from jsx

* Additional dialyzer fixes

---------

Co-authored-by: Alexey Lebedeff <[email protected]>
Co-authored-by: Michael Klishin <[email protected]>
Co-authored-by: Rin Kuryloski <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants