Build tools for compiling javascript sources in DIRAC WebApp packages.
These instructions assume you are using a setup.cfg file to use setuptools to build your package with versioning being handled by setuptools-scm.
In order to use this to automatically compile javascript sources as part of wheel generation the pyproject.toml:
[build-system]
requires = ["dirac_webapp_packaging~=1.0", "WebAppDIRAC ~=4.3.0a0", "setuptools_scm[toml]>=3.4"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
# Avoid letting setuptools_scm use old style tags (i.e. vXrYpZ)
git_describe_command = "git describe --dirty --tags --long --match *[0-9]* --exclude v[0-9]r* --exclude v[0-9][0-9]r*"and, assuming your other metadata is in a setup.cfg, create a setup.py file containing:
from dirac_webapp_packaging import extjs_cmdclass
from setuptools import setup
setup(cmdclass=extjs_cmdclass)If you are building an extension to any of the pages in WebAppDIRAC pyproject.toml file the requires section under build-system must be modified slightly:
[build-system]
# NOTE: Make sure to keep the runtime requirement in setup.cfg in sync with this version
requires = ["dirac_webapp_packaging~=1.0", "WebAppDIRAC ~=4.3.0a0", "setuptools_scm[toml]>=3.4"]Additionally the dirac extension_metadata entrypoint should be modified to declare the static resources:
import importlib.resources
def extension_metadata():
return {
"priority": NNN,
"web_resources": {
"static": [importlib.resources.files(PKG_NAME) / "WebApp" / "static"],
}
}- Switch back to using
package_datainstead ofdata_filesfor distributing assets
- Initial release