Initial commit
This commit is contained in:
90
env/lib/python3.10/site-packages/wagtail/utils/setup.py
vendored
Normal file
90
env/lib/python3.10/site-packages/wagtail/utils/setup.py
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
import json
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from setuptools import Command
|
||||
from setuptools.command.bdist_egg import bdist_egg
|
||||
from setuptools.command.sdist import sdist as base_sdist
|
||||
|
||||
from wagtail import __semver__
|
||||
|
||||
|
||||
class assets_mixin:
|
||||
def compile_assets(self):
|
||||
try:
|
||||
subprocess.check_call(["npm", "run", "build"])
|
||||
except (OSError, subprocess.CalledProcessError) as e:
|
||||
print("Error compiling assets: " + str(e)) # noqa: T201
|
||||
raise SystemExit(1)
|
||||
|
||||
def publish_assets(self):
|
||||
try:
|
||||
subprocess.check_call(["npm", "publish", "client"])
|
||||
except (OSError, subprocess.CalledProcessError) as e:
|
||||
print("Error publishing front-end assets: " + str(e)) # noqa: T201
|
||||
raise SystemExit(1)
|
||||
|
||||
def bump_client_version(self):
|
||||
"""
|
||||
Writes the current Wagtail version number into package.json
|
||||
"""
|
||||
path = os.path.join(".", "client", "package.json")
|
||||
input_file = open(path)
|
||||
|
||||
try:
|
||||
package = json.loads(input_file.read().decode("utf-8"))
|
||||
except ValueError as e:
|
||||
print("Unable to read " + path + " " + e) # noqa: T201
|
||||
raise SystemExit(1)
|
||||
|
||||
package["version"] = __semver__
|
||||
|
||||
try:
|
||||
with open(path, "w", encoding="utf-8") as f:
|
||||
f.write(str(json.dumps(package, indent=2, ensure_ascii=False)))
|
||||
except OSError as e:
|
||||
print( # noqa: T201
|
||||
"Error setting the version for front-end assets: " + str(e)
|
||||
)
|
||||
raise SystemExit(1)
|
||||
|
||||
|
||||
class assets(Command, assets_mixin):
|
||||
user_options = []
|
||||
|
||||
def initialize_options(self):
|
||||
pass
|
||||
|
||||
def finalize_options(self):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
self.bump_client_version()
|
||||
self.compile_assets()
|
||||
self.publish_assets()
|
||||
|
||||
|
||||
class sdist(base_sdist, assets_mixin):
|
||||
def run(self):
|
||||
self.compile_assets()
|
||||
base_sdist.run(self)
|
||||
|
||||
|
||||
class check_bdist_egg(bdist_egg):
|
||||
# If this file does not exist, warn the user to compile the assets
|
||||
sentinel_dir = "wagtail/wagtailadmin/static/"
|
||||
|
||||
def run(self):
|
||||
bdist_egg.run(self)
|
||||
if not os.path.isdir(self.sentinel_dir):
|
||||
print( # noqa: T201
|
||||
"\n".join(
|
||||
[
|
||||
"************************************************************",
|
||||
"The front end assets for Wagtail are missing.",
|
||||
"To generate the assets, please refer to the documentation in",
|
||||
"docs/contributing/developing.md",
|
||||
"************************************************************",
|
||||
]
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user