Skip to content
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

Bump Scriban from 5.0.0 to 5.5.1 in /src #146

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Nov 21, 2022

Bumps Scriban from 5.0.0 to 5.5.1.

Release notes

Sourced from Scriban's releases.

5.5.1

Changes

🐛 Bug Fixes

  • Fix a minor syntax error in the docs for case/when statements (PR #457) by @​bradtglass
  • Fix object.eval to not render if a single statement is passed (#470) (ee1f66d2)

📚 Documentation

📦 Dependencies

  • Update dependencies (c6ca2f90)

Full Changelog: 5.5.0...5.5.1

Published with dotnet-releaser

5.5.0

Changes

✨ New Features

Full Changelog: 5.4.6...5.5.0

5.4.6

Changes

🐛 Bug Fixes

  • Fix auto-indent (#435) (b849c549)

Full Changelog: 5.4.5...5.4.6

5.4.5

Changes

🧰 Misc

  • Improve enumeration by computing last lazily (#428) (5d192a7e)

Full Changelog: 5.4.4...5.4.5

5.4.4

Changes

... (truncated)

Changelog

Sourced from Scriban's changelog.

Changelog

This changelog is no longer used for newer version. Please visits https://github.com/scriban/scriban/releases

5.4.0 (6 Feb 2022)

  • Fix async when accessing variables (#382)
  • Fix doc for object.kind (#394)
  • Fix comparison between ulong and int (#395)
  • Add a notice for html.strip that it can fail/timeout in case of malformed HTML (#406)
  • Log an error instead of an exception in an invalid syntax with for/if/else (#393)

5.3.0 (6 Feb 2022)

  • Add support for auto-indent (#398)

5.2.0 (6 Feb 2022)

  • Add support for specifying custom format and culture for date.parse

5.1.0 (5 Feb 2022)

  • Fix accessing null?.property when EnableRelaxedMemberAccess == False (#401)
  • Migrate tests to net6.0 (#410)
  • Add support for anykind of expressions in when clauses (#409)
Commits
  • c6ca2f9 Update dependencies
  • ee1f66d Fix object.eval to not render if a single statement is passed (#470)
  • 402fcd9 Merge pull request #468 from Mertsch/FixCompactDocumentation
  • 6163d77 Fix array.compact docu
  • dbcd324 Merge pull request #457 from bradtglass/doc-fix
  • 807466d Fix a minor syntax error in the docs for case/when statements
  • e2849b7 Merge pull request #450 from kae/master
  • fbd06d8 Add TemplateContext case insensitivity (#449)
  • b849c54 Fix auto-indent (#435)
  • 5d192a7 Improve enumeration by computing last lazily (#428)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [Scriban](https://github.com/scriban/scriban) from 5.0.0 to 5.5.1.
- [Release notes](https://github.com/scriban/scriban/releases)
- [Changelog](https://github.com/scriban/scriban/blob/master/changelog.md)
- [Commits](scriban/scriban@5.0.0...5.5.1)

---
updated-dependencies:
- dependency-name: Scriban
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Nov 21, 2022
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Jan 4, 2023

Superseded by #152.

@dependabot dependabot bot closed this Jan 4, 2023
@dependabot dependabot bot deleted the dependabot/nuget/src/Scriban-5.5.1 branch January 4, 2023 17:01
gep13 added a commit that referenced this pull request Aug 30, 2023
Need to put some words here...
gep13 added a commit that referenced this pull request Sep 1, 2023
Looking at the upcoming work for GitLab, it is clear that we need to
extend, at the very least, the internal GRM representation. This is due
to the fact that GitLab has both an "internal" and "public" Id for the
milestone. It seems to be the case that the internal one, typically a
higher number, is used when updating/changing a milestone, whereas the
public one is used when linking to a milestone within the project. We
need to use both of these, so we need to capture both of them.  For
something like the GitHub provider, which doesn't make this distinction,
we will simply map the single Id to both the internal and public
properties.
gep13 added a commit that referenced this pull request Sep 1, 2023
Within the scriban templates used for creating release notes, there is a
hard-coded query string portion, which is used when linking to
milestones from the generated release notes.  When there was a single
VCS provider, i.e. GitHub, this was fine.  Now that we are introducing
another provider, we need to make this configurable.

This commit introduces a new method, GetMilestoneUrlQueryString(), which
each VCS provider will need to implement, to return the correct value.
In addition, the scriban template has been updated to make use of this,
as well as the model that is passed into the generation of the template.
gep13 added a commit that referenced this pull request Sep 1, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Sep 8, 2023
Within the scriban templates used for creating release notes, there is a
hard-coded query string portion, which is used when linking to
milestones from the generated release notes.  When there was a single
VCS provider, i.e. GitHub, this was fine.  Now that we are introducing
another provider, we need to make this configurable.

This commit introduces a new method, GetMilestoneUrlQueryString(), which
each VCS provider will need to implement, to return the correct value.
In addition, the scriban template has been updated to make use of this,
as well as the model that is passed into the generation of the template.
gep13 added a commit that referenced this pull request Sep 8, 2023
In order to fully support GitLab, we need to introduce come breaking
changes to the GitReleaseManager API.  GitLab has the concept of both a
public and an internal number for things like a milestone. Due to this,
the decision has been made to not assume the property that is required
for a method.  For example, when deleting a release, let's not assume
that we want/need the number of the release, instead, let's pass the
entire release to the method, and then internally, the implementation of
the method can decide what property it needs to use to perform the
operation. This approach as been implemented across all of the API
surface, so we now pass in the entire Release, or Label, or Issue. This
has meant quite a few changes across things like the tests to
accommodate this change.
gep13 added a commit that referenced this pull request Sep 8, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Sep 8, 2023
Similar to the last commit for extending the milestone model to have a
internal number, we need to do the same thing with the issue model.
This is due to the fact that GitLab has both an "internal" and "public"
Id for the issue.
gep13 added a commit that referenced this pull request Sep 8, 2023
Within GitHub, an issue and a pull request are essentially the same
thing, at least in terms of how GRM uses them.  However, in GitLab, they
are uniquely different, and have their own unique numbers, where as in
GitHub an issue or pull request just get the next number for the
repository. So that we don't have to change too many things in GRM,
let's introduce the concept of an IsPullRequest property to the issue
model, that way the VcsProvider can provide this information if
required, and then use the information to do the right thing when it
comes to fetching and updating the information, but internally, GRM will
just have a collection of issues, which it then acts on when required.
gep13 added a commit that referenced this pull request Sep 8, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Sep 8, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Sep 8, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Sep 8, 2023
Within the scriban templates used for creating release notes, there is a
hard-coded query string portion, which is used when linking to
milestones from the generated release notes.  When there was a single
VCS provider, i.e. GitHub, this was fine.  Now that we are introducing
another provider, we need to make this configurable.

This commit introduces a new method, GetMilestoneUrlQueryString(), which
each VCS provider will need to implement, to return the correct value.
In addition, the scriban template has been updated to make use of this,
as well as the model that is passed into the generation of the template.
gep13 added a commit that referenced this pull request Sep 8, 2023
In order to fully support GitLab, we need to introduce come breaking
changes to the GitReleaseManager API.  GitLab has the concept of both a
public and an internal number for things like a milestone. Due to this,
the decision has been made to not assume the property that is required
for a method.  For example, when deleting a release, let's not assume
that we want/need the number of the release, instead, let's pass the
entire release to the method, and then internally, the implementation of
the method can decide what property it needs to use to perform the
operation. This approach as been implemented across all of the API
surface, so we now pass in the entire Release, or Label, or Issue. This
has meant quite a few changes across things like the tests to
accommodate this change.
gep13 added a commit that referenced this pull request Sep 8, 2023
Similar to the last commit for extending the milestone model to have a
internal number, we need to do the same thing with the issue model.
This is due to the fact that GitLab has both an "internal" and "public"
Id for the issue.
gep13 added a commit that referenced this pull request Sep 8, 2023
Within GitHub, an issue and a pull request are essentially the same
thing, at least in terms of how GRM uses them.  However, in GitLab, they
are uniquely different, and have their own unique numbers, where as in
GitHub an issue or pull request just get the next number for the
repository. So that we don't have to change too many things in GRM,
let's introduce the concept of an IsPullRequest property to the issue
model, that way the VcsProvider can provide this information if
required, and then use the information to do the right thing when it
comes to fetching and updating the information, but internally, GRM will
just have a collection of issues, which it then acts on when required.
gep13 added a commit that referenced this pull request Sep 8, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Sep 8, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Sep 8, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Sep 11, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Sep 11, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Sep 11, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Sep 12, 2023
In order to fully support GitLab, we need to introduce come breaking
changes to the GitReleaseManager API.  GitLab has the concept of both a
public and an internal number for things like a milestone. Due to this,
the decision has been made to not assume the property that is required
for a method.  For example, when deleting a release, let's not assume
that we want/need the number of the release, instead, let's pass the
entire release to the method, and then internally, the implementation of
the method can decide what property it needs to use to perform the
operation. This approach as been implemented across all of the API
surface, so we now pass in the entire Release, or Label, or Issue. This
has meant quite a few changes across things like the tests to
accommodate this change.
gep13 added a commit that referenced this pull request Sep 12, 2023
Similar to the last commit for extending the milestone model to have a
internal number, we need to do the same thing with the issue model.
This is due to the fact that GitLab has both an "internal" and "public"
Id for the issue.
gep13 added a commit that referenced this pull request Sep 12, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Sep 12, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Sep 12, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Sep 26, 2023
Looking at the upcoming work for GitLab, it is clear that we need to
extend, at the very least, the internal GRM representation. This is due
to the fact that GitLab has both an "internal" and "public" Id for the
milestone. It seems to be the case that the internal one, typically a
higher number, is used when updating/changing a milestone, whereas the
public one is used when linking to a milestone within the project. We
need to use both of these, so we need to capture both of them.  For
something like the GitHub provider, which doesn't make this distinction,
we will simply map the single Id to both the internal and public
properties.
gep13 added a commit that referenced this pull request Sep 26, 2023
Within the scriban templates used for creating release notes, there is a
hard-coded query string portion, which is used when linking to
milestones from the generated release notes.  When there was a single
VCS provider, i.e. GitHub, this was fine.  Now that we are introducing
another provider, we need to make this configurable.

This commit introduces a new method, GetMilestoneUrlQueryString(), which
each VCS provider will need to implement, to return the correct value.
In addition, the scriban template has been updated to make use of this,
as well as the model that is passed into the generation of the template.
gep13 added a commit that referenced this pull request Sep 26, 2023
In order to fully support GitLab, we need to introduce come breaking
changes to the GitReleaseManager API.  GitLab has the concept of both a
public and an internal number for things like a milestone. Due to this,
the decision has been made to not assume the property that is required
for a method.  For example, when deleting a release, let's not assume
that we want/need the number of the release, instead, let's pass the
entire release to the method, and then internally, the implementation of
the method can decide what property it needs to use to perform the
operation. This approach as been implemented across all of the API
surface, so we now pass in the entire Release, or Label, or Issue. This
has meant quite a few changes across things like the tests to
accommodate this change.
gep13 added a commit that referenced this pull request Sep 26, 2023
Similar to the last commit for extending the milestone model to have a
internal number, we need to do the same thing with the issue model.
This is due to the fact that GitLab has both an "internal" and "public"
Id for the issue.
gep13 added a commit that referenced this pull request Sep 26, 2023
Within GitHub, an issue and a pull request are essentially the same
thing, at least in terms of how GRM uses them.  However, in GitLab, they
are uniquely different, and have their own unique numbers, where as in
GitHub an issue or pull request just get the next number for the
repository. So that we don't have to change too many things in GRM,
let's introduce the concept of an IsPullRequest property to the issue
model, that way the VcsProvider can provide this information if
required, and then use the information to do the right thing when it
comes to fetching and updating the information, but internally, GRM will
just have a collection of issues, which it then acts on when required.
gep13 added a commit that referenced this pull request Sep 26, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Sep 26, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Sep 26, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Oct 4, 2023
Within the scriban templates used for creating release notes, there is a
hard-coded query string portion, which is used when linking to
milestones from the generated release notes.  When there was a single
VCS provider, i.e. GitHub, this was fine.  Now that we are introducing
another provider, we need to make this configurable.

This commit introduces a new method, GetMilestoneUrlQueryString(), which
each VCS provider will need to implement, to return the correct value.
In addition, the scriban template has been updated to make use of this,
as well as the model that is passed into the generation of the template.
gep13 added a commit that referenced this pull request Oct 4, 2023
In order to fully support GitLab, we need to introduce come breaking
changes to the GitReleaseManager API.  GitLab has the concept of both a
public and an internal number for things like a milestone. Due to this,
the decision has been made to not assume the property that is required
for a method.  For example, when deleting a release, let's not assume
that we want/need the number of the release, instead, let's pass the
entire release to the method, and then internally, the implementation of
the method can decide what property it needs to use to perform the
operation. This approach as been implemented across all of the API
surface, so we now pass in the entire Release, or Label, or Issue. This
has meant quite a few changes across things like the tests to
accommodate this change.
gep13 added a commit that referenced this pull request Oct 4, 2023
Similar to the last commit for extending the milestone model to have a
internal number, we need to do the same thing with the issue model.
This is due to the fact that GitLab has both an "internal" and "public"
Id for the issue.
gep13 added a commit that referenced this pull request Oct 4, 2023
Within GitHub, an issue and a pull request are essentially the same
thing, at least in terms of how GRM uses them.  However, in GitLab, they
are uniquely different, and have their own unique numbers, where as in
GitHub an issue or pull request just get the next number for the
repository. So that we don't have to change too many things in GRM,
let's introduce the concept of an IsPullRequest property to the issue
model, that way the VcsProvider can provide this information if
required, and then use the information to do the right thing when it
comes to fetching and updating the information, but internally, GRM will
just have a collection of issues, which it then acts on when required.
gep13 added a commit that referenced this pull request Oct 4, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Oct 4, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Oct 4, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Nov 10, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Nov 10, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Nov 10, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Nov 10, 2023
Looking at the upcoming work for GitLab, it is clear that we need to
extend, at the very least, the internal GRM representation. This is due
to the fact that GitLab has both an "internal" and "public" Id for the
milestone. It seems to be the case that the internal one, typically a
higher number, is used when updating/changing a milestone, whereas the
public one is used when linking to a milestone within the project. We
need to use both of these, so we need to capture both of them.  For
something like the GitHub provider, which doesn't make this distinction,
we will simply map the single Id to both the internal and public
properties.
gep13 added a commit that referenced this pull request Nov 10, 2023
Within the scriban templates used for creating release notes, there is a
hard-coded query string portion, which is used when linking to
milestones from the generated release notes.  When there was a single
VCS provider, i.e. GitHub, this was fine.  Now that we are introducing
another provider, we need to make this configurable.

This commit introduces a new method, GetMilestoneUrlQueryString(), which
each VCS provider will need to implement, to return the correct value.
In addition, the scriban template has been updated to make use of this,
as well as the model that is passed into the generation of the template.
gep13 added a commit that referenced this pull request Nov 10, 2023
In order to fully support GitLab, we need to introduce come breaking
changes to the GitReleaseManager API.  GitLab has the concept of both a
public and an internal number for things like a milestone. Due to this,
the decision has been made to not assume the property that is required
for a method.  For example, when deleting a release, let's not assume
that we want/need the number of the release, instead, let's pass the
entire release to the method, and then internally, the implementation of
the method can decide what property it needs to use to perform the
operation. This approach as been implemented across all of the API
surface, so we now pass in the entire Release, or Label, or Issue. This
has meant quite a few changes across things like the tests to
accommodate this change.
gep13 added a commit that referenced this pull request Nov 10, 2023
Similar to the last commit for extending the milestone model to have a
internal number, we need to do the same thing with the issue model.
This is due to the fact that GitLab has both an "internal" and "public"
Id for the issue.
gep13 added a commit that referenced this pull request Nov 10, 2023
Within GitHub, an issue and a pull request are essentially the same
thing, at least in terms of how GRM uses them.  However, in GitLab, they
are uniquely different, and have their own unique numbers, where as in
GitHub an issue or pull request just get the next number for the
repository. So that we don't have to change too many things in GRM,
let's introduce the concept of an IsPullRequest property to the issue
model, that way the VcsProvider can provide this information if
required, and then use the information to do the right thing when it
comes to fetching and updating the information, but internally, GRM will
just have a collection of issues, which it then acts on when required.
gep13 added a commit that referenced this pull request Nov 10, 2023
This commit introduces a new GitLabProvider class, and implements the
necessary methods to allow GRM to create release notes on GitLab. This
is made possible by using the NGitLab library. A new option has been
added to the base command, which allows settings of the --provider at
the command line.  The default value for this option is GitHub, so
everything continues to work as it is expected to.
gep13 added a commit that referenced this pull request Nov 10, 2023
There are some pieces of functionality that currently either don't make
sense to support in GitLab.  For example, the label command.  This
command was originally created to plug a hole in missing functionality
on GitHub, however the label management in GitLab is far better, and the
crude creation of labels from GRM doesn't make sense.  Therefore, any
attempt to use this command for GitLab returns an error code.

Similarly, the addassets command is not supported. This is mainly due to
the fact that assets work very differently in GitLab and we need to
figure out how to do what is required via the NGitLab library, as I
don't think the support currently exists in there.

Finally, the updating of comments when closing a milestone also isn't
supported, since this also doesn't seem to be supported in NGitLab, but
I will be following up with the team over there to make sure.
gep13 added a commit that referenced this pull request Nov 10, 2023
GitLab doesn't support emojis when they are "connected" to each other,
where GitHub does.  Rather than fight this, let's just add a space
between the emojis.  This doesn't cause any difference in the rendered
output, so shouldn't impact on any existing usage.
gep13 added a commit that referenced this pull request Nov 14, 2023
* release/0.16.0: (36 commits)
  Bump Octokit from 7.1.0 to 9.0.0 in /src
  Bump Microsoft.NET.Test.Sdk from 17.7.2 to 17.8.0 in /src
  Bump NSubstitute from 5.0.0 to 5.1.0 in /src
  Bump Scriban from 5.7.0 to 5.9.0 in /src
  Bump IDisposableAnalyzers from 4.0.6 to 4.0.7 in /src
  Bump Roslynator.Analyzers from 4.5.0 to 4.6.2 in /src
  Bump YamlDotNet from 13.7.0 to 13.7.1 in /src
  Bump NUnit from 3.13.3 to 3.14.0 in /src
  Bump ApprovalTests from 5.8.0 to 5.9.0 in /src
  Remove unnecessary entries in nuspec files
  Update src/GitReleaseManager.Cli/GitReleaseManager.Cli.csproj
  Adjust the nuget nuspec and the chocolatey nuspec to reflect the fact the GitReleaseMAnager.Cli targets net6.0
  Switch Cli to only net6.0 and Core to net6.0 and net7.0
  (maint) Refactor IoC registration
  (maint) Update wording and handling of culture
  (maint) Remove unnecessary code
  (maint) Fix warnings about lack of culture info
  (#146) Alter scriban template
  (#146) Prevent usage of unsupported functionality
  (#146) Add GitLab VCS Provider
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants