Implement rcedit-compatible CLI - #3
Conversation
Co-authored-by: Tom Plant <tom@tplant.com.au>
There was a problem hiding this comment.
Pull request overview
Adds an rcedit-compatible command-line interface to the editpe crate so developers can edit PE resources (version info, icons, manifests, string tables, RCDATA) via a binary, with an optional Cargo feature and CI builds for multiple targets.
Changes:
- Introduces a new
editpeCLI binary (Clap-based) with rcedit-like flags for reading/writing PE resources. - Adds a
cliCargo feature and gates the binary behind it (and enables it by default). - Extends the publish workflow with a build matrix that uploads platform artifacts.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
src/main.rs | New Clap-based CLI implementation plus helper functions for version parsing, manifest mutation, and string-table get/set. |
Cargo.toml | Adds [[bin]] entry, introduces cli feature (with clap dep), and enables cli by default. |
.github/workflows/publish.yml | Adds a matrix build job producing release binaries for multiple targets and uploading artifacts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
90e5fb1 to
a4c7611Compare
Change description
Implements a basic CLI and cargo feature to replace the recently-deprecated rcedit. Tested manually with rcedit's examples.
Details
Additional context
I used clap because I'm familiar with it, but I don't really have a strong preference for arg parser.
get_resource_stringandset_resource_stringmight belong inresource.rsinstead with corresponding tests, let me know if that's preferred.The GitHub Action was just to quickly build exes for testing, since I develop on Linux. Happy to remove or replace with your preferred build/release approach for artefacts.