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.

§Purpose

  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.

§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
githubcrates-iodocs-rs
cargo
Interaction module with the cargo utilities.
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
githubcrates-iodocs-rs
progress_bar
Progress bar staff.
publish
Publish.
query
The parse function parses an input string into a HashMap where the keys are String and the values are of type Value.
quote
githubcrates-iodocs-rs
repository
Repository tools.
syn
githubcrates-iodocs-rs
table
Facade for preatytable crate.
template
Traits and structs for templates.
test
Operations with tests
thiserror
githubcrates-iodocs-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 for thiserror.
untyped
Untyped error handling, a facade for anyhow. Untyped error handling, a facade for anyhow.
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 BTreeMap from a list of key-value pairs.
bset
Function and structures to work with collections. Creates a BTreeSet from a list of elements.
deque
Function and structures to work with collections. Creates a VecDeque from a list of elements.
dlist
Function and structures to work with collections. Creates a Vec from a list of elements.
hmap
Function and structures to work with collections. Creates a HashMap from a list of key-value pairs.
hset
Function and structures to work with collections. Creates a HashSet from a list of elements.
into_bmap
Function and structures to work with collections. Creates a BTreeMap from a list of key-value pairs.
into_bset
Function and structures to work with collections. Creates a BTreeSet from a list of elements.
into_dlist
Function and structures to work with collections. Creates a Vec from a list of elements.
into_hmap
Function and structures to work with collections. Creates a HashMap from a list of key-value pairs.
into_hset
Function and structures to work with collections. Creates a HashSet from a list of elements.
into_llist
Function and structures to work with collections. Creates a LinkedList from a llist of elements.
into_vec
Function and structures to work with collections. Creates a Vec from a list of elements.
into_vecd
Function and structures to work with collections. Creates a VecDeque from a list of elements.
llist
Function and structures to work with collections. Creates a LinkedList from a llist of elements.
quote
The whole point.

Structs§

AbsolutePath
A new type representing an absolute path.
BTreeMap
Function and structures to work with collections. An ordered map based on a B-Tree.
BTreeSet
Function and structures to work with collections. An ordered set based on a B-Tree.
BinaryHeap
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.
CrateDir
Path to crate directory
CurrentPath
Symbolize current path.
DependencyRef
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’.
EitherDirOrFile
Wrapper over data_type::Either< CrateDir, ManifestFile > with util methods.
Error
The Error type, 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 HashMap where 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 HashMap where the value is ().
LinkedList
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.
ManifestFile
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 HashMap where the value is ().
SourceFile
Path to a source file
Utf8Path
A slice of a UTF-8 path (akin to str).
Utf8PathBuf
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 SemVer structure
Workspace
Stores information about the current workspace.
WorkspacePackageRef
Facade for cargo_metadata::Package

Enums§

DependencyKind
Dependencies can come in three kinds
Option
The Option type. See the module level documentation for more.
Package
Represents different types of packages in a Cargo workspace.
PathError
PathError enum represents errors when creating a CrateDir object.
Result
Result is a type that represents either success (Ok) or failure (Err).
WorkspaceInitError
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.
CodeItems
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.
IterTrait
Trait that encapsulates a clonable iterator with specific characteristics, tailored for use with the syn crate.
Itertools
An Iterator blanket implementation that provides extra adaptors and methods.
Sources
A trait that defines a method for retrieving an iterator over source files.
TransitiveTryFrom
A trait to perform a transitive try_from conversion.

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§

ResultWithReport
A type alias for a Result that contains an error which is a tuple of a report and an original error.

Derive Macros§

Assign
Derives the Assign trait for struct fields, allowing each field to be set with a value that can be converted into the field’s type.
Error
Former
Derive macro for generating a Former struct, applying a Builder Pattern to the annotated struct.