Skip to content

Implement rcedit-compatible CLI#3

Open
pl4nty wants to merge 2 commits intoSystemcluster:mainfrom
pl4nty:main
Open

Implement rcedit-compatible CLI#3
pl4nty wants to merge 2 commits intoSystemcluster:mainfrom
pl4nty:main

Conversation

@pl4nty
Copy link
Copy Markdown

@pl4nty pl4nty commented Apr 12, 2026

Change description
Implements a basic CLI and cargo feature to replace the recently-deprecated rcedit. Tested manually with rcedit's examples.

Details image

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_string and set_resource_string might belong in resource.rs instead 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.

Co-authored-by: Tom Plant <tom@tplant.com.au>
Copilot AI review requested due to automatic review settings April 12, 2026 01:56
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 editpe CLI binary (Clap-based) with rcedit-like flags for reading/writing PE resources.
  • Adds a cli Cargo 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.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants