LukeMathWalker / LukeMathWalker/cargo-px

Avoid regenerating crates unnecessarily

Open
#8 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
63
Forks
4
PR merge metrics
No merged PRs in 30d

Description

First of all, thanks for the awesome tool.
It really feels like an improvement over build scripts for code generation.

I use `cargo px` to generate ICU data for display purposes with [`icu_datagen`](https://docs.rs/icu_datagen/latest/icu_datagen/).

However, `cargo px` regenerates the data module every build, which means that dependent crates also get rebuilt on every run.
It would be nice if we could tell `cargo px` a set of "input files" and it only regenerates the crate when those files change.

For now, I work around that by running `cargo px` only to regenerate the crate and using `cargo` normally otherwise.
But long term, it would be nice to not have to keep the difference in mind.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the cargo px generation flow and determine how it currently decides to regenerate the data crate. Define how a user-supplied set of input files is tracked, then verify that unchanged inputs skip regeneration while changed inputs rebuild the crate and its dependents as needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.