-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcopier.yml
More file actions
145 lines (125 loc) · 3.92 KB
/
copier.yml
File metadata and controls
145 lines (125 loc) · 3.92 KB
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
###################
# Questions
###################
organization_name:
type: str
validator: "{% if organization_name == '' %}Must not be empty{% endif %}"
help: |
Organization ?
Generally the owner name of your repo
ie `orga` in https://github.com/orga/repo
organization_email:
type: str
default: "contact@{{ organization_name }}.com"
help: |
Contact Email ?
It's used in community document such as community standards or licence
organization_url:
type: str
default: "https://www.{{ organization_name }}.com"
help: |
Contact URL ?
It's used in community document such as community standards or licence
project_name:
type: str
validator: "{% if project_name == '' %}Must not be empty{% endif %}"
help: |
Project Name ?
Generally the name of your repo
ie `repo` in https://github.com/orga/repo
copyright_year:
type: int
help: "Copyright year?"
default: "{{ '%Y' | strftime }}"
validator: "{% if copyright_year <= 1950 %}Must be greater than 1950{% endif %}"
copyright_owner:
type: str
help: "License owner"
default: "{{ organization_name }}"
license_type:
type: str
help: Which license do you want?
default: Apache-2.0
choices:
# https://spdx.org/licenses/Apache-2.0.htmlx`
- Apache-2.0
# https://spdx.org/licenses/FSL-1.1-ALv2.html
- FSL-1.1-ALv2
# https://spdx.org/licenses/MIT.html
- MIT
# Other
- other
# package manager
# used to put in the path package manager specific scripts
# mostly release scripts
package_manager:
default: none
help: "The package manager"
choices:
- maven
- none
# The type of application
# Used to choose the correspondant release script
application_type:
default: other
help: "Application type (ie artifact in package)?"
choices:
- pom # maven pom.xml
- library
- cli
- other
# Releaser
releaser:
default: none
help: "Release manager: Release with?"
choices:
- jreleaser
- maven
- none
# The dependency manager
dependency_manager:
default: none
help: "Dependency Manager: Check your dependency with?"
choices:
- dependabot
- none
# the tag or full sha version of this devfiles project
# Used to define the git hooks in pre-commit-config template .pre-commit-config.yaml.jinja2 at release time
# Updating it with yq or sed is a big pain otherwise
# Ref: https://copier.readthedocs.io/en/stable/faq/#how-to-lock-a-computed-value
devfiles_version:
type: str
default: "v0.1.9"
when: false # never ask about it as it's constant
# External can be used only in copier.yml not in template
# to use a variable in a template, create a question with a false condition see devfiles_version as example
# https://copier.readthedocs.io/en/stable/configuring/#external_data
# _external_data:
# jinja file suffix
# jinja2 and not jinja because jinja is not mapped to jinja2 by default with Intellij
_templates_suffix: .jinja2
# Where the responses are stored
# Generated by `{{_copier_conf.answers-file}}.jinja` file
# https://copier.readthedocs.io/en/stable/configuring/#the-copier-answersyml-file
_answers_file: .copier-answers.yml
# Skip if exists
_skip_if_exists:
- "LICENSE"
- "ATTRIBUTIONS.md"
- "CONTRIBUTING.md"
- ".github/CODE_OF_CONDUCT.md"
- ".github/CONTRIBUTING.md"
- ".github/ISSUE_TEMPLATE"
- ".github/SECURITY.md"
- ".github/SUPPORT.md"
# Excluding
# https://copier.readthedocs.io/en/stable/configuring/#exclude
_exclude:
- "{% if package_manager != 'maven' %}.mvn{% endif %}"
- "{% if not ((application_type == 'pom' or application_type == 'library') and package_manager == 'maven' and releaser == 'jreleaser') %}cd-maven-jreleaser-library.yml{% endif %}"
- "{% if package_manager != 'maven' %}cd-maven-settings.xml{% endif %}"
- "{% if dependency_manager != 'dependabot' %}dependabot.yml{% endif %}"
# Subdirectory from the repo to use as template
_subdirectory: copier-template
# https://copier.readthedocs.io/en/stable/configuring/#tasks
# _tasks: