84 lines
2.6 KiB
YAML
84 lines
2.6 KiB
YAML
_exclude:
|
|
- ".gitea/"
|
|
- "CHANGELOG.md"
|
|
# imports
|
|
|
|
_jinja_extensions:
|
|
- bec_lib.utils.copier_jinja_filters.CopierFilters
|
|
|
|
# predefined values
|
|
# make sure these have 'when: false' so that the questions are not asked and the items are not saved in answers.yml
|
|
|
|
test_directories:
|
|
type: str
|
|
multiselect: true
|
|
default: ["tests_bec_ipython_client", "tests_bec_widgets", "tests_dap_services", "tests_devices", "tests_file_writer", "tests_scans"]
|
|
when: false
|
|
|
|
copyright_year:
|
|
type: int
|
|
default: 2025
|
|
when: false
|
|
|
|
# questions
|
|
|
|
project_name:
|
|
type: str
|
|
help: What is your project name?
|
|
|
|
widget_plugins_input:
|
|
# Defines the list of plugin widgets, following:
|
|
# - name: widget name in snake case
|
|
# use_ui: whether to generate a .ui file
|
|
type: yaml
|
|
multiline: true
|
|
default: []
|
|
|
|
# derived from questions: single point of configuration for plugin class names etc.
|
|
|
|
widget_plugins:
|
|
type: yaml
|
|
multiline: true
|
|
default: >
|
|
{% if not widget_plugins_input %} []
|
|
{% else %}
|
|
{% for wp in widget_plugins_input %}
|
|
- module: {{ wp.name }} # Module name for the whole plugin
|
|
class: {{ wp.name | snake_to_pascal }} # Class name for the plugin widget
|
|
use_ui: {{ wp.use_ui }} # Whether to create a .ui file and import it
|
|
{% if wp.use_ui %}
|
|
ui_module: {{ wp.name }}_ui # Module name for the compiled python UI
|
|
ui_class: Ui_{{ wp.name | snake_to_pascal }} # Class name for the compiled python UI
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
when: false
|
|
|
|
|
|
# other configuration
|
|
|
|
ui_fileinfo: # would like to save this programatically when generated but don't see how
|
|
type: yaml
|
|
multiline: true
|
|
default: >
|
|
{% if not widget_plugins %} []
|
|
{% else %}
|
|
{% for wp in widget_plugins %}
|
|
{% if wp.use_ui %}
|
|
- ui_file: {{ project_name }}/bec_widgets/widgets/{{ wp.module }}/{{ wp.module }}.ui
|
|
out_file: {{ project_name }}/bec_widgets/widgets/{{ wp.module }}/{{ wp.ui_module }}.py
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
when: false
|
|
|
|
_tasks:
|
|
- "git init --initial-branch=main"
|
|
- >
|
|
{% if not ui_fileinfo %} echo "No .ui files to process"
|
|
{% else %}
|
|
{% for info in ui_fileinfo %}pyside6-uic {{ info.ui_file }} -o {{ info.out_file }};
|
|
{% endfor %}
|
|
{% endif %}
|
|
- "git add -A; git commit -a -m 'Init repo {{ project_name }} at template version {{ _commit }}'"
|