-
Notifications
You must be signed in to change notification settings - Fork 53
/
Makefile
83 lines (58 loc) · 3.15 KB
/
Makefile
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
# Makefile for managing Jekyll project for BlackPythonDev
# Set up the environment by pulling the latest Ruby build definitions, installing Ruby 3.3.5,
# as seen in the .ruby-version file, installing required gems and Python packages,
# and configuring pre-commit hooks
.PHONY: setup-ruby setup-python install
install: setup-ruby setup-python
# Install the necessary Ruby gems defined in the Gemfile
- bundle install
# Install Python dependencies defined in requirements-dev.txt
- pip install -r requirements-dev.txt
# Set up pre-commit hooks as defined in the configuration file
- pre-commit install
setup-ruby:
# Pull the latest ruby-build plugin updates
- git -C /root/.rbenv/plugins/ruby-build pull
# Install Ruby version 3.3.5 using rbenv
- rbenv install 3.3.5
# Set local version of ruby to 3.3.5
- rbenv local 3.3.5
setup-python:
# System Build Dependencies for pyenv
- sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
# Install Pyenv
- curl https://pyenv.run | bash
# Add Pyenv to Environment
@echo "Setting up pyenv in ~/.bash_profile, ~/.profile, and ~/.bashrc..."
@if [ -f $$HOME/.bash_profile ]; then \
echo "Appending to ~/.bash_profile"; \
grep -qxF 'export PYENV_ROOT="$$HOME/.pyenv"' $$HOME/.bash_profile || echo 'export PYENV_ROOT="$$HOME/.pyenv"' >> $$HOME/.bash_profile; \
grep -qxF '[[ -d $$PYENV_ROOT/bin ]] && export PATH="$$PYENV_ROOT/bin:$$PATH"' $$HOME/.bash_profile || echo '[[ -d $$PYENV_ROOT/bin ]] && export PATH="$$PYENV_ROOT/bin:$$PATH"' >> $$HOME/.bash_profile; \
grep -qxF 'eval "$$(pyenv init -)"' $$HOME/.bash_profile || echo 'eval "$$(pyenv init -)"' >> $$HOME/.bash_profile; \
else \
echo "Appending to ~/.profile"; \
grep -qxF 'export PYENV_ROOT="$$HOME/.pyenv"' $$HOME/.profile || echo 'export PYENV_ROOT="$$HOME/.pyenv"' >> $$HOME/.profile; \
grep -qxF '[[ -d $$PYENV_ROOT/bin ]] && export PATH="$$PYENV_ROOT/bin:$$PATH"' $$HOME/.profile || echo '[[ -d $$PYENV_ROOT/bin ]] && export PATH="$$PYENV_ROOT/bin:$$PATH"' >> $$HOME/.profile; \
grep -qxF 'eval "$$(pyenv init -)"' $$HOME/.profile || echo 'eval "$$(pyenv init -)"' >> $$HOME/.profile; \
fi
# Append to ~/.bashrc for interactive shells
@echo "Appending to ~/.bashrc"
@grep -qxF 'export PYENV_ROOT="$$HOME/.pyenv"' $$HOME/.bashrc || echo 'export PYENV_ROOT="$$HOME/.pyenv"' >> $$HOME/.bashrc
@grep -qxF '[[ -d $$PYENV_ROOT/bin ]] && export PATH="$$PYENV_ROOT/bin:$$PATH"' $$HOME/.bashrc || echo '[[ -d $$PYENV_ROOT/bin ]] && export PATH="$$PYENV_ROOT/bin:$$PATH"' >> $$HOME/.bashrc
@grep -qxF 'eval "$$(pyenv init -)"' $$HOME/.bashrc || echo 'eval "$$(pyenv init -)"' >> $$HOME/.bashrc
@echo "Pyenv setup completed."
# Install Python version
- pyenv install 3.11.7
# Set local python to 3.11.7
- pyenv local 3.11.7
# Start the Jekyll development server
start:
bundle exec jekyll serve
# Start the Jekyll server in detached mode (runs in the background)
start-detach:
bundle exec jekyll serve --detach
# Stop the detached Jekyll server (Kill the background Jekyll process)
stop-detach:
pkill -f jekyll