Builds in CI/CD take a long time due to dependency compilation overhead and duplicate crate versions. This issue tracks auditing and removing unused dependencies, trimming crate features, resolving crate version conflicts, and configuring cargo release profile optimizations.
Scope of Changes
Remove Unused Dependencies:
Remove tauri-plugin-opener Rust crate and plugin registration (Cargo.toml, src/lib.rs, capabilities/default.json).
Remove unused @tauri-apps/plugin-dialog from package.json.
Trim Crate Features & Cross-Platform Scoping:
Reduce tokio features from ["full"] to ["process", "io-util", "sync", "time", "rt-multi-thread"].
Restrict image crate to Windows targets ([target.'cfg(windows)'.dependencies]) with only features = ["tiff"], eliminating image decoding crates on Linux and macOS.
Unify Windows SDK Bindings:
Upgrade windows to 0.61 in Cargo.toml to unify with Tauri 2 internals and eliminate duplicate compilation of windows v0.58, windows-core, windows-result, windows-strings, and syn v2.
Add [profile.release] with panic = "abort", codegen-units = 1, lto = "thin", and strip = true.
Version Management:
Increment point version from 0.1.3 to 0.1.4 across package.json, Cargo.toml, and tauri.conf.json.
Update package.json package name to iccery.
### Summary
Builds in CI/CD take a long time due to dependency compilation overhead and duplicate crate versions. This issue tracks auditing and removing unused dependencies, trimming crate features, resolving crate version conflicts, and configuring cargo release profile optimizations.
### Scope of Changes
1. **Remove Unused Dependencies**:
- Remove `tauri-plugin-opener` Rust crate and plugin registration (`Cargo.toml`, `src/lib.rs`, `capabilities/default.json`).
- Remove unused `@tauri-apps/plugin-dialog` from `package.json`.
2. **Trim Crate Features & Cross-Platform Scoping**:
- Reduce `tokio` features from `["full"]` to `["process", "io-util", "sync", "time", "rt-multi-thread"]`.
- Restrict `image` crate to Windows targets (`[target.'cfg(windows)'.dependencies]`) with only `features = ["tiff"]`, eliminating image decoding crates on Linux and macOS.
3. **Unify Windows SDK Bindings**:
- Upgrade `windows` to `0.61` in `Cargo.toml` to unify with Tauri 2 internals and eliminate duplicate compilation of `windows v0.58`, `windows-core`, `windows-result`, `windows-strings`, and `syn v2`.
- Remove unused `"Win32_Storage_FileSystem"` feature flag.
4. **Cargo Build Optimization**:
- Add `[profile.release]` with `panic = "abort"`, `codegen-units = 1`, `lto = "thin"`, and `strip = true`.
5. **Version Management**:
- Increment point version from `0.1.3` to `0.1.4` across `package.json`, `Cargo.toml`, and `tauri.conf.json`.
- Update `package.json` package name to `iccery`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Builds in CI/CD take a long time due to dependency compilation overhead and duplicate crate versions. This issue tracks auditing and removing unused dependencies, trimming crate features, resolving crate version conflicts, and configuring cargo release profile optimizations.
Scope of Changes
tauri-plugin-openerRust crate and plugin registration (Cargo.toml,src/lib.rs,capabilities/default.json).@tauri-apps/plugin-dialogfrompackage.json.tokiofeatures from["full"]to["process", "io-util", "sync", "time", "rt-multi-thread"].imagecrate to Windows targets ([target.'cfg(windows)'.dependencies]) with onlyfeatures = ["tiff"], eliminating image decoding crates on Linux and macOS.windowsto0.61inCargo.tomlto unify with Tauri 2 internals and eliminate duplicate compilation ofwindows v0.58,windows-core,windows-result,windows-strings, andsyn v2."Win32_Storage_FileSystem"feature flag.[profile.release]withpanic = "abort",codegen-units = 1,lto = "thin", andstrip = true.0.1.3to0.1.4acrosspackage.json,Cargo.toml, andtauri.conf.json.package.jsonpackage name toiccery.