Skip to content

Commit

Permalink
Refactor build system, simplify templates and escape macros in code
Browse files Browse the repository at this point in the history
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
johndoe committed Nov 18, 2019
1 parent aad5053 commit 6f0d314
Show file tree
Hide file tree
Showing 80 changed files with 1,007 additions and 1,355 deletions.
41 changes: 22 additions & 19 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ addons:
apt:
packages:
- python3
ssh_known_hosts: modos189.ru
ssh_known_hosts: ssh.modos189.ru
notifications:
email:
on_success: change
Expand All @@ -37,24 +37,27 @@ before_script:
- chmod 600 /tmp/deploy_rsa
- eval "$(ssh-agent -s)"
- ssh-add /tmp/deploy_rsa
- wget https://iitc.modos189.ru/deploy/localbuildsettings.py
- wget https://iitc.modos189.ru/deploy/deploy.sh

script:
- wget https://iitc.modos189.ru/deploy/$BUILD_TYPE/localbuildsettings.py
- ./build.py $BUILD_TYPE
- ./build.py mobile
script: ./build.py $BUILD_TYPE

deploy:
provider: releases
name: $TRAVIS_TAG
skip_cleanup: true
api_key:
secure: KoJXTxCoatpFbQgbW1VBIh1ndtQIEmj68sANI+zOs54vi9XMCG3RM4cFn4y7YsSI/kz6XcoSC30SNnqedxHMPJyjrIWvVLKDTlbJswZmGhsslrZmClw3sFROKodVI5DoI0520mAfwzQ5PInPpSEfsPZQhA9ufv1wTZ/98q2efcRPu3J6riSdOZmqJ2A+veWpID3t3P57Lcjew+P3PdmUpwC9t6Yp4oQaYX4DZvMMpqK6s8E4EfOVQptaFAxYDIlAIWxNsfIJkx3jwmLdyaSwQL/fyesQ3fZRECKZTN7RM8/2nImuBZsq4uKS3nrKpLEXFTId45ET5N0fa23KXMLMM8NW0LlATLLWju+N7dP2HCeV5w2wxh+ToAR58XciiZLIsxI1IfF8WXloPax6DmJYksEKOenMYB/y/VASi5xbEhl89kdkxAaO6hAoVqKYo+xt7y3nPGSDUf+zfJnno5lPXgF3ctVAjmRBTWUSQQ5VhAeOp2LGg8ennzSkaLKxqyIxJ7F+n7Y0/QmG0uQzmerOjEEjVBsyVawRWjZGrDlog3Pq2S0n4vnbvbtUchwp/Fapjtg1f1pWy9Bzi1tnnE4ALJEmM894izxWH4vtDQu1+nkjKtLrkxgjk5yEuPj3n95ab64UO1To/x4YlyApmLkDeZIEMd+5siBTeGlB1V05Mr4=
file_glob: true
file:
- ./build/mobile/IITC_Mobile-release.apk
- ./build/release/*
on:
repo: IITC-CE/ingress-intel-total-conversion
tags: true
all_branches: true
condition: $TRAVIS_BRANCH != test-builds
- provider: script
script: bash deploy.sh $BUILD_TYPE
skip_cleanup: true
on:
branch:
- master
- test-builds
- provider: releases
name: $TRAVIS_TAG
api_key:
secure: KoJXTxCoatpFbQgbW1VBIh1ndtQIEmj68sANI+zOs54vi9XMCG3RM4cFn4y7YsSI/kz6XcoSC30SNnqedxHMPJyjrIWvVLKDTlbJswZmGhsslrZmClw3sFROKodVI5DoI0520mAfwzQ5PInPpSEfsPZQhA9ufv1wTZ/98q2efcRPu3J6riSdOZmqJ2A+veWpID3t3P57Lcjew+P3PdmUpwC9t6Yp4oQaYX4DZvMMpqK6s8E4EfOVQptaFAxYDIlAIWxNsfIJkx3jwmLdyaSwQL/fyesQ3fZRECKZTN7RM8/2nImuBZsq4uKS3nrKpLEXFTId45ET5N0fa23KXMLMM8NW0LlATLLWju+N7dP2HCeV5w2wxh+ToAR58XciiZLIsxI1IfF8WXloPax6DmJYksEKOenMYB/y/VASi5xbEhl89kdkxAaO6hAoVqKYo+xt7y3nPGSDUf+zfJnno5lPXgF3ctVAjmRBTWUSQQ5VhAeOp2LGg8ennzSkaLKxqyIxJ7F+n7Y0/QmG0uQzmerOjEEjVBsyVawRWjZGrDlog3Pq2S0n4vnbvbtUchwp/Fapjtg1f1pWy9Bzi1tnnE4ALJEmM894izxWH4vtDQu1+nkjKtLrkxgjk5yEuPj3n95ab64UO1To/x4YlyApmLkDeZIEMd+5siBTeGlB1V05Mr4=
file_glob: true
file:
- ./build/release/IITC_Mobile-release.apk
- ./build/release/*
on:
tags: true
condition: $TRAVIS_BRANCH != test-builds
Loading

0 comments on commit 6f0d314

Please sign in to comment.