erlware/relx
67.8
Adequate · 23 September 2026
5.4k
lines of production code
Erlang
primary language
5
measurements over time
What this system is
This system is a build tool for Erlang/OTP releases, providing a programmatic API to assemble, configure, and package software distributions. It manages release artifacts, handles hot code upgrades, and generates start scripts for various operating systems. The codebase is heavily focused on testing these capabilities through extensive shell-based integration tests.
Features
Add initial PowerShell Release OTP application structure
The shelltests/powershell\_release directory now contains a complete, minimal OTP application scaffold for 'powershell\_release' (version 0.1.0). This includes the standard Erlang application and supervisor modules, a rebar3 build configuration, and configuration files (sys.config, vm.args) for a release named 'powershell\_release'. The release is configured to include PowerShell-related start scripts, as indicated by the 'include\_start\_scripts\_for' setting in rebar.config.
_shelltests/powershell\release · high confidence
Add shellcheck\_test OTP application scaffolding
Added the complete structure for a new OTP application named shellcheck\_test, including the application and supervisor modules, configuration files (sys.config, vm.args), and a basic test script to verify the release builds successfully.
_shelltests/shellcheck\_test, shelltests/shellcheck\_test/apps/shellcheck\test · high confidence
Initial release of the relx build system
The relx release assembler is introduced as a new component, providing a programmatic API for building Erlang/OTP releases. This includes modules for managing release configuration, assembling release directories, handling overlays, and generating relup scripts, effectively replacing the previous internal implementation with a structured, public-facing interface.
src · high confidence
Introduce new start and management scripts for Unix, Windows, and PowerShell
The release generation now includes new template files for managing the Erlang release. A standard Unix shell script (bin) and a Windows batch script (bin\_windows) are added to start the release, find the ERTS directory, and locate configuration files. Additionally, PowerShell scripts (bin\_windows\_ps, extended\_bin\_windows\_ps) and utility functions (psutil) are provided for Windows service management, including commands for install, start, stop, upgrade, and console access. An escript (install\_upgrade\_escript) is also added to handle release installation, unpacking, and version management. These scripts replace or augment the previous startup mechanisms, offering a more robust and feature-rich way to interact with the running node.
priv · high confidence
Test coverage
Add shell test for detecting undefined function calls; Add shell-based integration tests for Windows service lifecycle; Add shell-based reboot and restart test suite; Add shell-based test suite for extension script behavior; Add test suite for extended start script hooks; Add upgrade\_test shell test for OTP application versioning; Added force\_nodetool\_tests OTP application and shell test; Added shell tests for OS variable replacement in release configuration; Added shell tests for OS variable replacement in releases; Added shell tests for extended start script commands and environment variable handling; Added shell tests for overlay error handling; Added system\_libs test suite for release packaging; Added vm\_args\_inclusion\_tests shell test suite; Expanded test coverage for release, relup, and tarball generation.
Dependencies
Updated build configuration and dependencies for relx
The project's build configuration has been updated to use bbmustache version 1.10 as a dependency, replacing previous dependencies like getopt and depsolver. The rebar.config now includes profiles for testing and documentation, enables Common Test coverage analysis, and configures xref to ignore specific warnings for the relx API. Additionally, the Makefile has been removed in favor of rebar3 commands, and the README has been updated to reflect the current build and testing procedures.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 63 → 68 (+4.7)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 86 → 94 (+7.8)
- Architecture 100 → 100 (+0.0)
- Maturity 52 → 56 (+4.0)
- Readiness 74 → 68 (-6.1)
- Security 65 → 84 (+18.7)
Resolved (12)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Off-boarding risk: anonymized user #1
- Test reliability not included
- TooManyMethods: rlx_assemble (src/rlx_assemble.erl)
- complexity unreadable for .erl, .hrl — churn × complexity hotspots could not be measured
New (28)
- Coverage not measured — no coverage collector is wired up
- Documentation: no architecture or design documentation (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no project overview (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (18 lines × 8) (shelltests/check_undefined_test/apps/check_undefined_test/src/check_undefined_test_sup.erl)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium: security finding (details withheld)
- No ADRs found
- Off-boarding risk: anonymized user #1
- Outdated: bbmustache
- TodoComment (src/rlx_assemble.erl)
- TodoComment (src/rlx_assemble.erl)
- TodoComment (src/rlx_assemble.erl)
- …and 8 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
erlware/relx was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit fce151aa031d69d60e2be9f51a8209f13d1e4a18 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.