Subject: CVS commit: pkgsrc/devel/rebar3
From: nikita
Date: 2024-04-12 17:15:25
Message id: 20240412151525.B4EA5FA2C@cvs.NetBSD.org

Log Message:
rebar3: update to version 3.23.0

Changelog:

3.23.0

New Features:

    add a new shell completion provider
    zsh support for aliases in completion
    Add new 'shell_hooks_env' config to extend shell hooks' OS env vars
    Add (newer) Dialyzer info. about invalid_contract
    Add command rebar3 alias

Bug fixes:

    Bump relx and erlware commons versions
    REBAR_SRC_DIRS and REBAR_APP_DIRS fix by making rebar_dir:src_dirs/1 options \ 
default to ["src"]
    Eliminate use of experimental function code:lib_dir/2
    Fix "clean" hooks in non-umbrella apps and when override are presents
    Initial version of the Manifest plugin
    Make log_level entry in rebar.app work again
    Append . to --eval arg if missing
    Handle 'or' in versions in a primitive manner
    Fall back to reading versions from hex metadata
    Dedupe compiler DAG edge insertion for artifacts
    Add missing doc. for incremental on Dialyzer analysis
    rebar_utils: add metadata to primary logger config
    Prevent XRef issue when analysis runs on generated code
    Fix unicode output printed as charlist
    Rework argument parsing in do/as providers
    Fix for rebar3 shell in Erlang 26 when ShellArgs==undefined
    Erlang 26 custom shell fix
    Add app name to "OTP release ~ts or later is required" msg

3.22.1

This is a small patch release for some bugfixes:

    Defer hostname check to OTP when supported
    Print diagnostic when failing to get VSN with Git
    Add simple Erlang LS config

3.22.0

This release most importantly contains patches to fix blocking issues on Windows:

    Avoid setting a shell-encoding in OTP-26, which causes the shell command to \ 
hang on windows
    Support CRLF in shell ENV files

This release also contains an experimental and optional change that warrants a \ 
bit of explanation: Support rich compiler messages in errors and in warnings

Given the module:

-module(fake_mod).

-export([diagnostic/1]).

diagnostic(A) ->
    X = add(5 / 0),
    {X,X}.

add(X) -> X.

add(X, Y) -> X + Y.

Calling rebar3 compile can now yield:

...
===> Compiling apps/rebar/src/fake_mod.erl failed
   ┌─ apps/rebar/src/fake_mod.erl:
   │
 5 │  diagnostic(A) ->
   │             ╰── variable 'A' is unused

   ┌─ apps/rebar/src/fake_mod.erl:
   │
 6 │      X = add(5 / 0),
   │                ╰── evaluation of operator '/'/2 will fail with a \ 
'badarith' exception

    ┌─ apps/rebar/src/fake_mod.erl:
    │
 11 │  add(X, Y) -> X + Y.
    │  ╰── function add/2 is unused

and in a terminal supporting color output:

By default, this format is turned off, but can be turned on optionally by \ 
configuring values with

{compiler_error_format, rich}.

You can get this enabled. You may want to put it in your global rebar3 config \ 
file. That being said, this may break some tooling that could parse \ 
rebar3-specific output. The default value is {compiler_error_format, minimal}. \ 
and putting that value back in should fix any breakage. We're also expecting \ 
color output to have a few bugs related to a rather naive heuristic used to \ 
delimit language constructs, but we wanted to make the feature available for \ 
feedback and this bug-fixing release was a decent opportunity.

This functionality relies on an expanded compiler API exposed by Rebar3, but \ 
since we're not yet quite sure what form we want it to take, we'll keep the new \ 
API undocumented in the short term.

3.21.0

New Features:

    Support OTP-26, Deprecate OTP-23 support.
    Add incremental dialyzer support for OTP-26

Various fixes:

    bumping a bunch of deps, including certificates, smaller patches in \ 
dependencies, and the following relx changes:
        Also set -dist_listen false for relx_nodetool calls
        Force use of nodetool if proto_dist set
        Only overwrite erl with dyn_erl if dyn_erl exists
    Add rebar_parallel pool, use in DAG scans which limits memory usage on large \ 
projects
    Maintain cth_log_redirect default in CT runs to show logger messages in HTML \ 
test logs
    Change license template to Markdown
    rebar3_dialyzer_format: Add missing message formatting
    Always dereference symbolic links when copying files in ct
    Add ?RTX_LOG macro option to top-level rebar.config
    fix help shell output, --eval is misindeted
    Ignore _vendor folder
    Do not ignore everything starting with underscore recursively
    scope local install VSN variable
    pkgs command should support empty lists

Files:
RevisionActionfile
1.12modifypkgsrc/devel/rebar3/Makefile
1.9modifypkgsrc/devel/rebar3/distinfo