mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-12 10:03:51 +00:00
sonarcloud.yml runs on every pull request, so a change only under vendor/linesweeper starts a workflow; it does not start pdf.yml.
54 lines
2.5 KiB
Markdown
54 lines
2.5 KiB
Markdown
# Local linesweeper 0.5.0 copy
|
|
|
|
This is the crates.io linesweeper 0.5.0 package (MIT OR Apache-2.0) with some files left out and no
|
|
file changed. `.cargo_vcs_info.json` names the commit it was packaged from,
|
|
`824b0791a750f7b27b8edcbb6c6244d0e629875e`. That commit is not in the GitHub repository the manifest
|
|
names, which is archived; its README says development moved off GitHub.
|
|
|
|
Every file here except this one and `SOURCE.json` is byte for byte the file in the `.crate` archive.
|
|
`SOURCE.json` records the hash of the `.crate` download (`source_archive_sha256`) and, for every file
|
|
kept, the hash in the package (`source_sha256`) and the hash here (`sha256`). `upstream_repository` is
|
|
null because no public repository this copy can name holds `upstream_revision`. `local_patches` is
|
|
empty.
|
|
|
|
`omitted_files` lists the 43 files of the package left out here, with their hashes:
|
|
|
|
- `tests/fonts/Inconsolata-Regular.ttf`: font files live in craft-fonts.
|
|
- `docs/assets/logo.svg` and `examples/linebender.svg`: the package gives no license for this artwork
|
|
apart from its `license` field.
|
|
- `tests/snapshots/`: 12 SVG and 20 PNG files.
|
|
- `.config/`, `.helix/`, `.typos.toml`, `.gitmodules`, `flake.nix`, `flake.lock` and `nix/`: the
|
|
package's repository tooling.
|
|
|
|
Only the targets listed under Tests read the font, the logos and the snapshot files, and those targets
|
|
do not compile from the published package.
|
|
|
|
## Using it
|
|
|
|
The directory is excluded from the workspace. With the root manifest's `[patch.crates-io]` entry,
|
|
`craft-prepress` builds its `flatten` feature against this copy. Cargo ignores a dependency's patches,
|
|
so a consuming workspace adds its own entry:
|
|
|
|
```toml
|
|
[patch.crates-io]
|
|
linesweeper = { git = "https://github.com/storytold/craft-libs", rev = "<rev>" }
|
|
```
|
|
|
|
## Tests
|
|
|
|
`scripts/test-pdf-backends.sh` runs the package's unit, regression and doc tests. The `craft-prepress`
|
|
tests with the `flatten` feature run against this copy. `pdf.yml`'s path filter does not list this
|
|
directory, so a pull request that changes only files here does not start `pdf.yml`. Run the tests from
|
|
this directory:
|
|
|
|
```sh
|
|
cargo test --locked --lib --test regression
|
|
cargo test --locked --doc
|
|
```
|
|
|
|
`Cargo.toml` leaves out the `kompari`, `linesweeper_util` and `path-bool` dev-dependencies, which
|
|
`Cargo.toml.orig` gives as git or path dependencies. The `fonts` and `snapshots` tests, the
|
|
`winding-numbers` and `boolean_op` examples and the `linebender_logo` bench do not compile here.
|
|
|
|
Cargo writes to `target/` in this directory, which the root `.gitignore` excludes.
|