mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-04-01 10:01:07 +02:00
fix: keep build artifacts on Android lib and plugins (#6229)
This commit is contained in:
committed by
GitHub
parent
f2da21c7b4
commit
78176edf4a
@@ -1,6 +1,6 @@
|
||||
use std::{
|
||||
env::var,
|
||||
fs,
|
||||
fs::{self, rename},
|
||||
path::{PathBuf, MAIN_SEPARATOR},
|
||||
};
|
||||
|
||||
@@ -46,7 +46,19 @@ impl PluginBuilder {
|
||||
println!("cargo:rerun-if-changed={}", gradle_settings_path);
|
||||
println!("cargo:rerun-if-changed={}", app_build_gradle_path);
|
||||
|
||||
let target = PathBuf::from(out_dir).join(&pkg_name);
|
||||
let out_dir = PathBuf::from(out_dir);
|
||||
let target = out_dir.join(&pkg_name);
|
||||
|
||||
// keep build folder if it exists
|
||||
let build_path = target.join("build");
|
||||
let out_dir = if build_path.exists() {
|
||||
let out_dir = out_dir.join(".tauri-plugin-build");
|
||||
rename(&build_path, &out_dir)?;
|
||||
Some(out_dir)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let _ = fs::remove_dir_all(&target);
|
||||
|
||||
for entry in walkdir::WalkDir::new(&source) {
|
||||
@@ -60,6 +72,10 @@ impl PluginBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(out_dir) = out_dir {
|
||||
rename(&out_dir, &build_path)?;
|
||||
}
|
||||
|
||||
let gradle_settings = fs::read_to_string(&gradle_settings_path)?;
|
||||
let include = format!(
|
||||
"include ':{pkg_name}'
|
||||
|
||||
@@ -25,7 +25,7 @@ use std::{
|
||||
env::{set_var, temp_dir},
|
||||
ffi::OsString,
|
||||
fmt::Write,
|
||||
fs::{create_dir_all, read_to_string, remove_dir_all, write},
|
||||
fs::{create_dir_all, read_to_string, remove_dir_all, rename, write},
|
||||
net::SocketAddr,
|
||||
path::PathBuf,
|
||||
process::ExitStatus,
|
||||
@@ -318,14 +318,30 @@ fn ensure_init(project_dir: PathBuf, target: Target) -> Result<()> {
|
||||
#[allow(irrefutable_let_patterns)]
|
||||
if let Target::Android = target {
|
||||
let tauri_api_dir_path = project_dir.join("tauri-api");
|
||||
if tauri_api_dir_path.exists() {
|
||||
let build_path = if tauri_api_dir_path.exists() {
|
||||
// keep build folder if it exists
|
||||
let build_path = tauri_api_dir_path.join("build");
|
||||
let out_dir = if build_path.exists() {
|
||||
let out_dir = project_dir.join(".tauri-api-build");
|
||||
rename(&build_path, &out_dir)?;
|
||||
Some(out_dir)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
remove_dir_all(&tauri_api_dir_path)?;
|
||||
}
|
||||
out_dir
|
||||
} else {
|
||||
None
|
||||
};
|
||||
create_dir_all(&tauri_api_dir_path)?;
|
||||
|
||||
ANDROID_API_PROJECT_DIR
|
||||
.extract(tauri_api_dir_path)
|
||||
.extract(&tauri_api_dir_path)
|
||||
.context("failed to extract Tauri API project")?;
|
||||
|
||||
if let Some(build_path) = build_path {
|
||||
rename(build_path, tauri_api_dir_path.join("build"))?;
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user