zulip_bots: Add custom command for generating MANIFEST.in.
We now have a custom command in zulip_bots/setup.py to generate a MANIFEST.in. To generate a MANIFEST for a PyPA release, we can now run: python setup.py gen_manifest --release To generate a non-release MANIFEST, we can run: python setup.py gen_manifest This allows us to automate the MANIFEST generation in our release automation script.
This commit is contained in:
parent
dfe4360108
commit
07edd4aa9b
|
@ -8,6 +8,12 @@ import warnings
|
|||
|
||||
from importlib import import_module
|
||||
|
||||
CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
ZULIP_BOTS_DIR = os.path.join(CURRENT_DIR, '..', 'zulip_bots')
|
||||
sys.path.append(ZULIP_BOTS_DIR)
|
||||
|
||||
import generate_manifest
|
||||
|
||||
def main():
|
||||
usage = """./tools/provision
|
||||
|
||||
|
|
|
@ -3,11 +3,43 @@
|
|||
import argparse
|
||||
import os
|
||||
import glob
|
||||
import distutils.cmd
|
||||
import distutils.log
|
||||
|
||||
CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))
|
||||
BOTS_DIR = os.path.normpath(os.path.join(CURRENT_DIR, 'zulip_bots', 'bots'))
|
||||
MANIFEST_PATH = os.path.join(CURRENT_DIR, 'MANIFEST.in')
|
||||
|
||||
class GenerateManifest(distutils.cmd.Command):
|
||||
"""
|
||||
A custom setup.py command to generate a MANIFEST.in
|
||||
for the zulip_bots package.
|
||||
"""
|
||||
description = 'generate a MANIFEST.in for PyPA or for development'
|
||||
user_options = [
|
||||
('release', None, 'generate a MANIFEST for a PyPA release'),
|
||||
]
|
||||
|
||||
def initialize_options(self):
|
||||
self.release = False
|
||||
|
||||
def finalize_options(self):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
if self.release:
|
||||
generate_release_manifest()
|
||||
self.announce(
|
||||
'Generating a MANIFEST for a PyPA release of zulip_bots.',
|
||||
level=distutils.log.INFO
|
||||
)
|
||||
else:
|
||||
generate_dev_manifest()
|
||||
self.announce(
|
||||
'Generating a MANIFEST for zulip_bots\' development.',
|
||||
level=distutils.log.INFO
|
||||
)
|
||||
|
||||
def get_test_fixtures():
|
||||
# type: () -> List[str]
|
||||
glob_pattern = os.path.join(BOTS_DIR, '*', 'fixtures', '*.json')
|
||||
|
|
|
@ -5,9 +5,7 @@ from __future__ import print_function
|
|||
|
||||
import sys
|
||||
|
||||
# Before anything, generate MANIFEST.in
|
||||
import generate_manifest
|
||||
generate_manifest.generate_dev_manifest()
|
||||
|
||||
# We should be installable with either setuptools or distutils.
|
||||
package_info = dict(
|
||||
|
@ -31,6 +29,9 @@ package_info = dict(
|
|||
],
|
||||
},
|
||||
include_package_data=True,
|
||||
cmdclass={
|
||||
'gen_manifest': generate_manifest.GenerateManifest,
|
||||
},
|
||||
) # type: Dict[str, Any]
|
||||
|
||||
setuptools_info = dict(
|
||||
|
|
Loading…
Reference in a new issue