bendis 0.5.3

A patch tool for Bender to work better in HERIS project
bendis-0.5.3 is not a library.

Bendis

Crates.io Crates.io Downloads GitHub GitLab

A patch tool for Bender to work better in the HERIS project.

Author: Albert L. ZHANG, IHEP

Email: albert.cheung@cern.ch


Links


Features

  • URL Conversion: Automatically converts GitHub URLs to IHEP internal Git URLs
  • Seamless Integration: Works as a drop-in replacement for Bender
  • Fast: Written in Rust for optimal performance

Installation

cargo install bendis

Usage

Initialize a project

bendis init

Creates a bendis_workspace/ directory with blank Bender.yml and .bender.yml.

Update dependencies

When using Bendis, only edit the configuration files inside bendis_workspace/. The copies in the project root will be overwritten.

Update dependencies with:

bendis update

With Bendis 0.5.3 or later, prepare dependencies for RTL hardening and activate the resulting local RTL by placing the aegisrtl repository next to the project root and running:

bendis update --hard

Hard mode requires a Bender version with script template-json support. If ../aegisrtl/scripts/harden.sh is missing, Bendis reports that hardening was skipped and activates the local unmodified RTL.

Other commands

All other commands are passed through to Bender transparently.


File Structure

(***): You may interest in and can be edited. (-): Nobody, or generated automatically. Don't edit them if you don't understand Bendis.

pulpissimo/
├── bendis_workspace/       # Bendis working directory
│   ├── .bender/            # (-)Bender cache folder (optional on Bendis config)
│   ├── Bender.yml          # (***)The config you need to edit
│   ├── .bender.yml         # (***)The overrides config you may need to edit
│   ├── Bender.lock         # (-)Generated by bendis automatically
│   ├── hw/                 # (***)Some dependencies of pulpissimo
│   └── target/             # (***)Some dependencies of pulpissimo
├── Bender.yml              # (-)Converted config
├── .bender.yml             # (-)Converted overrides (IHEP URLs)
├── Bender.lock             # (-)Final lock file generated automatically
├── .bender/                # (-)Dependencies directory generated automatically
├── hw/                     # (-)Some dependencies automaticaly updated from `bendis_workspace/`
├── target/                 # (-)Some dependencies automaticaly updated from `bendis_workspace/`
└── ...