conda / conda/constructor

Fix inconsistent use between jinja-templating and nsis code

Open
#1,109 0 comments 0 reactions 0 assignees View on GitHub
type::feature
Dominant language
Python
Stars
497
Forks
181
Avg merge
1d 16h
Merged PRs (30d)
17

Description

### Checklist

- [x] I added a descriptive title
- [x] I searched open requests and couldn't find a duplicate

### What is the idea?

In another issue it was [discussed](https://github.com/conda/constructor/pull/1105#discussion_r2525088958) that the NSIS templates contains a lot of inconsistencies between jinja-templating and NSIS code. Since NSIS and Jinja are used together, it would improve the code in terms of quality and readability if it was clearly defined in the codebase when we prefer to use Jinja vs NSIS logic. For example Jinja is preferred over NSIS when we work with for-loops, but there is also a lot of overlap between their functionality (if-statements for example).

We should clearly define how and when we want one or the other and update the code as necessary.

### Why is this needed?

Developers would mainly benefit from this feature because it would make it easier to work with the NSIS templates.

### What should happen?

1. Document when/where/how we want to use Jinja in the NSIS templates.
2. Update the code-base based on the documentation, or, if out of scope, create follow-up tickets.

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the NSIS templates and the linked discussion in pull request 1105 to identify the current overlap between Jinja and NSIS logic. Document when each should be used, then update the affected templates or create follow-up tickets for work that is out of scope.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.