Expand description
§Module:: willbe
Utility to publish multi-crate and multi-workspace environments and maintain their consistency.
§Purpose
-
Multi-Workspace Consistency: In a project setup involving multiple workspaces with shared dependencies,
willbemaintains consistency. It ensures all workspaces are updated with compatible dependency versions. -
Publishing Multi-Crate Projects: If your project structure includes multiple crates that need simultaneous publishing,
willbemanages the process seamlessly. It ensures the crates are published in the right order while staying in version sync. -
Dependency Analysis:
willbecan perform a thorough analysis of your project’s dependencies, providing a detailed highlight of inconsistencies or areas that need attention. -
Test Execution With Varied Configurations:
willbecan execute tests with varying configurations, such as different combinations of crate features. This assists in ensuring comprehensive coverage of test scenarios. -
Generate Health Table: Quickly visualize important project metrics like build status for each crate, creating a single, easy-to-read table.
-
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.
§To install
cargo install willbe
will .§Try out from the repository
git clone https://github.com/Wandalen/wTools
cd wTools/module/move/willbe
cargo install --path .
will .Re-exports§
pub use ::error_tools::dependency::thiserror;
Modules§
- action
- Describes functions that can be called from an interface.
- anyhow
- github crates-io docs-rs
- cargo
- Interaction module with the
cargoutilities. - channel
- Rust toolchain channel: stable/nightly.
- code
- Source code.
- collection
- Function and structures to work with collections. Module containing all collection macros
- command
- Describes CLI commands.
- dependency
- Dependency of a package.
- diff
- Compare two crate archives and create a difference report.
- entity
- Entities of which spaces consists of.
- error
- Error handling facade. Error handling module for willbe.
- exposed
- Exposed namespace of the module.
- features
- Operation with features
- files
- Paths and files.
- git
- Git.
- graph
- Tools for working with dependencies graph.
- http
- Http requests.
- iter
- Iterating things.
- kw
- Keywords
- macros
- Work with paths.
- manifest
- To manipulate manifest data.
- optimization
- Rust build optimization: debug/release
- orphan
- Orphan namespace of the module.
- own
- Own namespace of the module.
- package
- Offers capabilities for package management, facilitating the handling and organization of packages.
- package_
md_ extension - Md’s extension for workspace.
- packages
- Provides a set of functionalities for handling and manipulating packages.
- packed_
crate - Handles operations related to packed Rust crates
- path
- Work with paths.
- prelude
- Prelude to use essentials:
use my_module ::prelude :: *. - proc_
macro2 - github crates-io docs-rs
- progress_
bar - Progress bar staff.
- publish
- Publish.
- publish_
reason - Publish reason types. Types for tracking WHY packages need publishing.
- query
- The parse function parses an input string into a
HashMapwhere the keys areStringand the values are of typeValue. - quote
- github crates-io docs-rs
- repository
- Repository tools.
- semver_
utils - Semantic versioning utilities.
- stale_
dependency - Stale dependency tracking. Types for representing stale workspace dependencies.
- staleness
- Dependency staleness detection. Dependency staleness detection and transitive closure computation.
- syn
- github crates-io docs-rs
- table
- Facade for
preatytablecrate. - test
- Operations with tests
- thiserror
- github crates-io docs-rs
- tool
- Genera-purpose tools which might be moved out one day.
- tree
- Tools for printing a tree
- typed
- Typed error handling, a facade for
thiserror. Typed error handling, a facade forthiserror. - untyped
- Untyped error handling, a facade for
anyhow. Untyped error handling, a facade foranyhow. - url
- Tools for parsing and extracting information from url.
- version
- Provides an opportunity to work with versions.
- workspace
- It features the ability to interact with workspaces, manage their participants, and other functionalities.
- workspace_
graph - Workspace’ graph.
- workspace_
md_ extension - Md’s extension for workspace.
- workspace_
package - Packages of workspace.
Macros§
- bmap
- Function and structures to work with collections.
Creates a
BTreeMapfrom a list of key-value pairs. - bset
- Function and structures to work with collections.
Creates a
BTreeSetfrom a list of elements. - deque
- Function and structures to work with collections.
Creates a
VecDequefrom a list of elements. - dlist
- Function and structures to work with collections.
Creates a
Vecfrom a list of elements. - hmap
- Function and structures to work with collections.
Creates a
HashMapfrom a list of key-value pairs. - hset
- Function and structures to work with collections.
Creates a
HashSetfrom a list of elements. - into_
bmap - Function and structures to work with collections.
Creates a
BTreeMapfrom a list of key-value pairs. - into_
bset - Function and structures to work with collections.
Creates a
BTreeSetfrom a list of elements. - into_
dlist - Function and structures to work with collections.
Creates a
Vecfrom a list of elements. - into_
hmap - Function and structures to work with collections.
Creates a
HashMapfrom a list of key-value pairs. - into_
hset - Function and structures to work with collections.
Creates a
HashSetfrom a list of elements. - into_
llist - Function and structures to work with collections.
Creates a
LinkedListfrom a llist of elements. - into_
vec - Function and structures to work with collections.
Creates a
Vecfrom a list of elements. - into_
vecd - Function and structures to work with collections.
Creates a
VecDequefrom a list of elements. - llist
- Function and structures to work with collections.
Creates a
LinkedListfrom a llist of elements. - quote
- The whole point.
Structs§
- Absolute
Path - A new type representing an absolute path.
- BTree
Map - Function and structures to work with collections. An ordered map based on a B-Tree.
- BTree
Set - Function and structures to work with collections. An ordered set based on a B-Tree.
- Binary
Heap - Function and structures to work with collections. A priority queue implemented with a binary heap.
- Bmap
- Function and structures to work with collections. An ordered map based on a B-Tree.
- Bset
- Function and structures to work with collections. An ordered set based on a B-Tree.
- Crate
Dir - Path to crate directory
- Current
Path - Symbolize current path.
- Dependency
Ref - A dependency of the main crate
- Deque
- Function and structures to work with collections. A double-ended queue implemented with a growable ring buffer.
- Dlist
- Function and structures to work with collections.
A contiguous growable array type, written as
Vec<T>, short for ‘vector’. - Either
DirOr File - Wrapper over
data_type ::Either< CrateDir, ManifestFile >with util methods. - Error
- The
Errortype, a wrapper around a dynamic error type. - HashMap
- Function and structures to work with collections. A hash map implemented with quadratic probing and SIMD lookup.
- HashSet
- Function and structures to work with collections.
A hash set implemented as a
HashMapwhere the value is(). - Hmap
- Function and structures to work with collections. A hash map implemented with quadratic probing and SIMD lookup.
- Hset
- Function and structures to work with collections.
A hash set implemented as a
HashMapwhere the value is(). - Linked
List - Function and structures to work with collections. A doubly-linked list with owned nodes.
- Llist
- Function and structures to work with collections. A doubly-linked list with owned nodes.
- Manifest
- Hold manifest data.
- Manifest
File - Path to crate directory
- Map
- Function and structures to work with collections. A hash map implemented with quadratic probing and SIMD lookup.
- Path
- A slice of a path (akin to
str). - PathBuf
- An owned, mutable path (akin to
String). - Set
- Function and structures to work with collections.
A hash set implemented as a
HashMapwhere the value is(). - Source
File - Path to a source file
- Utf8
Path - A slice of a UTF-8 path (akin to
str). - Utf8
Path Buf - An owned, mutable UTF-8 path (akin to
String). - Vec
- Function and structures to work with collections.
A contiguous growable array type, written as
Vec<T>, short for ‘vector’. - VecDeque
- Function and structures to work with collections. A double-ended queue implemented with a growable ring buffer.
- Version
- Version entity.
Version entity.
Wrapper for a
SemVerstructure - Workspace
- Stores information about the current workspace.
- Workspace
Package Ref - Facade for
cargo_metadata ::Package
Enums§
- Dependency
Kind - Dependencies can come in three kinds
- Option
- The
Optiontype. See the module level documentation for more. - Package
- Represents different types of packages in a Cargo workspace.
- Path
Error PathErrorenum represents errors when creating aCrateDirobject.- Result
Resultis a type that represents either success (Ok) or failure (Err).- Workspace
Init Error - Represents errors related to workspace operations.
Traits§
- AsCode
- A trait for converting an object to its code representation.
- Assign
- Provides a generic interface for setting a component of a certain type on an object.
- Code
Items - A trait for retrieving an iterator over items of a source file.
- Entries
- A trait that defines a method for retrieving an iterator over entries.
- ErrWith
- Trait to add extra context or information to an error.
- Iter
Trait - Trait that encapsulates a clonable iterator with specific characteristics, tailored for use with the
syncrate. - Itertools
- An
Iteratorblanket implementation that provides extra adaptors and methods. - Sources
- A trait that defines a method for retrieving an iterator over source files.
- Transitive
TryFrom - A trait to perform a transitive
try_fromconversion.
Functions§
- cicd_
renew - List packages. List packages.
- normalize
- Normalizes a given filesystem path by syntactically removing occurrences of
.and properly handling..components. - run
- 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.
- test
- run tests in specified crate run tests in specified crate run tests in specified crate
- unique_
folder_ name - Generates a unique folder name using the current system time, process ID, thread ID, and an internal thread-local counter.
- workspace_
renew - List packages. List packages.
Type Aliases§
- Result
With Report - A type alias for a
Resultthat contains an error which is a tuple of a report and an original error.