"putzen" is German and means cleaning. It helps keeping your disk clean of build and dependency artifacts safely.

Overview

Putzen

License: GPL v3 crates.io dependency status Build Status LOC

"putzen" is German and means cleaning. It helps keeping your disk clean of build and dependency artifacts safely.

demo

About

In short, putzen solves the problem of cleaning up build or dependency artifacts. It does so by a simple "File" -> "Folder" rule. If the "File" and "Folder" is present, it cleans "Folder"

It also does all this fast, means in parallel (if the filesystem supports it).

Supported Artifacts

putzen supports cleaning artifacts for:

type file that is checked folder that is cleaned
rust Cargo.toml target
javascript package.json node_modules
CMake CMakeLists.txt build

furthermore, it does also support:

  • It can do run a dry-run (-d)
  • Interactive asking for deletion
  • Sums up the space that will be freed

Quick Start

Install

To install the putzen, you just need to run

cargo install putzen-cli

Note the binary is called putzen (without -cli)

to verify if the installation was successful, you can run which putzen that should output similar to

$HOME/.cargo/bin/putzen

Usage

$ putzen --help

Usage: putzen <folder> [-v] [-d] [-y] [-L] [-a]

help keeping your disk clean of build and dependency artifacts

Positional Arguments:
  folder            path where to start with disk clean up.

Options:
  -v, --version     show the version number
  -d, --dry-run     dry-run will never delete anything, good for simulations
  -y, --yes-to-all  switch to say yes to all questions
  -L, --follow      follow symbolic links
  -a, --dive-into-hidden-folders
                    dive into hidden folders too, e.g. `.git`
  --help            display usage information

Alternative Projects

License

Comments
  • build(deps): bump argh from 0.1.7 to 0.1.8

    build(deps): bump argh from 0.1.7 to 0.1.8

    Bumps argh from 0.1.7 to 0.1.8.

    Commits
    • b9296f0 Merge pull request #132 from sadmac7000/master
    • c96d491 Document dynamic commands and bump version
    • bd37ed1 Improve early exit error by mentioning --help
    • 4814be8 Add support for dynamic commands
    • 60b4980 Revert "Add support for dynamic commands"
    • 997ea52 Add support for dynamic commands
    • b2854ad Add tests to prove we won't panic
    • 8a7319a Fix clippy lints; return errors rather than panic
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • build(deps): bump jwalk from 0.6.0 to 0.8.1

    build(deps): bump jwalk from 0.6.0 to 0.8.1

    Bumps jwalk from 0.6.0 to 0.8.1.

    Release notes

    Sourced from jwalk's releases.

    v0.8.1

    New Features

    • re-export rayon in the crate root. This makes creating a ThreadPool easier as it doesn't force us to maintain our own rayon dependency.

    Commit Statistics

    • 1 commit contributed to the release.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    • Uncategorized
      • re-export rayon in the crate root. (b49e157)

    v0.8.0

    New Features (BREAKING)

    • Parallelism::RayonExistingPool::busy_timeout is now optional. That way we can indicate that no waiting should be done as we know the given threadpool has enough resources.

    Commit Statistics

    • 1 commit contributed to the release.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    • Uncategorized
      • Parallelism::RayonExistingPool::busy_timeout is now optional. (3a71721)

    v0.7.0

    This release makes iterator creation fallible to avoid potential hangs when there is no available thread to process any of the iterator work.

    ... (truncated)

    Changelog

    Sourced from jwalk's changelog.

    0.8.1 (2022-12-15)

    New Features

    • re-export rayon in the crate root. This makes creating a ThreadPool easier as it doesn't force us to maintain our own rayon dependency.

    Commit Statistics

    • 1 commit contributed to the release.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    • Uncategorized
      • re-export rayon in the crate root. (b49e157)

    0.8.0 (2022-12-15)

    New Features (BREAKING)

    • Parallelism::RayonExistingPool::busy_timeout is now optional. That way we can indicate that no waiting should be done as we know the given threadpool has enough resources.

    Commit Statistics

    • 2 commits contributed to the release.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    • Uncategorized

    ... (truncated)

    Commits
    • 0079deb Release jwalk v0.8.1
    • b49e157 feat: re-export rayon in the crate root.
    • be0bd21 Release jwalk v0.8.0
    • 3a71721 feat!: Parallelism::RayonExistingPool::busy_timeout is now optional.
    • c265744 Release jwalk v0.7.0
    • 67364f9 prepare changelog prior to release
    • a94d14b refactor
    • 7e300c6 thanks clippy
    • 7d5b8b8 feat: WalkDirGeneric::try_into_iter() for early error handling.
    • 3bf1bc2 feat!: Detect possible deadlocks when instantiating a parallel iterator.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump argh from 0.1.7 to 0.1.9

    build(deps): bump argh from 0.1.7 to 0.1.9

    Bumps argh from 0.1.7 to 0.1.9.

    Commits
    • adc704c Bump version to 0.1.9
    • fa20b09 Add 'remainder': greedy positional arguments
    • b82615a Support generic structs and enums in derive(FromArgs)
    • 861ef2b Fix clippy lints
    • 660dc01 Merge pull request #139 from Some-Dood/deps/update-heck
    • d28aafa Chore: move use to top level
    • fc1667b Merge pull request #140 from Lioness100/patch-1
    • fb341a2 Fix macro typo
    • 4d151f7 Deps: update heck to 0.4
    • 5b42a7f Fix clippy lint
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump dialoguer from 0.10.1 to 0.10.2

    build(deps): bump dialoguer from 0.10.1 to 0.10.2

    Bumps dialoguer from 0.10.1 to 0.10.2.

    Changelog

    Sourced from dialoguer's changelog.

    Changelog

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump dialoguer from 0.10.0 to 0.10.1

    build(deps): bump dialoguer from 0.10.0 to 0.10.1

    Bumps dialoguer from 0.10.0 to 0.10.1.

    Changelog

    Sourced from dialoguer's changelog.

    0.10.1

    Enhancements

    • Allow matches highlighting for FuzzySelect
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump dialoguer from 0.9.0 to 0.10.0

    build(deps): bump dialoguer from 0.9.0 to 0.10.0

    Bumps dialoguer from 0.9.0 to 0.10.0.

    Changelog

    Sourced from dialoguer's changelog.

    0.10.0

    Enhancements

    • Loosen some trait bounds
    • Improve keyboard interactions (#141, #162)
    • Added max_length to MultiSelect, Select and Sort
    • Allow completion support for Input::interact_text* behind completion feature

    Breaking

    • All prompts *::new will now don't report selected values unless report(true) is called on them.
    Commits
    • e93d993 Release 0.10.0
    • c93224a Merge pull request #162 from craciuncezar/limit-visible-options-in-fuzzy-select
    • dee84e9 Merge pull request #169 from bryanhitc/bryanhitc/fix-completion-buffer-overflow
    • e4ffea8 fix formatting and improve naming
    • cb1e9a5 Fix buffer overflow for completion example
    • 252a183 Fix linting warnings
    • f1e46a5 Add scroll functionality
    • 94a276d Limit the number of visible options in fuzzy select
    • 29da763 Merge pull request #153 from danieleades/refactor/clippy
    • 8fde6ae lint examples and tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump dialoguer from 0.9.0 to 0.10.0

    chore(deps): bump dialoguer from 0.9.0 to 0.10.0

    Bumps dialoguer from 0.9.0 to 0.10.0.

    Changelog

    Sourced from dialoguer's changelog.

    0.10.0

    Enhancements

    • Loosen some trait bounds
    • Improve keyboard interactions (#141, #162)
    • Added max_length to MultiSelect, Select and Sort
    • Allow completion support for Input::interact_text* behind completion feature

    Breaking

    • All prompts *::new will now don't report selected values unless report(true) is called on them.
    Commits
    • e93d993 Release 0.10.0
    • c93224a Merge pull request #162 from craciuncezar/limit-visible-options-in-fuzzy-select
    • dee84e9 Merge pull request #169 from bryanhitc/bryanhitc/fix-completion-buffer-overflow
    • e4ffea8 fix formatting and improve naming
    • cb1e9a5 Fix buffer overflow for completion example
    • 252a183 Fix linting warnings
    • f1e46a5 Add scroll functionality
    • 94a276d Limit the number of visible options in fuzzy select
    • 29da763 Merge pull request #153 from danieleades/refactor/clippy
    • 8fde6ae lint examples and tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • on windows: `UNC` paths are problematic

    on windows: `UNC` paths are problematic

    Context

    • on win11 for arm
    • on a shared network folder V:\
    • using a canonical path: \\?\UNC\Mac\workspaces\rust\cargo-generate-org\target
    PS v:\rust\putzen> cargo run -- ..\cargo-generate-org\
    Start cleaning at \\?\UNC\Mac\workspaces\rust\cargo-generate-org
    \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target (1.7GiB)
      ├─ because of ..\Cargo.toml
    ✔ ├─ delete directory recursively? · yes
    rm: \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target
    thread 'main' panicked at 'Foo bar bak: Os { code: 87, kind: InvalidInput, message: "The parameter is incorrect." }', v:\rust\putzen\src\cleaner.rs:20:14
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    error: process didn't exit successfully: `target\debug\putzen.exe ..\cargo-generate-org\` (exit code: 101)
    

    also rm in power shell fails though:

    PS v:\rust\putzen> rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target
    
    Confirm
    The item at Microsoft.PowerShell.Core\FileSystem::\\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target
    has children and the Recurse parameter was not specified. If you continue, all children will be removed with the item.
    Are you sure you want to continue?
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A
    rm : Cannot remove item \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\release\.fingerprint: You
    do not have sufficient access rights to perform this operation.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (.fingerprint:DirectoryInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
    rm : Cannot remove item \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\release\.cargo-lock: You
    do not have sufficient access rights to perform this operation.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (.cargo-lock:FileInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
    rm : Directory \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\release cannot be removed because
    it is not empty.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : WriteError: (release:DirectoryInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand
    
    rm : Cannot remove item \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\debug\.fingerprint: You do
    not have sufficient access rights to perform this operation.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (.fingerprint:DirectoryInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
    rm : Cannot remove item \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\debug\.cargo-lock: You do
    not have sufficient access rights to perform this operation.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (.cargo-lock:FileInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
    rm : Directory \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\debug cannot be removed because it
    is not empty.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : WriteError: (debug:DirectoryInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand
    
    rm : Cannot remove item \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\.rustc_info.json: You do
    not have sufficient access rights to perform this operation.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (.rustc_info.json:FileInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
    rm : Directory \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target cannot be removed because it is not
    empty.
    At line:1 char:1
    + rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\targ ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : WriteError: (\\?\UNC\Mac\wor...generate\target:DirectoryInfo) [Remove-Item], IOException
        + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand
    

    But removing a single file from there works:

    PS v:\rust\putzen> rm \\?\UNC\Mac\workspaces\rust\cargo-generate-org\cargo-generate\target\.rustc_info.json
    
    opened by sassman 0
Releases(v1.0.6)
Owner
Sven Assmann
polyglot software engineer | rustlang enthusiast | co-organizer at @rust-meetup-munich | maintainer of @cargo-generate | creator of t-rec-rs and @steganogram
Sven Assmann
Libium is the backend of Ferium. It helps manage Minecraft mods from Modrinth, CurseForge, and Github Releases

Libium Libium is the backend of Ferium. It helps manage Minecraft mods from Modrinth, CurseForge, and Github Releases There are 3 main components in L

Ilesh Thiada 14 Dec 13, 2022
A dependency-free chess engine library built to run anywhere.

♔chess-engine♚ A dependency-free chess engine library built to run anywhere. Demo | Docs | Contact Me Written in Rust ?? ?? Why write a Chess engine?

adam mcdaniel 355 Dec 26, 2022
egui-tetra is a library that helps integrate egui

egui-tetra is a library that helps integrate egui, an immediate mode GUI library, with Tetra, a 2D game framework.

null 19 Jan 5, 2023
State of the art "build your own engine" kit powered by gfx-hal

A rendering engine based on gfx-hal, which mimics the Vulkan API. Building This library requires standard build tools for the target platforms, except

Amethyst Foundation 801 Dec 28, 2022
Rapidly iterate and build Bevy UI's with existing web-based technologies

bevy_webview WIP   Rapidly iterate and build Bevy UI's with existing web-based technologies It is currently very early days of this plugin - only Linu

Mika 30 Jan 4, 2023
An asset that provides 2d collision detector and kinematics, build from scratch in bevy

Busturi A physics engine An asset that provides 2d collision detector and kinematics, build from scratch in bevy How to use Add PhysicsPlugin to the p

NemuiSen 2 Jun 22, 2022
Transform tagged Markdown string to HTML during build time.

tagged-md Transform tagged Markdown string to HTML! Check out the examples! Motivation Have you ever written HTML strings in your JavaScript code? It'

PortOne 23 May 30, 2023
This is an online game in which you program your character and he fights with other players

Game for programmers The goal of this project is to create a simple game for programmers. The essence of the game Each player has his own character th

Danila 1 Dec 10, 2021
Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game

Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game. Home - Docs - Twitter - Discord ?? Features Everythi

Rivet 58 Jun 25, 2023
This tool allows you to open one or more notebooks in Visual Studio and go hog wild exploring your systems in Bevy.

Bevyrly Bevy is rly useful, but requires some hygiene! Pronounced as /ˈbɛvə(ɹ)li/, derives from Old English, combining befer ("beaver") and leah ("cle

null 4 Feb 28, 2024
A CLI tool to manage your godot-rust projects

ftw A CLI tool to manage your godot-rust project! Table of contents General Information Setup Usage Contact General Information This is a tool to help

Michael Angelo Calimlim 77 Dec 13, 2022
rpg-cli —your filesystem as a dungeon!

rpg-cli is a bare-bones JRPG-inspired terminal game written in Rust. It can work as an alternative to cd where you randomly encounter enemies as you change directories.

Facundo Olano 1.2k Jan 4, 2023
A puzzle game where you eat your own tail to win!

taileater taileater is a puzzle game available for free here: https://szunami.itch.io/taileater This project is built using Rust and Bevy. Assets were

null 25 Dec 20, 2022
Synchronize games from other platforms into your Steam library

BoilR Description This little tool will synchronize games from other platforms into your Steam library, using the Steam Shortcuts feature. The goal is

Philip Kristoffersen 823 Jan 9, 2023
The Big Cheese a webapp wherein you can share recipes with your friends.

The Big Cheese The Big Cheese a webapp wherein you can share recipes with your friends. Contributing Contributions are what make the open source commu

null 3 May 5, 2022
💤 Put your Minecraft server to rest when idle.

?? Put your Minecraft server to rest when idle.

Tim Visée 285 Jan 4, 2023
Easily update your minecraft mods with 1 file (guess I'm back to rust again)

Mod Updater This program updates all your mods to a newer/later version. To use: Create a file named config.toml Create a folder named mods; Add the f

sussyimpostor 2 Sep 18, 2022
Find out what takes most of the space in your executable.

cargo-bloat Find out what takes most of the space in your executable. Supports ELF (Linux, BSD), Mach-O (macOS) and PE (Windows) binaries. WASM is not

Yevhenii Reizner 1.7k Jan 4, 2023
This is starter for your own game-specific tools

Bevy Toolbar Usage: This is starter for your own game-specific tools, clone source and manually add it to [workspace] section in Cargo.toml. Now add i

null 15 Sep 11, 2022