Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor build system, simplify templates and escape macros in code
Refactor build system into several modules: - `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`) - `build_plugin.py`: to build single plugin formats userscript metablock, preprocesses sources - makes templates substitutions, inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`) - `pluginwrapper_noinject.py` - alternative wrapper, useful for debugging scripts. Sample usage in `buildsettings.py`, for build name 'tmdev'. - `build_mobile.py`: to build android apk (embedding scripts from given directory) - `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk. - `--watch` mode (auto-rebuild on sources changes) Each module can be used independently as cli utility. Escape macros in code in order to keep js-validity, fix IITC-CE#50. Simplify userscripts source template, completely get rid of these ugly substitutions: - `@@MetaInfo@@` - `@@PLUGINSTART@@` - `@@PLUGINEND@@` - `.@@DATETIMEVERSION@@` - `[@@Buildname@@-@@BUILDDATE@@]` Close IITC-CE#150: use template from settings instead of url harcoding. Close IITC-CE#99: remove timestamp component from `version` of Release scripts. Rename plugin sources: `*.user.js` -> `*.js` Additional dev utilities: - `web_meta_gen.py` to generate meta.json for IITC-Button. Can be used as standalone cli, or as part of build process. - `web_server_local.py` to start local webserver for specified build name.
- Loading branch information