-
Notifications
You must be signed in to change notification settings - Fork 378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Constraints - Generic Authoring #3107
Labels
7.0
Cost:M
Work that requires one engineer up to 2 weeks
Priority:1
Work that is critical for the release, but we could probably ship without
triaged
The issue was evaluated by the triage team, placed on correct area, next action defined.
User Story
A single user-facing feature. Can be grouped under an epic.
Milestone
Comments
This was referenced Aug 3, 2021
2 tasks
10 tasks
Closed
This was referenced Apr 18, 2022
2 tasks
This was referenced May 6, 2022
This was referenced May 17, 2022
This was referenced May 17, 2022
This was referenced May 19, 2022
This was referenced Jun 8, 2022
All the work is done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
7.0
Cost:M
Work that requires one engineer up to 2 weeks
Priority:1
Work that is critical for the release, but we could probably ship without
triaged
The issue was evaluated by the triage team, placed on correct area, next action defined.
User Story
A single user-facing feature. Can be grouped under an epic.
Background
Allows restrict templates to be allowed to run / be visible only in case certain conditions are met.
Today, the engine has have very little insight into the context that a template is valid for. Aside from filtering based on language, all the installed templates are treated equally. This causes issues with filtering, install-time validation and instantiation-time validation.
For instance, it is possible to install & instantiate WPF project template on a Linux machine. It is also possible to add a Razor page into that WPF project.
Another example: it is possible for a user to instantiate an item template containing some C# 9.0 code into a project that has
<LangVersion>
set to 8.0.In an ideal scenario, the engine should be able to filter templates depending on
Justification
This enables:
Customer impact
Engineering impact
Sub tasks
done
Edge
implementation:TemplateConstraintManager
classOrchestration
: reading constraints configuration fromtemplate.json
Utils
:WellKnownSearchFilters
for constraintsCli
: implementation for instantiateCli
:list
adaptationCli
: option to ignore the constraintCli
: adapt install\update template display after installationCli
: adapt tab completionCli
: adapt error handling on instantiation, allow--force
to ignore constraintsThe text was updated successfully, but these errors were encountered: