Crate willbe

source ·
Expand description

§Module:: willbe

experimental rust-status docs.rs discord

Utility to publish multi-crate and multi-workspace environments and maintain their consistency.

§Basic use-case

  1. Multi-Workspace Consistency: In a project setup involving multiple workspaces with shared dependencies, willbe maintains consistency. It ensures all workspaces are updated with compatible dependency versions.

  2. Publishing Multi-Crate Projects: If your project structure includes multiple crates that need simultaneous publishing, willbe manages the process seamlessly. It ensures the crates are published in the right order while staying in version sync.

  3. Dependency Analysis: willbe can perform a thorough analysis of your project’s dependencies, providing a detailed highlight of inconsistencies or areas that need attention.

  4. Test Execution With Varied Configurations: willbe can execute tests with varying configurations, such as different combinations of crate features. This assists in ensuring comprehensive coverage of test scenarios.

  5. Generate Health Table: Quickly visualize important project metrics like build status for each crate, creating a single, easy-to-read table.

  6. Automating CI/CD Workflow Generation: Automatically generate a series of CI/CD operations suitable for the task at hand to enhance productivity and improve the development process.

use willbe::*;

fn main() -> Result< (), wtools::error::for_app::Error >
{
  Ok( willbe::run()? )
}

§To add to your project

cargo add willbe

§Try out from the repository

git clone https://github.com/Wandalen/wTools
cd wTools
cargo run --package willbe

Modules§

  • Describes functions that can be called from an interface.
  • Interaction module with the cargo utilities.
  • Rust toolchain channel: stable/nightly.
  • Describes CLI commands.
  • Entities of which spaces consists of.
  • Exposed namespace of the module.
  • Operation with features
  • Operate over files.
  • Git interaction module that enables seamless integration and management of version control workflows.
  • Tools for working with dependencies graph.
  • To manipulate manifest data.
  • Orphan namespace of the module.
  • Offers capabilities for package management, facilitating the handling and organization of packages.
  • Provides a set of functionalities for handling and manipulating packages.
  • Handles operations related to packed Rust crates
  • Work with paths.
  • Prelude to use essentials: use my_module::prelude::*.
  • Run external processes.
  • Protected namespace of the module.
  • The parse function parses an input string into a HashMap where the keys are String and the values are of type Value.
  • Make sha-1 hash for data.
  • Traits and structs for templates.
  • Operations with tests
  • Genera-purpose tools which might be moved out one day.
  • Tools for parsing and extracting information from url.
  • Provides an opportunity to work with versions.
  • It features the ability to interact with workspaces, manage their participants, and other functionalities.
  • Micro wtools

Structs§

Functions§

  • Create deploy from template.
  • Generate header. Generates header to main Readme.md file.
  • Takes the command line arguments and perform associated function(s). If no arguments are provided, the function identifies this as an ambiguous state and prompts the user with a help message, suggesting possible commands they might want to execute. It then terminates the program with an exit code of 1 to indicate an error due to the lack of input.
  • run tests in specified crate run tests in specified crate
  • List packages.
  • Generate workflows for modules in .github/workflows directory.
  • List packages.
  • Creates workspace template