level 9: moban dependency as pypi package

Why not enable template reuse? Once a template is written somewhere by somebody, as long as it is good and useful, it is always to reuse it, isn’t it? DRY principle kicks in.

Now with moban, it is possible to package up your mobans/templates into a pypi package and distribute it to the world of moban.

Here are the sample file:

requires:
   - pypi-mobans
configuration:
  template_dir:
    - "pypi-mobans:templates"
  configuration: config.yml
targets:
  - mytravis.yml: travis.yml.jj2
  - test.txt: demo.txt.jj2

where requires lead to a list of pypi packages. The short syntax is:

requires:
  - python-package-name

When you refer to it in configuration section, here is the syntax:

configuration:
  - template_dir:
    - "python-package-name:relative-folder-inside-the-package"

Note: when you do not have relative directory, please keep semi-colon:

configuration:
  template_dir:
    - "python-package-name:"

Alternative syntax

The alternative syntax is:

requires:
   - type: pypi
     name: pypi-mobans
...