I, Michał Stankiewicz, hereby license the committed files, which contain
Topola's logo in multiple variants, under two licences at the same time:
- Creative Commons Attribution 4.0 International (SPDX: CC-BY-4.0)
- MIT (SPDX: MIT)
Signed-off-by: Michał Stankiewicz <kontakt@stankiewiczm.eu>
I have replaced all instances of `HashMap<...>` with `BTreeMap<...>`,
of `HashSet<...>` with `BTreeSet<...>`, and all the uses of the `Hash`
trait with `Ord`.
I have done a few manual tests and found the behavior to be
deterministic between the GUI application launches. However, undoing an
autoroute command and then manually executing it once again continues to
produce variable results. I suppose this is because of some bug in the
code where edits are applied. Hence, the issue
https://codeberg.org/topola/topola/issues/46
is only partially resolved.
Error message:
error: failed to run custom build command for `rfd v0.15.1`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
Caused by:
process didn't exit successfully: `/woodpecker/src/codeberg.org/topola/topola/target/debug/build/rfd-df83cee8e4039bcf/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rfd-0.15.1/build.rs:14:17:
You need to choose at least one backend: `gtk3` or `xdg-portal` features
Error message:
Compiling rfd v0.15.1
error: failed to run custom build command for `rfd v0.15.1`
Caused by:
process didn't exit successfully: `[redacted]/topola/target/debug/build/rfd-91f81cc3d21cf4fd/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at [redacted]/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rfd-0.15.1/build.rs:21:21:
One of the `tokio` or `async-std` features must be enabled to use `xdg-portal`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
I ran the following command in Fish shell:
```
reuse annotate --copyright="Topola contributors" --license="MIT" **/.gitignore {.woodpecker/*,.*}.yaml .rustfmt.toml flake.nix index.html
```
I ran the following command in Fish shell:
```
reuse annotate --skip-unrecognised --copyright="Topola contributors" --license="MIT" **.{rs,md,toml}
```
The choice of year 2024 in the copyright statements is intentional.
Contrary to what I naively thought, `pre-commit` in CI does not result
in commit messages being checked. Another action `pre-commit` was
doing was running `cargo check`, but this is essentially the same as
building without compilation, and we are testing by building in other
CI-workflows. So we are left with only a formatting check, which does
not need installing and running `pre-commit`.
Previously, some methods handled items/lists with multiple allowed names,
and some only allowed a single name. As the overhead of always handling
multiple names isn't that large, do that everywhere and make the overall
API more streamlined in the process.