This repository has been archived by the owner on Jan 5, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Makefile
67 lines (54 loc) · 2.5 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
VenvActivate := "./env/Scripts/activate.bat"
SitePackages := %LOCALAPPDATA%\Programs\Python\Python38\Lib\site-packages
.PHONY: help requirements updates docs venv package gui
help:
@echo make targets:
@echo requirements install required dependencies
@echo updates updates gui wrapper ui from vsdownload.ui
@echo docs generates CLI-API.md
@echo venv create virtual envoirnment
@echo package create vsdownload.exe package
@echo gui create vsdownload_gui.exe and vsdownload.exe package
@echo help shows this help message
requirements:
@pip install pip --upgrade
@pip install virtualenv
@pip install -r requirements.txt
@pip install PyQt6
updates:
@pyuic6 vsdownload/vsdownload.ui -x -o vsdownload/vsdownload_ui.py
docs:
@pip install typer-cli --upgrade
@typer vsdownload/vsdownload.py utils docs --output docs/CLI-API.md
@pip install typer --upgrade
@pip install click --upgrade
venv:
@python -m venv env
@$(VenvActivate) && python -m pip install --upgrade pip
@$(VenvActivate) && python -m pip install pyinstaller
@$(VenvActivate) && python -m pip install -r requirements.txt
package: venv
@$(VenvActivate) && pyinstaller main.py \
--name vsdownload --onefile --noconfirm \
--add-data "$(SitePackages)\selenium;selenium" --add-data "$(SitePackages)\Crypto;Crypto"
@powershell -C "Remove-Item vsdownload.spec"
@powershell -C "Remove-Item env -Recurse"
@powershell -C "Remove-Item __pycache__ -Recurse"
@powershell -C "Remove-Item build -Recurse"
gui: venv
@$(VenvActivate) && python -m pip install PyQt6
@$(VenvActivate) && pyinstaller main.py \
--name vsdownload --noconfirm \
--add-data "$(SitePackages)\selenium;selenium" --add-data "$(SitePackages)\Crypto;Crypto"
@powershell -C "Rename-Item -Path dist -NewName dist_cli"
@$(VenvActivate) && pyinstaller main_gui_wrapper.py \
--name vsdownload_gui --noconfirm --noconsole \
--add-data "$(SitePackages)\selenium;selenium" --add-data "$(SitePackages)\Crypto;Crypto"
@powershell -C "Copy-Item -Path dist_cli/vsdownload/* -Destination dist/vsdownload_gui -Recurse -Force"
@powershell -C "Compress-Archive -Path dist/vsdownload_gui -DestinationPath dist/vsdownload_gui.zip"
@powershell -C "Remove-Item env -Recurse"
@powershell -C "Remove-Item __pycache__ -Recurse"
@powershell -C "Remove-Item build -Recurse"
@powershell -C "Remove-Item dist_cli -Recurse"
@powershell -C "Remove-Item vsdownload.spec"
@powershell -C "Remove-Item vsdownload_gui.spec"