-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
copier.yml
152 lines (128 loc) Β· 3.99 KB
/
copier.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# questions
project_type:
type: str
help: Select your project type.
choices:
Ignition project: ignition-project
Jython package: jython-package
Python 2 package: python2-package
Python 3 stubs: python3-stubs
author_fullname:
type: str
help: What's your name?
validator: >-
{% if not author_fullname %}
Please provide your name.
{% endif %}
author_email:
type: str
help: What's your email address?
validator: >-
{% if not (author_email | regex_search('(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)')) %}
Field must be a valid email address.
{% endif %}
project_name:
type: str
help: Project name
validator: >-
{% if not (project_name | regex_search('^[a-z][a-z0-9\-]+$')) %}
Must start with a letter, followed one or more letters, digits or hyphens all lowercase.
{% endif %}
project_description:
type: str
help: A short description of the project
validator: >-
{% if not project_description %}
Please provide a short description.
{% endif %}
project_development_status:
type: str
help: What is the development status of this project?
default: 3 - Alpha
choices:
Planning: 1 - Planning
Pre-Alpha: 2 - Pre-Alpha
Alpha: 3 - Alpha
Beta: 4 - Beta
Stable: 5 - Production/Stable
Mature: 6 - Mature
Inactive: 7 - Inactive
when: "{{ project_type != 'ignition-project' }}"
github_org:
type: str
help: Provide a GitHub username or organization.
validator: >-
{% if not (github_org | regex_search('(?i)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$')) %}
The name may only contain alphanumeric characters or single hyphens, and cannot begin or end with a hyphen.
{% endif %}
github_repo:
type: str
help: Provide a GitHub repository name for your username or organization.
default: "{{ project_name }}"
validator: >-
{% if not (github_repo | regex_search('^[a-z][a-z0-9\-]+$')) %}
Must start with a letter, followed one or more letters, digits or hyphens all lowercase.
{% endif %}
project_license:
type: str
help: Choose a license
default: MIT License
choices:
Apache: Apache Software License
GPLv3: GNU General Public License v3 (GPLv3)
ISC: ISC License (ISCL)
MIT: MIT License
None: None
Unlicense: Unlicense
copyright_holder:
type: str
help: Who is the copyright holder?
default: "{{ author_fullname }}"
when: "{{ project_license not in ['None', 'Unlicense'] }}"
copyright_year:
type: str
help: Copyright year(s)
default: 2024
when: "{{ project_license not in ['None', 'Unlicense'] }}"
project_inheritable:
type: bool
help: Is this project inheritable?
default: yes
when: "{{ project_type == 'ignition-project' }}"
use_sourcery:
type: bool
help: Use sourcery?
default: yes
when: "{{ project_type != 'python3-stubs' }}"
upload_registry:
type: bool
help: Will this project be uploaded to a Python repository? (E.g. PyPI, Azure Artifacts)
default: "{{ project_license != 'None' }}"
when: "{{ project_type != 'ignition-project' }}"
registry_url:
type: str
help: The repository (package index) URL to upload the package to.
default: https://upload.pypi.org/legacy/
when: "{{ upload_registry and project_type != 'ignition-project'}}"
registry_username:
type: str
help: The username to authenticate to the repository (package index) as.
default: __token__
when: "{{ upload_registry and project_type != 'ignition-project' }}"
use_devcontainer:
type: bool
help: Should this project use a devcontainer for development?
default: no
when: "{{ project_type == 'jython-package' or project_type == 'python2-package' }}"
# Copier metadata
_min_copier_version: "9"
_subdirectory: "{{ project_type }}"
_message_after_copy: |
Your project "{{ project_name }}" has been created successfully!
Next steps:
1. Change directory to the project root:
$ cd {{ _copier_conf.dst_path }}
2. Initialize your Git repository:
$ git init
3. Install the pre-commit script:
$ pre-commit install