Geas - have you used it?

Guess Erlang Application Scattering

  • What is you usage?
  • what new features do you expect?

Guess Erlang Application Scattering

Geas : (In Irish folklore) an obligation or prohibition magically imposed on a person.

By extension, obligation or prohibition imposed by an Erlang application or module, which may modify its scattering.

Overview

Geas is a tool detecting the runnable official Erlang release window for your project.

Geas will tell you also :

  • what are the offending functions in the beam/source files that reduce the available window.
  • if some beam files are compiled native.
  • the installed patches and recommend patches that should be installed depending your code.

For example , if a dependency is using application:ensure_all_started/1 your project can only be used starting R16B02 or if maps is used somewhere, starting 17.0. On contrary, pg module cannot be used after 17.5 but is back again in 23.0.

5 Likes

I hope you don’t mind Eric but I added some additional info to your post - I’m sure I wouldn’t have been the only one wondering what Geas was otherwise :icon_redface: :lol:

2 Likes

Okay this is a pretty cool little scanner. ^.^

1 Like

Geas is perfect as a Rebar3 plugin.
This is one of the tools that “know” (or find out) for you, so that you don’t have to fill up your head with stuff (knowing about compatibility etc.)

@crownedgrouse Thanks for this helpful tooling!

2 Likes

Geas 2.7.7 (Erlang 24.2) was released!

3 Likes

Geas 2.7.8 (Erlang 24.3) was released !

3 Likes

This is the first I’m learning about Geas- what a cool project! I really like this

3 Likes

Geas 2.7.9 has been released !

Changelog :

  • Update for Erlang 25.0 detection and database

Rebar users should upgrade geas_rebar3 plugin to 1.4.9 to use this version.

Hex.pm:

2 Likes

To detect problems I use
rebar3 xref

To resolve problems I use otpbp

1 Like

Those are nice but not really same goal than geas.
Xref let you know unused exported functions of non Erlang core functions .
Otpbp add some new functions to old erlang releases .
Geas let you know if your code and all depencies (you are not always owner) is compatible with a range of erlang releases.

1 Like