Skip to content

Commit 1c4a6ed

Browse files
committed
Add a script to run edkrepo_cli.py without edkrepo installed to host.
As the edkrepo installer is not run, include a requirements file for the python requirements. Signed-off-by: Nathaniel Haller <[email protected]>
1 parent a1b3f8e commit 1c4a6ed

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

edkrepo_dev.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#!/usr/bin/env python3
2+
#
3+
## @file
4+
# edkrepo_dev.py
5+
#
6+
# Copyright (C) 2024 Intel Corporation
7+
# SPDX-License-Identifier: BSD-2-Clause-Patent
8+
#
9+
10+
import sys
11+
import traceback
12+
if sys.version_info >= (3, 8):
13+
from importlib.metadata import version
14+
else:
15+
import pkg_resources
16+
from edkrepo.config.config_factory import GlobalConfig
17+
from edkrepo.common.edkrepo_exception import EdkrepoGlobalConfigNotFoundException
18+
from edkrepo import edkrepo_cli
19+
20+
if __name__ == '__main__':
21+
# Run the edkrepo command line interface without building and running the edkrepo installer.
22+
# Minimum Python version and Git version in README.md
23+
# Additional Python requirements in edkrepo_dev_requirements_windows.txt
24+
# EdkRepo 'git bash' features support require the installer to use.
25+
try:
26+
# If a global config file was not installed, do not continue further.
27+
GlobalConfig()
28+
except EdkrepoGlobalConfigNotFoundException as e:
29+
traceback.print_exc()
30+
print()
31+
print("Create a global edkrepo.cfg file before running edkrepo_dev.py.")
32+
print("example global config file: edk2-edkrepo/edkrepo_installer/Vendor/edkrepo.cfg")
33+
sys.exit(102)
34+
except Exception as e:
35+
traceback.print_exc()
36+
sys.exit(1)
37+
38+
try:
39+
# If system has edkrepo installed, exit
40+
if sys.version_info >= (3, 8):
41+
edkrepo_version = version("edkrepo")
42+
else:
43+
edkrepo_version = pkg_resources.get_distribution("edkrepo").version
44+
print("Edkrepo is found installed on the system. Edkrepo version: ", edkrepo_version)
45+
print("Run the edkrepo uninstaller before using 'edkrepo_dev.py'.")
46+
sys.exit(1)
47+
except:
48+
print("edkrepo running from development source.")
49+
50+
try:
51+
sys.exit(edkrepo_cli.main())
52+
except Exception as e:
53+
traceback.print_exc()
54+
sys.exit(1)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
colorama>=0.4.4
2+
gitdb>=4.0.7
3+
GitPython>=3.1.14
4+
smmap>=4.0.0
5+

0 commit comments

Comments
 (0)