summaryrefslogtreecommitdiff
path: root/scripts/installation.sh
blob: c1093013890849b77d58191863ce3f128db38e4e (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
# 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 repos
echo "Cloning repositories..."
mkdir -p "$install_dir"
cd "$install_dir"
git clone https://github.com/JustEnoughVCS/CommandLine
git clone 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!"