Files
@ b374803eafb6
Branch filter:
Location: kallithea/scripts/generate-ini.py - annotation
b374803eafb6
1.5 KiB
text/x-python
MANIFEST: only include bootstrap from node_modules when packaging or installing
With the 'less' source folder placed under 'public', the whole folder happened
to be fully included in source distribution and installed. *If* 'npm install'
has been run, 'kallithea/public/less/node_modules/' will contain both
build/development tools ('less' and dependencies) and the source of Bootstrap.
We do want Bootstrap source to be included so it automatically gets 'vendored',
but we don't want all the build tools.
We thus prune the whole 'node_modules' directory, but add
'node_modules/bootstrap' back in.
This is exactly what it is. It might seem a bit fragile: There is no
verification that it only is the 'bootstrap' directory that should be added
back in, and there is no verification that it actually is present and included.
With the 'less' source folder placed under 'public', the whole folder happened
to be fully included in source distribution and installed. *If* 'npm install'
has been run, 'kallithea/public/less/node_modules/' will contain both
build/development tools ('less' and dependencies) and the source of Bootstrap.
We do want Bootstrap source to be included so it automatically gets 'vendored',
but we don't want all the build tools.
We thus prune the whole 'node_modules' directory, but add
'node_modules/bootstrap' back in.
This is exactly what it is. It might seem a bit fragile: There is no
verification that it only is the 'bootstrap' directory that should be added
back in, and there is no verification that it actually is present and included.
06d5c043e989 06d5c043e989 213085032127 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 e3cce237d77c e3cce237d77c 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 fc6b1b0e1096 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 94f6b23e52d0 06d5c043e989 665dfa112f2c 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 665dfa112f2c 06d5c043e989 06d5c043e989 d06039dc4ca2 06d5c043e989 94f6b23e52d0 94f6b23e52d0 06d5c043e989 06d5c043e989 06d5c043e989 | #!/usr/bin/env python2
"""
Based on kallithea/lib/paster_commands/template.ini.mako, generate
development.ini
kallithea/tests/test.ini
"""
import re
from kallithea.lib import inifile
# files to be generated from the mako template
ini_files = [
('development.ini',
{
'[server:main]': {
'host': '0.0.0.0',
},
'[app:main]': {
'initial_repo_scan': 'true',
'debug': 'true',
'app_instance_uuid': 'development-not-secret',
'beaker.session.secret': 'development-not-secret',
},
'[handler_console]': {
'formatter': 'color_formatter',
},
'[handler_console_sql]': {
'formatter': 'color_formatter_sql',
},
},
),
]
def main():
# make sure all mako lines starting with '#' (the '##' comments) are marked up as <text>
makofile = inifile.template_file
print 'reading:', makofile
mako_org = open(makofile).read()
mako_no_text_markup = re.sub(r'</?%text>', '', mako_org)
mako_marked_up = re.sub(r'\n(##.*)', r'\n<%text>\1</%text>', mako_no_text_markup, flags=re.MULTILINE)
if mako_marked_up != mako_org:
print 'writing:', makofile
open(makofile, 'w').write(mako_marked_up)
# create ini files
for fn, settings in ini_files:
print 'updating:', fn
inifile.create(fn, None, settings)
if __name__ == '__main__':
main()
|