Переглянути джерело

Make sure to always build the assets when building a python package (#4306)

master
Voxin Muyli 11 місяці тому
джерело
коміт
0247120559
Аккаунт користувача з таким Email не знайдено
1 змінених файлів з 15 додано та 2 видалено
  1. 15
    2
      setup.py

+ 15
- 2
setup.py Переглянути файл

8
 """
8
 """
9
 import os
9
 import os
10
 import re
10
 import re
11
+import subprocess
11
 import sys
12
 import sys
12
 
13
 
14
+# pylint: disable=deprecated-module
15
+from distutils.command import build as build_module
16
+
13
 from setuptools import setup, find_packages
17
 from setuptools import setup, find_packages
14
 
18
 
15
 PROJECT_DIR = os.path.dirname(__file__)
19
 PROJECT_DIR = os.path.dirname(__file__)
17
 sys.path.append(os.path.join(PROJECT_DIR, "src"))
21
 sys.path.append(os.path.join(PROJECT_DIR, "src"))
18
 from oscar import get_version  # noqa isort:skip
22
 from oscar import get_version  # noqa isort:skip
19
 
23
 
24
+
25
+class BuildNPM(build_module.build):
26
+    def run(self):
27
+        subprocess.check_call(["npm", "install"])
28
+        subprocess.check_call(["npm", "run", "build"])
29
+        super().run()
30
+
31
+
20
 install_requires = [
32
 install_requires = [
21
     "setuptools>=51.3.3",
33
     "setuptools>=51.3.3",
22
     "django>=3.2,<4.3",
34
     "django>=3.2,<4.3",
88
     license="BSD",
100
     license="BSD",
89
     platforms=["linux"],
101
     platforms=["linux"],
90
     include_package_data=True,
102
     include_package_data=True,
91
-    package_dir={'': 'src'},
92
-    packages=find_packages('src'),
103
+    package_dir={"": "src"},
104
+    packages=find_packages("src"),
93
     python_requires=">=3.8",
105
     python_requires=">=3.8",
94
     install_requires=install_requires,
106
     install_requires=install_requires,
95
     extras_require={
107
     extras_require={
98
         "sorl-thumbnail": [sorl_thumbnail_version],
110
         "sorl-thumbnail": [sorl_thumbnail_version],
99
         "easy-thumbnails": [easy_thumbnails_version],
111
         "easy-thumbnails": [easy_thumbnails_version],
100
     },
112
     },
113
+    cmdclass={"build": BuildNPM},
101
     classifiers=[
114
     classifiers=[
102
         "Development Status :: 5 - Production/Stable",
115
         "Development Status :: 5 - Production/Stable",
103
         "Environment :: Web Environment",
116
         "Environment :: Web Environment",

Завантаження…
Відмінити
Зберегти