147 lines
4.5 KiB
Bash
Executable File
147 lines
4.5 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
MIZE_SRC="/home/me/work/mize" # hardcoded for now
|
|
RSYNC_EXCLUDES="--exclude=node_modules --exclude=target --exclude=mize_config.toml --exclude=rust_dist --exclude=deno_dist --exclude=dist --exclude=result --exclude=pkg"
|
|
|
|
function main {
|
|
if [[ "$1" == "gen" ]]; then
|
|
generate_sources
|
|
fi
|
|
|
|
if [[ "$1" == "dsp" ]]; then
|
|
deploy_spacetime
|
|
fi
|
|
|
|
if [[ "$1" == "dlu" ]]; then
|
|
deploy_lush
|
|
fi
|
|
|
|
if [[ "$1" == "dma" ]]; then
|
|
deploy_main
|
|
fi
|
|
|
|
if [[ "$1" == "dmac" ]]; then
|
|
deploy_mac
|
|
fi
|
|
|
|
if [[ "$1" == "dpw" ]]; then
|
|
deploy_ppc_website
|
|
fi
|
|
|
|
if [[ "$1" == "dmo" ]]; then
|
|
deploy_main_obsidian
|
|
fi
|
|
}
|
|
|
|
function deploy_spacetime {
|
|
spacetime publish -p $MIZE_SRC/packages/spacetime
|
|
}
|
|
|
|
function generate_sources {
|
|
echo "mize: Generating sources..."
|
|
mkdir -p $MIZE_SRC/packages/generated/src/spacetime
|
|
|
|
# Generate Cargo.toml and lib.rs
|
|
cat << 'EOF' > $MIZE_SRC/packages/generated/Cargo.toml
|
|
[package]
|
|
name = "generated"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "generated"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
spacetimedb-sdk = "2.1.0"
|
|
EOF
|
|
echo -e 'pub mod spacetime;\n' > $MIZE_SRC/packages/generated/src/lib.rs
|
|
|
|
# Generate spacetime client bindings
|
|
spacetime generate -p $MIZE_SRC/packages/spacetime -o $MIZE_SRC/packages/generated/src/spacetime --lang rust
|
|
}
|
|
|
|
function deploy_main {
|
|
cargo build --manifest-path $MIZE_SRC/packages/mize/Cargo.toml --release
|
|
cargo build --manifest-path $MIZE_SRC/packages/ppc/Cargo.toml --release --features desktop
|
|
|
|
cp $MIZE_SRC/target/release/mize ~/here/mize/
|
|
cp $MIZE_SRC/target/release/libppc_part.so ~/here/mize/
|
|
cp $MIZE_SRC/md ~/here/mize/
|
|
cp $MIZE_SRC/target/release/ppc ~/here/mize/
|
|
|
|
systemctl --user restart mize
|
|
}
|
|
|
|
function deploy_mac {
|
|
echo "c2vi: Deploying to mac..."
|
|
|
|
# Copy files to mac
|
|
rsync -r -u -v -a --delete --include=".git/" --include=".git/**" --mkpath $RSYNC_EXCLUDES $MIZE_SRC mac:here
|
|
|
|
# compile
|
|
ssh mac << EOF
|
|
if ! tmux has-session -t ppc-deploy 2>/dev/null; then
|
|
echo "Created new tmux session...."
|
|
tmux new-session -d -s ppc-deploy "nix develop git+file:///home/me/here/mize#buildShell"
|
|
tmux send-keys -t ppc-deploy "cargo build --manifest-path /home/me/here/mize/packages/mize/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "cargo build --features desktop --manifest-path /home/me/here/mize/packages/ppc/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "systemctl --user restart mize" Enter
|
|
else
|
|
echo "using existing session..."
|
|
tmux send-keys -t ppc-deploy "cargo build --manifest-path /home/me/here/mize/packages/mize/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "cargo build --features desktop --manifest-path /home/me/here/mize/packages/ppc/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "systemctl --user restart mize" Enter
|
|
fi
|
|
EOF
|
|
}
|
|
|
|
function deploy_lush {
|
|
echo "c2vi: Deploying to lush..."
|
|
|
|
# Copy files to lush
|
|
rsync -r -u -v -a --delete --include=".git/" --include=".git/**" --mkpath $RSYNC_EXCLUDES $MIZE_SRC lush:here
|
|
|
|
# compile
|
|
ssh lush << EOF
|
|
if ! tmux has-session -t ppc-deploy 2>/dev/null; then
|
|
echo "Created new tmux session...."
|
|
tmux new-session -d -s ppc-deploy "nix develop git+file:///home/me/here/mize#buildShell"
|
|
tmux send-keys -t ppc-deploy "cargo build --manifest-path /home/me/here/mize/packages/mize/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "cargo build --features desktop --manifest-path /home/me/here/mize/packages/ppc/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "systemctl --user restart mize" Enter
|
|
else
|
|
echo "using existing session..."
|
|
tmux send-keys -t ppc-deploy "cargo build --manifest-path /home/me/here/mize/packages/mize/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "cargo build --features desktop --manifest-path /home/me/here/mize/packages/ppc/Cargo.toml" Enter
|
|
tmux send-keys -t ppc-deploy "systemctl --user restart mize" Enter
|
|
fi
|
|
EOF
|
|
|
|
}
|
|
|
|
function deploy_ppc_website {
|
|
echo "c2vi: Deploying ppc website to fes"
|
|
|
|
# compile
|
|
cargo build --release --no-default-features --features server --manifest-path $MIZE_SRC/packages/ppc/Cargo.toml
|
|
|
|
ssh fes rm /home/server/here/ppc
|
|
# upload
|
|
scp $MIZE_SRC/target/release/ppc fes:here
|
|
|
|
# restart service
|
|
ssh fe "sudo systemctl restart ppc"
|
|
}
|
|
|
|
function deploy_main_obsidian {
|
|
echo "c2vi: Deploying to local main obsidian vault..."
|
|
|
|
deno run --config $MIZE_SRC/packages/ppc/platform/obsidian/deno.json build
|
|
|
|
cp -r $MIZE_SRC/packages/ppc/platform/obsidian/dist/* ~/work/things/.obsidian/plugins/ppc/
|
|
}
|
|
|
|
main "$@"
|