Skip to content

Use workspace dependency management - #15412

Merged
sftse merged 18 commits into
tauri-apps:devfrom
sftse:ws-deps
Aug 14, 2026
Merged

Use workspace dependency management#15412
sftse merged 18 commits into
tauri-apps:devfrom
sftse:ws-deps

Conversation

@sftse

@sftse sftse commented May 18, 2026

Copy link
Copy Markdown
Contributor

We can simplify dependency management a bit by centralizing the workspace-internal dependencies.

@sftse
sftse requested a review from a team as a code owner May 18, 2026 09:53
@FabianLars

Copy link
Copy Markdown
Member

I was just about to ping @jbolda to ask whether covector supports this but CI already answered my question 😂

@FabianLars

Copy link
Copy Markdown
Member

I do like this approach though so maybe we can fix covector

@Tunglies

Copy link
Copy Markdown
Contributor

Any plan for workspace lint rules?

@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Package Changes Through 3cc97b6

There are 14 changes which include tauri with minor, tauri-cli with minor, @tauri-apps/cli with minor, tauri-build with minor, tauri-runtime with minor, tauri-runtime-wry with minor, tauri-utils with minor, tauri-bundler with minor, tauri-macos-sign with minor, tauri-codegen with minor, tauri-macros with minor, tauri-plugin with minor, tauri-driver with minor, @tauri-apps/api with minor

Planned Package Versions

The following package releases are the planned based on the context of changes in this pull request.

package current next
@tauri-apps/api 2.11.1 2.12.0
tauri-utils 2.9.3 2.10.0
tauri-macos-sign 2.3.4 2.4.0
tauri-bundler 2.9.4 2.10.0
tauri-runtime 2.11.3 2.12.0
tauri-runtime-wry 2.11.4 2.12.0
tauri-codegen 2.6.3 2.7.0
tauri-macros 2.6.3 2.7.0
tauri-plugin 2.6.3 2.7.0
tauri-build 2.6.3 2.7.0
tauri 2.11.5 2.12.0
@tauri-apps/cli 2.11.4 2.12.0
tauri-cli 2.11.4 2.12.0
tauri-driver 2.0.6 2.1.0

Add another change file through the GitHub UI by following this link.


Read about change files or the docs at github.com/jbolda/covector

@Legend-Master

Copy link
Copy Markdown
Contributor

Any plan for workspace lint rules?

@Tunglies Not yet, you can open an issue on which lint rules do you want to enable and we can discuss there

I was just about to ping @jbolda to ask whether covector supports this but CI already answered my question 😂

@FabianLars I couldn't remember what was the problem back then, it seems to work at least in this run https://github.com/tauri-apps/tauri/actions/runs/28021124759/job/82937404412?pr=15412

@Legend-Master Legend-Master left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I like this a lot, but we probably need to fix the feature flags first since some of them actually depends on the default features

@FabianLars

Copy link
Copy Markdown
Member

This was the error https://github.com/tauri-apps/tauri/actions/runs/26026811997/job/76506308250 - i think it still does not work but there are no subcrate (eg tauri-utils instead of tauri) changefiles anymore so it doesn't check.

@sftse

sftse commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

I like this a lot, but we probably need to fix the feature flags first since some of them actually depends on the default features

Can you explain?

Just seen I missed a spot or two that are using their own paths instead of the workspace deps.

@Legend-Master Legend-Master left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

pretty much every example basically

Comment thread bench/tests/cpu_intensive/src-tauri/Cargo.toml Outdated
Comment thread examples/api/src-tauri/tauri-plugin-sample/Cargo.toml
Comment thread examples/api/src-tauri/Cargo.toml Outdated
@jbolda

jbolda commented Jul 3, 2026

Copy link
Copy Markdown
Member

Following up here as we had conversations on other mediums. Working through this support in covector which should land soon. Had a lot of blocking upgrades that I needed to land first. They did though and @johncarmack1984 already had the PR rolling for adding this support 🙌 .

@FabianLars

Copy link
Copy Markdown
Member

covector 0.13 was released so we can try this again

@Legend-Master Legend-Master added this to the 2.12 milestone Aug 10, 2026
@Legend-Master

Copy link
Copy Markdown
Contributor

I seem to get some errors running cargo publish --dry-run in ./crates/tauri/ 🤔

error: failed to prepare local package for uploading                                                                                                      

Caused by:
  failed to select a version for `tauri`.
      ... required by package `tauri v2.11.5 (tauri/crates/tauri)`
  versions that meet the requirements `^2.11` are: 2.11.5, 2.11.4, 2.11.3, 2.11.2, 2.11.1, 2.11.0

  package `tauri` links to the native library `Tauri`, but it conflicts with a previous package which links to `Tauri` as well:
  package `tauri v2.11.5 (C:\tt\Temp Fix\tauri\crates\tauri)`
  note: only one package in the dependency graph may specify the same links value to ensure that only one copy of a native library is linked in the final binary
  for more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links
  help: try to adjust your dependencies so that only one package uses the `links = "Tauri"` value

  failed to select a version for `tauri` which could resolve this conflict

@sftse sftse left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

What was the issue with cargo publish ?

Comment thread crates/tauri-macros/Cargo.toml
Comment thread crates/tauri-cli/Cargo.toml
@Legend-Master

Copy link
Copy Markdown
Contributor

What was the issue with cargo publish ?

I don't quite understand it yet, see the error in my comment above

@Legend-Master

Copy link
Copy Markdown
Contributor

I seem to get some errors running cargo publish --dry-run in ./crates/tauri/ 🤔

error: failed to prepare local package for uploading                                                                                                      

Caused by:
  failed to select a version for `tauri`.
      ... required by package `tauri v2.11.5 (tauri/crates/tauri)`
  versions that meet the requirements `^2.11` are: 2.11.5, 2.11.4, 2.11.3, 2.11.2, 2.11.1, 2.11.0

  package `tauri` links to the native library `Tauri`, but it conflicts with a previous package which links to `Tauri` as well:
  package `tauri v2.11.5 (C:\tt\Temp Fix\tauri\crates\tauri)`
  note: only one package in the dependency graph may specify the same links value to ensure that only one copy of a native library is linked in the final binary
  for more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links
  help: try to adjust your dependencies so that only one package uses the `links = "Tauri"` value

  failed to select a version for `tauri` which could resolve this conflict

Resolved in b692576, pretty weird not gonna lie

@Legend-Master

Copy link
Copy Markdown
Contributor

@jbolda do you know if we can dry run this to test how it does with covector?

Comment thread Cargo.toml
@jbolda

jbolda commented Aug 14, 2026

Copy link
Copy Markdown
Member

@Legend-Master Yea, run it locally with npx or the bin directly with covector version --dry-run or covector publish --dry-run.

@Legend-Master

Copy link
Copy Markdown
Contributor

They seem to work for me locally, thanks! @jbolda

Legend-Master
Legend-Master previously approved these changes Aug 14, 2026
@sftse

sftse commented Aug 14, 2026

Copy link
Copy Markdown
Contributor Author

@Legend-Master
Thanks for the fixups!

@sftse
sftse merged commit ba3490b into tauri-apps:dev Aug 14, 2026
32 checks passed
@sftse
sftse deleted the ws-deps branch August 14, 2026 08:52
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.

5 participants