4
4
5
5
use std:: {
6
6
collections:: HashMap ,
7
- fs , iter,
7
+ iter,
8
8
path:: { Path , PathBuf } ,
9
9
} ;
10
10
11
- use crate :: {
12
- helpers:: {
13
- self ,
14
- cargo_manifest:: { crate_version, CargoLock , CargoManifest } ,
15
- npm:: PackageManager ,
16
- } ,
17
- interface:: rust:: get_workspace_dir,
11
+ use crate :: helpers:: {
12
+ self ,
13
+ cargo_manifest:: { cargo_manifest_and_lock, crate_version} ,
14
+ npm:: PackageManager ,
18
15
} ;
19
16
20
17
use super :: { packages_nodejs, packages_rust, SectionItem } ;
@@ -48,18 +45,6 @@ pub fn installed_tauri_packages(
48
45
tauri_dir : & Path ,
49
46
package_manager : PackageManager ,
50
47
) -> InstalledPackages {
51
- let manifest: Option < CargoManifest > =
52
- if let Ok ( manifest_contents) = fs:: read_to_string ( tauri_dir. join ( "Cargo.toml" ) ) {
53
- toml:: from_str ( & manifest_contents) . ok ( )
54
- } else {
55
- None
56
- } ;
57
-
58
- let lock: Option < CargoLock > = get_workspace_dir ( )
59
- . ok ( )
60
- . and_then ( |p| fs:: read_to_string ( p. join ( "Cargo.lock" ) ) . ok ( ) )
61
- . and_then ( |s| toml:: from_str ( & s) . ok ( ) ) ;
62
-
63
48
let know_plugins = helpers:: plugins:: known_plugins ( ) ;
64
49
let crate_names: Vec < String > = iter:: once ( "tauri" . to_owned ( ) )
65
50
. chain (
@@ -76,6 +61,8 @@ pub fn installed_tauri_packages(
76
61
)
77
62
. collect ( ) ;
78
63
64
+ let ( manifest, lock) = cargo_manifest_and_lock ( tauri_dir) ;
65
+
79
66
let mut rust_plugins: HashMap < String , semver:: Version > = crate_names
80
67
. iter ( )
81
68
. filter_map ( |crate_name| {
@@ -121,17 +108,7 @@ pub fn items(
121
108
122
109
if tauri_dir. is_some ( ) || frontend_dir. is_some ( ) {
123
110
if let Some ( tauri_dir) = tauri_dir {
124
- let manifest: Option < CargoManifest > =
125
- if let Ok ( manifest_contents) = fs:: read_to_string ( tauri_dir. join ( "Cargo.toml" ) ) {
126
- toml:: from_str ( & manifest_contents) . ok ( )
127
- } else {
128
- None
129
- } ;
130
-
131
- let lock: Option < CargoLock > = get_workspace_dir ( )
132
- . ok ( )
133
- . and_then ( |p| fs:: read_to_string ( p. join ( "Cargo.lock" ) ) . ok ( ) )
134
- . and_then ( |s| toml:: from_str ( & s) . ok ( ) ) ;
111
+ let ( manifest, lock) = cargo_manifest_and_lock ( tauri_dir) ;
135
112
136
113
for p in helpers:: plugins:: known_plugins ( ) . keys ( ) {
137
114
let dep = format ! ( "tauri-plugin-{p}" ) ;
0 commit comments