Revision 01c1904a
Added by koszko about 1 year ago
setup.py | ||
---|---|---|
8 | 8 |
import setuptools |
9 | 9 |
|
10 | 10 |
from setuptools.command.build_py import build_py |
11 |
from setuptools.command.sdist import sdist |
|
12 |
|
|
13 |
from pathlib import Path |
|
14 |
|
|
15 |
here = Path(__file__).resolve().parent |
|
11 | 16 |
|
12 | 17 |
class CustomBuildCommand(build_py): |
13 |
''' |
|
14 |
The build command but runs babel before build. |
|
15 |
''' |
|
18 |
"""The build command but runs babel before build.""" |
|
16 | 19 |
def run(self, *args, **kwargs): |
20 |
"""Wrapper around build_py's original run() method.""" |
|
17 | 21 |
self.run_command('compile_catalog') |
22 |
|
|
23 |
super().run(*args, **kwargs) |
|
24 |
|
|
25 |
class CustomSdistCommand(sdist): |
|
26 |
""" |
|
27 |
The sdist command but prevents compiled message catalogs from being included |
|
28 |
in the archive. |
|
29 |
""" |
|
30 |
def run(self, *args, **kwargs): |
|
31 |
"""Wrapper around sdist's original run() method.""" |
|
32 |
locales_dir = here / 'src/hydrilla/builder/locales' |
|
33 |
locale_files = {} |
|
34 |
|
|
35 |
for path in locales_dir.rglob('*.mo'): |
|
36 |
locale_files[path] = path.read_bytes() |
|
37 |
|
|
38 |
for path in locale_files: |
|
39 |
path.unlink() |
|
40 |
|
|
18 | 41 |
super().run(*args, **kwargs) |
19 | 42 |
|
20 |
setuptools.setup(cmdclass={'build_py': CustomBuildCommand}) |
|
43 |
for path, contents in locale_files.items(): |
|
44 |
path.write_bytes(contents) |
|
45 |
|
|
46 |
setuptools.setup(cmdclass = { |
|
47 |
'build_py': CustomBuildCommand, |
|
48 |
'sdist': CustomSdistCommand |
|
49 |
}) |
Also available in: Unified diff
improve packaging of data files
This commit stops setuptools from presenting a depracetion warning.
This commit ensures .mo files will not be included in source distributions.