Skip to content

Installation instructions and binary #10

@bwbug

Description

@bwbug

I was able to create a portable binary. However, being completely new to Rust, I had some trouble following the installation instructions in your Readme. I would suggest that you revise the instructions to clarify that after running

cargo install --git https://github.com/sts10/tidy --branch main

but before running cargo test, it is necessary to first use cd to navigate to the subdirectory %USERPROFILE%\.cargo\git\checkouts\tidy-xxxxxxxxxxxxxxxx\yyyyyyyy (I'm not sure if the codes x & y are static or vary with each installation).

This is the binary that I was able to create on my Windows system:

tidy_for_windows.zip

A caveat: I compiled this binary on a system running Windows 10 version 1903, whereas the Visual Studio 2022 documentation states that it is supported only on "Windows 10 version 1909 and higher". Nonetheless, the same documentation page states that "there are no known issues or workarounds" for Windows 10 versions 1607 through 1903. I am currently using the compiled binary tidy.exe on a different computer (which is running Windows 10 Version 20H2), and it seems to be working fine.

However, it should be noted that the instructions I followed to compile the binary also include the following comment:

if we run cargo build --release and upload the binary somewhere, we should be all set, right? Not quite. We still need to make sure the binaries we build are compatible with as many systems as possible.

They go on to explain that such optimization can be done for Windows using something called AppVeyor, but this is above my pay grade so I did not attempt it.

Finally, in the interest of full disclosure, I should mention that I manually edited the compiled binary with a hex editor to remove personally identifying information that was embedded in the file (specifically, the file contained multiple instances of the full path name to my %USERPROFILE% directory, which I replaced with an anonymized version of the same length). I don't think this will affect the function of the binary, since all dependencies (except for common system libraries) are supposed to have been removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions