diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-07 16:41:08 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-07 16:57:24 +0800 |
| commit | cc76b514a96331ca852d5a6cb1efabb72163722d (patch) | |
| tree | 8ac171df0a9ff4c9c9c93f5cfe2eea76a8b83a3a /mingling_cli | |
| parent | 81aa8266886d0dfb2961a9035a6f0b811b98be4f (diff) | |
build: replace cargo install with local release build in scripts
Update install scripts to build from manifest and copy binaries
manually instead of using `cargo install`. Add load scripts for
bash, zsh, fish, and PowerShell to set up PATH and source
completion scripts from external packages.
Diffstat (limited to 'mingling_cli')
| -rw-r--r-- | mingling_cli/scripts/load_mling.fish | 23 | ||||
| -rw-r--r-- | mingling_cli/scripts/load_mling.ps1 | 21 | ||||
| -rw-r--r-- | mingling_cli/scripts/load_mling.sh | 22 | ||||
| -rw-r--r-- | mingling_cli/scripts/load_mling.zsh | 22 |
4 files changed, 88 insertions, 0 deletions
diff --git a/mingling_cli/scripts/load_mling.fish b/mingling_cli/scripts/load_mling.fish new file mode 100644 index 0000000..ea8f1ff --- /dev/null +++ b/mingling_cli/scripts/load_mling.fish @@ -0,0 +1,23 @@ +#!/usr/bin/env fish + +set -g MLING_SCRIPT_DIR (path dirname (path resolve (status --current-filename))) + +if not contains -- "$MLING_SCRIPT_DIR/bin" $PATH + set -gx PATH "$MLING_SCRIPT_DIR/bin" $PATH +end + +if test -f "$MLING_SCRIPT_DIR/scripts/mling_comp.fish" + source "$MLING_SCRIPT_DIR/scripts/mling_comp.fish" +end + +for pkg_dir in (mingling-cli __loadpkgs_path 2>/dev/null | string split '\n' | string match -rv '^$') + if test -d "$pkg_dir"; and not contains -- "$pkg_dir" $PATH + set -gx PATH "$pkg_dir" $PATH + end +end + +for script in (mingling-cli __loadpkgs_comp_scripts 2>/dev/null | string split '\n' | string match -rv '^$') + if string match -q '*.fish' -- "$script"; and test -f "$script" + source "$script" + end +end diff --git a/mingling_cli/scripts/load_mling.ps1 b/mingling_cli/scripts/load_mling.ps1 new file mode 100644 index 0000000..e3989a6 --- /dev/null +++ b/mingling_cli/scripts/load_mling.ps1 @@ -0,0 +1,21 @@ +$ScriptDir = if ($PSScriptRoot) { $PSScriptRoot } else { Split-Path -Parent $MyInvocation.MyCommand.Path } + +$env:PATH = "$ScriptDir\bin;$env:PATH" + +if (Test-Path -PathType Leaf "$ScriptDir\scripts\mling_comp.ps1") { + . "$ScriptDir\scripts\mling_comp.ps1" +} + +foreach ($pkgDir in (& mingling-cli __loadpkgs_path 2>$null)) { + if (-not [string]::IsNullOrWhiteSpace($pkgDir) -and (Test-Path -PathType Container $pkgDir)) { + if ($env:PATH -notmatch [regex]::Escape($pkgDir)) { + $env:PATH = "$pkgDir;$env:PATH" + } + } +} + +foreach ($script in (& mingling-cli __loadpkgs_comp_scripts 2>$null)) { + if ($script -like '*.ps1' -and (Test-Path -PathType Leaf $script)) { + . $script + } +} diff --git a/mingling_cli/scripts/load_mling.sh b/mingling_cli/scripts/load_mling.sh new file mode 100644 index 0000000..db0d79e --- /dev/null +++ b/mingling_cli/scripts/load_mling.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +MLING_SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" + +export PATH="$MLING_SCRIPT_DIR/bin:$PATH" + +if [[ -f "$MLING_SCRIPT_DIR/scripts/mling_comp.sh" ]]; then + source "$MLING_SCRIPT_DIR/scripts/mling_comp.sh" +fi + +while IFS= read -r pkg_dir; do + [[ -z "$pkg_dir" || ! -d "$pkg_dir" ]] && continue + case ":$PATH:" in + *":$pkg_dir:"*) ;; + *) export PATH="$pkg_dir:$PATH" ;; + esac +done < <(mingling-cli __loadpkgs_path 2>/dev/null) + +while IFS= read -r script; do + [[ "$script" == *.sh && -f "$script" ]] || continue + source "$script" +done < <(mingling-cli __loadpkgs_comp_scripts 2>/dev/null) diff --git a/mingling_cli/scripts/load_mling.zsh b/mingling_cli/scripts/load_mling.zsh new file mode 100644 index 0000000..b434e83 --- /dev/null +++ b/mingling_cli/scripts/load_mling.zsh @@ -0,0 +1,22 @@ +#!/bin/bash + +MLING_SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" + +export PATH="$MLING_SCRIPT_DIR/bin:$PATH" + +if [[ -f "$MLING_SCRIPT_DIR/scripts/mling_comp.zsh" ]]; then + source "$MLING_SCRIPT_DIR/scripts/mling_comp.zsh" +fi + +while IFS= read -r pkg_dir; do + [[ -z "$pkg_dir" || ! -d "$pkg_dir" ]] && continue + case ":$PATH:" in + *":$pkg_dir:"*) ;; + *) export PATH="$pkg_dir:$PATH" ;; + esac +done < <(mingling-cli __loadpkgs_path 2>/dev/null) + +while IFS= read -r script; do + [[ "$script" == *.zsh && -f "$script" ]] || continue + source "$script" +done < <(mingling-cli __loadpkgs_comp_scripts 2>/dev/null) |
