blob: 5e853b6e5f019ef66e2e5acc91e1af72a6593f50 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# Check if required tools are installed
echo "Checking for required tools..."
if ! command -v cargo &> /dev/null; then
echo "Error: cargo is not installed. Please install Rust and Cargo first."
exit 1
fi
if ! command -v git &> /dev/null; then
echo "Error: git is not installed. Please install git first."
exit 1
fi
# Set installation directory to current directory
echo "Installation directory set to current directory: $(pwd)"
install_dir="$(pwd)"
# Clone or update repos
echo "Cloning or updating repositories..."
mkdir -p "$install_dir"
cd "$install_dir"
# Function to clone or pull repository
clone_or_pull() {
local repo_url="$1"
local repo_name=$(basename "$repo_url")
if [ -d "$repo_name" ]; then
echo "Repository $repo_name already exists, pulling latest changes..."
cd "$repo_name"
git pull origin main
cd ..
else
echo "Cloning $repo_name..."
git clone "$repo_url"
fi
}
# Clone or update repositories
clone_or_pull https://github.com/JustEnoughVCS/CommandLine
clone_or_pull https://github.com/JustEnoughVCS/VersionControl
# Setup VersionControl repo
echo "Setting up VersionControl..."
cd VersionControl
chmod +x setup.sh
./setup.sh
# Build CLI
echo "Building CLI..."
cd ../CommandLine
cargo build --release
cargo pub
# Configure shell to include CLI in PATH
echo "Now adding JustEnoughVCS CLI to your environment. Please select your target shell:"
echo "1) ~/.zshrc (Zsh)"
echo "2) ~/.bashrc (Bash)"
echo "3) ~/.config/fish/config.fish (Fish)"
echo "4) Skip shell configuration"
echo -n "Enter your choice (1-4): "
read choice
case $choice in
1)
config_file="$HOME/.zshrc"
;;
2)
config_file="$HOME/.bashrc"
;;
3)
config_file="$HOME/.config/fish/config.fish"
;;
4)
echo "Skipping shell configuration."
echo "Installation completed! You can manually add the CLI to your PATH later."
exit 0
;;
*)
echo "Invalid choice. Skipping shell configuration."
exit 0
;;
esac
cli_path="$(pwd)/.temp/publish/cli.sh"
echo "# JustEnoughVCS CLI" >> "$config_file"
echo "source \"$cli_path\"" >> "$config_file"
echo "CLI has been added to $config_file"
echo "Please restart your shell or run: source $config_file"
echo "Installation completed successfully!"
|