Skip to content

Remove erlware_commons from the rebar3 codebase#3022

Open
GwendalLaurent wants to merge 6 commits into
erlang:mainfrom
stritzinger:gl/erlware_commons/upstream-clean
Open

Remove erlware_commons from the rebar3 codebase#3022
GwendalLaurent wants to merge 6 commits into
erlang:mainfrom
stritzinger:gl/erlware_commons/upstream-clean

Conversation

@GwendalLaurent

Copy link
Copy Markdown

As part of our work on the rebar4 kickstarter at Peer Stritzinger GmbH, we are removing externally vendored code from the rebar3 codebase.

erlware_commons is currently causing compatibility and CI issues with OTP 29. This PR removes erlware_commons from the rebar3 codebase entirely.

The work is split into two phases:

  1. Refactor rebar3 to remove its usage of individual erlware_commons modules.
  2. Remove the vendored erlware_commons code itself.

The refactoring was originally developed in smaller steps in our fork, then consolidated here into an upstream-ready branch.

GwendalLaurent and others added 6 commits May 22, 2026 16:24
* internalize functions of ec_sermver.erl

* move ec_semver_parser inside rebar

* remove leftover call to erlware_commons

* add SPDX tags in erlware files
* remove ec_file:{is_file, is_dir}/1

* remove ec_file:{mkdir_path,mkdir_p}

* remove ec_file:remove/{2,3}

* add missing files for is_dir refactor

* remove ec_file:{write, write_term}/2

* move ec_file:real_dir_path to rebar_file_utils

* move ec_file:insecure_mkdtemp/0 to rebar_file_utils

* remove ec_file:copy/{2,3}

* remove ec_file:is_symlink/1

* add SPDX headers
* remove ec_lists:search/2 from rebar_packages

* add test case for check_all_repo correctness

* handle_missing_no_exception refactor

* remove ec_lists:search/2

* replace ec_lists:find/2 by lists:search/2 + refactoring of callers

* add SPDX headers
* refactoring the logs to remove ec_cmd_logs
* remove ec_cnv

* restore r3_safe_erl_term

* add SPDX headers
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.

1 participant