Compare commits

...

4 Commits
v0.1.0 ... main

7 changed files with 38 additions and 11 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@
/um-react.exe
/um-react@*.zip
/um-react@*.exe
/*.gz

2
Cargo.lock generated
View File

@ -3001,7 +3001,7 @@ dependencies = [
[[package]]
name = "um-react-wry"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"bytes",
"clap",

View File

@ -1,29 +1,36 @@
[package]
name = "um-react-wry"
version = "0.1.0"
version = "0.1.1"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
wry = "0.35.1"
tao = { version = "0.24", default-features = false, features = ["rwh_05"] }
zip = "0.6.6"
http = "0.2"
bytes = "1.5.0"
clap = { version = "4.4.12", features = ["derive"] }
image = { version = "0.24", default-features = true, features = [
wry = { version = "0.35.1", optional = true }
tao = { version = "0.24", default-features = false, optional = true, features = [
"rwh_05",
] }
image = { version = "0.24", default-features = true, optional = true, features = [
"webp",
"ico",
] }
dirs = "5.0.1"
zip = { version = "0.6.6" }
http = { version = "0.2" }
bytes = { version = "1.5.0" }
clap = { version = "4.4.12", features = ["derive"] }
dirs = { version = "5.0.1" }
[build-dependencies]
winres = "0.1"
[features]
stub-pkgs = ["wry", "tao", "image"]
[[bin]]
name = "um-react-wry-stub"
path = "src/stub.rs"
required-features = ["stub-pkgs"]
[[bin]]
name = "builder"

10
Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM rust
ENV CARGO_HOME=/h
WORKDIR /c
COPY src /c/src/
COPY build.rs Cargo.toml Cargo.lock /c/
RUN cargo build --bin builder --release
CMD gzip < target/release/builder | base64

View File

@ -2,6 +2,11 @@
一个利用 [wry](https://github.com/tauri-apps/wry) 框架库制作的 um-react 单文件打包工具。
> **WARNING**
> 这是打包工具的源码与下载。打包好的文件将会在 [um-react 的 Release 页面][um_react_release]提供下载。
[um_react_release]: https://git.unlock-music.dev/um/um-react/releases
## 构建单文件
1. 确保 rust 已经安装。[参考说明](https://www.rust-lang.org/tools/install)。

4
build.sh Normal file
View File

@ -0,0 +1,4 @@
#!/bin/sh
docker build -t wry-builder .
docker run --rm wry-builder | base64 -d >um-react-wry-builder-linux-amd64.gz

View File

@ -71,7 +71,7 @@ fn main() -> wry::Result<()> {
.join(format!("um-react!{}", APP_UUID));
let exe_path = std::env::current_exe().unwrap();
let um_react_external = exe_path.parent().unwrap().join("um-react.zip");
let zip_content = if um_react_external.exists() {
let zip_content = if cfg!(debug_assertions) && um_react_external.exists() {
// debug/prod: override by reading from external zip archive
parse_external_zip(&um_react_external).unwrap()
} else {