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

Merge package:source_gen #3778

Open
wants to merge 716 commits into
base: master
Choose a base branch
from
Open

Merge package:source_gen #3778

wants to merge 716 commits into from

Conversation

mosuem
Copy link
Member

@mosuem mosuem commented Dec 10, 2024

  • Move and fix workflow files, labeler.yaml, and badges in the README.md
  • Rev the version of the package, so that pub.dev points to the correct site
  • Add a line to the changelog:
* Move to `dart-lang/build` monorepo.
  • Add the package to the top-level readme of the monorepo:
| [source_gen](source_gen/source_gen/) |  | [![package issues](https://img.shields.io/badge/package:source_gen-4774bc)](https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asource_gen) | [![pub package](https://img.shields.io/pub/v/source_gen.svg)](https://pub.dev/packages/source_gen) |
> [!IMPORTANT]  
> This repo has moved to https://github.com/dart-lang/build/tree/master/source_gen/source_gen
  • Publish using the autopublish workflow
  • Push tags to GitHub using
git tag --list 'source_gen*' | xargs git push origin
  • Close open PRs in dart-lang/source_gen with the following message:
Closing as the [dart-lang/source_gen](https://github.com/dart-lang/source_gen) repository is merged into the [dart-lang/build](https://github.com/dart-lang/build) monorepo. Please re-open this PR there!
  • Transfer issues by running
dart run pkgs/repo_manage/bin/report.dart transfer-issues --source-repo dart-lang/source_gen --target-repo dart-lang/build --add-label package:source_gen --apply-changes

  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

matanlurey and others added 30 commits July 11, 2018 13:09
)

Partial revert of 92fe9af

While migrating usages it became apparent that repeatedly needing to
dereference `annotatedElement` is annoying.
Towards dart-lang/source_gen#319

These never need to be served or included in the merged output directory
so they should always be cleaned by the post process builder.
Towards dart-lang/source_gen#319

Describes how to use SharedPartBuilder to write to .g.dart files,
including how to configure the `build.yaml`.

Remove references to Transformers.
…e_gen#366)

Dart 2 treats packages without an SDK constraint as <2.0.0
- Set minimum SDK to one that is Dart 2 by default.
- Run dartfmt --fix
- Test on stable on Travis.
The new method on Map directly is nicer.

Also clean up trailing whitespace.
- Use `LibraryElement.exportNamespace` to find types across a libraries
entire visible surface area rather than referencing a
`NamespaceBuilder`.
- Use the different getters for element types from
`CompilationUnitElement` to get all members of a library rather than
getting the declarations from a `CompilationUnit`.
- Increase minimum analyzer version to ensure that the `mixins` getter
is available.
…e_gen#386)

* dont create invalid parts, and allow analyzer 0.34.x

* fix tests to match the new behavior
Fixes dart-lang/source_gen#388

Deprecate the `classElements` getter since it is ambiguous, both classes
and enums are represented by `ClassElement` in analyzer, but we don't
want to exclusively always mix them in this interface. Add the name
`classes` to be more specific. Add an implementation for `enums.`
jakemac53 and others added 15 commits September 11, 2024 07:31
…th (dart-lang/source_gen#718)

Updates to the latest dart_style version and passes in a language version. This is in preparation for the tall style formatter which will require a language version to work properly.

- This is a breaking change because the `formatOutput` callback now needs to accept a language version.
- Also drops the default fix for single cascades, fixes will no longer be supported in dart_style.
…art-lang/source_gen#720)

Related: dart-lang/source_gen#706.

This PR adds an optional `bool? writesDescriptions` field to the `_Builder` base class constructor.
By default, it is `true`, but if explicitly set to `false`, the generated description comments will not be included
in the generated output.

See related link for my use-case. This will be useful so that _any_ file can be generated with this tool for Dart.
…dart-lang/source_gen#723)

Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).

Updates `actions/checkout` from 4.1.7 to 4.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.2.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add Ref and Commit outputs by <a href="https://github.com/lucacome"><code>@�lucacome</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkoutdart-lang/source_gen#1180</a></li>
<li>Dependabot updates in <a href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkoutdart-lang/source_gen#1777</a> &amp; <a href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkoutdart-lang/source_gen#1872</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/yasonk"><code>@�yasonk</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1869">actions/checkoutdart-lang/source_gen#1869</a></li>
<li><a href="https://github.com/lucacome"><code>@�lucacome</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkoutdart-lang/source_gen#1180</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4.1.7...v4.2.0">https://github.com/actions/checkout/compare/v4.1.7...v4.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a href="https://github.com/lucacome"><code>@�lucacome</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkoutdart-lang/source_gen#1180</a></li>
<li>Dependency updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a>- <a href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkoutdart-lang/source_gen#1777</a>, <a href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkoutdart-lang/source_gen#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4 updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkoutdart-lang/source_gen#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkoutdart-lang/source_gen#1697</a></li>
<li>Check out other refs/* by commit by <a href="https://github.com/orhantoy"><code>@�orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkoutdart-lang/source_gen#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable version. by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkoutdart-lang/source_gen#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkoutdart-lang/source_gen#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkoutdart-lang/source_gen#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkoutdart-lang/source_gen#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkoutdart-lang/source_gen#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkoutdart-lang/source_gen#1695</a></li>
<li>README: Suggest <code>user.email</code> to be <code>41898282+github-actions[bot]@users.noreply.github.com</code> by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1707">actions/checkoutdart-lang/source_gen#1707</a></li>
</ul>
<h2>v4.1.4</h2>
<ul>
<li>Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkoutdart-lang/source_gen#1692</a></li>
<li>Add dependabot config by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkoutdart-lang/source_gen#1688</a></li>
<li>Bump the minor-actions-dependencies group with 2 updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkoutdart-lang/source_gen#1693</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.5 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkoutdart-lang/source_gen#1643</a></li>
</ul>
<h2>v4.1.3</h2>
<ul>
<li>Check git version before attempting to disable <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1656">actions/checkoutdart-lang/source_gen#1656</a></li>
<li>Add SSH user parameter by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1685">actions/checkoutdart-lang/source_gen#1685</a></li>
<li>Update <code>actions/checkout</code> version in <code>update-main-version.yml</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1650">actions/checkoutdart-lang/source_gen#1650</a></li>
</ul>
<h2>v4.1.2</h2>
<ul>
<li>Fix: Disable sparse checkout whenever <code>sparse-checkout</code> option is not present <a href="https://github.com/dscho"><code>@�dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1598">actions/checkoutdart-lang/source_gen#1598</a></li>
</ul>
<h2>v4.1.1</h2>
<ul>
<li>Correct link to GitHub Docs by <a href="https://github.com/peterbe"><code>@�peterbe</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1511">actions/checkoutdart-lang/source_gen#1511</a></li>
<li>Link to release page from what's new section by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1514">actions/checkoutdart-lang/source_gen#1514</a></li>
</ul>
<h2>v4.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add support for partial checkout filters</a></li>
</ul>
<h2>v4.0.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/checkout/commit/d632683dd7b4114ad314bca15554477dd762a938"><code>d632683</code></a> Prepare 4.2.0 release (<a href="https://redirect.github.com/actions/checkout/issues/1878">dart-lang/source_gen#1878</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/6d193bf28034eafb982f37bd894289fe649468fc"><code>6d193bf</code></a> Bump braces from 3.0.2 to 3.0.3 (<a href="https://redirect.github.com/actions/checkout/issues/1777">dart-lang/source_gen#1777</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/db0cee9a514becbbd4a101a5fbbbf47865ee316c"><code>db0cee9</code></a> Bump the minor-npm-dependencies group across 1 directory with 4 updates (<a href="https://redirect.github.com/actions/checkout/issues/1872">dart-lang/source_gen#1872</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/b6849436894e144dbce29d7d7fda2ae3bf9d8365"><code>b684943</code></a> Add Ref and Commit outputs (<a href="https://redirect.github.com/actions/checkout/issues/1180">dart-lang/source_gen#1180</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/2d7d9f7ff5b310f983d059b68785b3c74d8b8edd"><code>2d7d9f7</code></a> Provide explanation for where user email came from (<a href="https://redirect.github.com/actions/checkout/issues/1869">dart-lang/source_gen#1869</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/9a9194f87191a7e9055e3e9b95b8cfb13023bb08"><code>9a9194f</code></a> Bump docker/build-push-action from 5.3.0 to 6.5.0 (<a href="https://redirect.github.com/actions/checkout/issues/1832">dart-lang/source_gen#1832</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/dd960bd3c3f080561a1810e32349ac211ecec7d4"><code>dd960bd</code></a> Bump docker/login-action in the minor-actions-dependencies group (<a href="https://redirect.github.com/actions/checkout/issues/1831">dart-lang/source_gen#1831</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/692973e3d937129bcbf40652eb9f2f61becf3332...d632683dd7b4114ad314bca15554477dd762a938">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=4.1.7&new-version=4.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

</details>
Closes dart-lang/source_gen#724

The 3 places where a Dart unit can be output are as a `LibraryBuildr`,
as a `PartBuilder`, or as a combined part. `SharedPartBuilder` output
does not need the width comment. Add a constant for the comment and use
it while writing each of the 3 types of output.
The direct read of parts from the library element is deprecated.
Retain ignores for reading imports and exports since they
will be restored without a deprecation.

Unblocks https://dart-review.googlesource.com/c/sdk/+/388643
Bumps the github-actions group with 2 updates: [actions/cache](https://github.com/actions/cache) and [actions/checkout](https://github.com/actions/checkout).

Updates `actions/cache` from 4.0.2 to 4.1.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/cache/releases">actions/cache's releases</a>.</em></p>
<blockquote>
<h2>v4.1.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add Bun example by <a href="https://github.com/idleberg"><code>@�idleberg</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1456">actions/cachedart-lang/source_gen#1456</a></li>
<li>Revise <code>isGhes</code> logic by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1474">actions/cachedart-lang/source_gen#1474</a></li>
<li>Bump braces from 3.0.2 to 3.0.3 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1475">actions/cachedart-lang/source_gen#1475</a></li>
<li>Add dependabot.yml to enable automatic dependency upgrades by <a href="https://github.com/Link"><code>@�Link</code></a>- in <a href="https://redirect.github.com/actions/cache/pull/1476">actions/cachedart-lang/source_gen#1476</a></li>
<li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1478">actions/cachedart-lang/source_gen#1478</a></li>
<li>Bump actions/stale from 3 to 9 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1479">actions/cachedart-lang/source_gen#1479</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1483">actions/cachedart-lang/source_gen#1483</a></li>
<li>Bump actions/setup-node from 3 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1481">actions/cachedart-lang/source_gen#1481</a></li>
<li>Prepare <code>4.1.2</code> release by <a href="https://github.com/Link"><code>@�Link</code></a>- in <a href="https://redirect.github.com/actions/cache/pull/1477">actions/cachedart-lang/source_gen#1477</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/idleberg"><code>@�idleberg</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1456">actions/cachedart-lang/source_gen#1456</a></li>
<li><a href="https://github.com/jww3"><code>@�jww3</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1474">actions/cachedart-lang/source_gen#1474</a></li>
<li><a href="https://github.com/Link"><code>@�Link</code></a>- made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1476">actions/cachedart-lang/source_gen#1476</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v4...v4.1.2">https://github.com/actions/cache/compare/v4...v4.1.2</a></p>
<h2>v4.1.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Restore original behavior of <code>cache-hit</code> output by <a href="https://github.com/joshmgross"><code>@�joshmgross</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1467">actions/cachedart-lang/source_gen#1467</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v4.1.0...v4.1.1">https://github.com/actions/cache/compare/v4.1.0...v4.1.1</a></p>
<h2>v4.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix cache-hit output when cache missed by <a href="https://github.com/fchimpan"><code>@�fchimpan</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1404">actions/cachedart-lang/source_gen#1404</a></li>
<li>Deprecate <code>save-always</code> input by <a href="https://github.com/joshmgross"><code>@�joshmgross</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1452">actions/cachedart-lang/source_gen#1452</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ottlinger"><code>@�ottlinger</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1437">actions/cachedart-lang/source_gen#1437</a></li>
<li><a href="https://github.com/Olegt0rr"><code>@�Olegt0rr</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1377">actions/cachedart-lang/source_gen#1377</a></li>
<li><a href="https://github.com/fchimpan"><code>@�fchimpan</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1404">actions/cachedart-lang/source_gen#1404</a></li>
<li><a href="https://github.com/x612skm"><code>@�x612skm</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1434">actions/cachedart-lang/source_gen#1434</a></li>
<li><a href="https://github.com/todgru"><code>@�todgru</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1311">actions/cachedart-lang/source_gen#1311</a></li>
<li><a href="https://github.com/Jcambass"><code>@�Jcambass</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1463">actions/cachedart-lang/source_gen#1463</a></li>
<li><a href="https://github.com/mackey0225"><code>@�mackey0225</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1462">actions/cachedart-lang/source_gen#1462</a></li>
<li><a href="https://github.com/quatquatt"><code>@�quatquatt</code></a> made their first contribution in <a href="https://redirect.github.com/actions/cache/pull/1445">actions/cachedart-lang/source_gen#1445</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v4.0.2...v4.1.0">https://github.com/actions/cache/compare/v4.0.2...v4.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's changelog</a>.</em></p>
<blockquote>
<h1>Releases</h1>
<h3>4.1.2</h3>
<ul>
<li>Add GitHub Enterprise Cloud instances hostname filters to inform API endpoint choices - <a href="https://redirect.github.com/actions/cache/pull/1474">dart-lang/source_gen#1474</a></li>
<li>Security fix: Bump braces from 3.0.2 to 3.0.3 - <a href="https://redirect.github.com/actions/cache/pull/1475">dart-lang/source_gen#1475</a></li>
</ul>
<h3>4.1.1</h3>
<ul>
<li>Restore original behavior of <code>cache-hit</code> output - <a href="https://redirect.github.com/actions/cache/pull/1467">dart-lang/source_gen#1467</a></li>
</ul>
<h3>4.1.0</h3>
<ul>
<li>Ensure <code>cache-hit</code> output is set when a cache is missed - <a href="https://redirect.github.com/actions/cache/pull/1404">dart-lang/source_gen#1404</a></li>
<li>Deprecate <code>save-always</code> input - <a href="https://redirect.github.com/actions/cache/pull/1452">dart-lang/source_gen#1452</a></li>
</ul>
<h3>4.0.2</h3>
<ul>
<li>Fixed restore <code>fail-on-cache-miss</code> not working.</li>
</ul>
<h3>4.0.1</h3>
<ul>
<li>Updated <code>isGhes</code> check</li>
</ul>
<h3>4.0.0</h3>
<ul>
<li>Updated minimum runner version support from node 12 -&gt; node 20</li>
</ul>
<h3>3.3.3</h3>
<ul>
<li>Updates <code>@�actions/cache</code> to v3.2.3 to fix accidental mutated path arguments to <code>getCacheVersion</code> <a href="https://redirect.github.com/actions/toolkit/pull/1378">actions/toolkitdart-lang/source_gen#1378</a></li>
<li>Additional audit fixes of npm package(s)</li>
</ul>
<h3>3.3.2</h3>
<ul>
<li>Fixes bug with Azure SDK causing blob downloads to get stuck.</li>
</ul>
<h3>3.3.1</h3>
<ul>
<li>Reduced segment size to 128MB and segment timeout to 10 minutes to fail fast in case the cache download is stuck.</li>
</ul>
<h3>3.3.0</h3>
<ul>
<li>Added option to lookup cache without downloading it.</li>
</ul>
<h3>3.2.6</h3>
<ul>
<li>Fix zstd not being used after zstd version upgrade to 1.5.4 on hosted runners.</li>
</ul>
<h3>3.2.5</h3>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/cache/commit/6849a6489940f00c2f30c0fb92c6274307ccb58a"><code>6849a64</code></a> Release 4.1.2 <a href="https://redirect.github.com/actions/cache/issues/1477">dart-lang/source_gen#1477</a></li>
<li><a href="https://github.com/actions/cache/commit/5a1720c49e91718f5d0ce7f154997c93e0f6159a"><code>5a1720c</code></a> Merge branch 'Link-/prep-4.1.2' of <a href="https://github.com/actions/cache">https://github.com/actions/cache</a> into Link...</li>
<li><a href="https://github.com/actions/cache/commit/d9fef48d24d529bac46adcc1e42f49649de07ca9"><code>d9fef48</code></a> Merge branch 'main' into Link-/prep-4.1.2</li>
<li><a href="https://github.com/actions/cache/commit/a50e8d027b022a55ef85ffa721ebd97d2b22bcda"><code>a50e8d0</code></a> Merge branch 'main' into Link-/prep-4.1.2</li>
<li><a href="https://github.com/actions/cache/commit/acc9ae5c1401b6c072a7c89ff4c48ea7e30f4dbf"><code>acc9ae5</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1481">dart-lang/source_gen#1481</a> from actions/dependabot/github_actions/actions/setup...</li>
<li><a href="https://github.com/actions/cache/commit/1ea5f18c31265ef251b3eb51ce8b857be5e7b044"><code>1ea5f18</code></a> Merge branch 'main' into Link-/prep-4.1.2</li>
<li><a href="https://github.com/actions/cache/commit/cc679ff3baee71867c711040a5c21af61b262806"><code>cc679ff</code></a> Merge branch 'main' into dependabot/github_actions/actions/setup-node-4</li>
<li><a href="https://github.com/actions/cache/commit/366d43d6f8aa1f3e5d28b2c98959d557d78ffa3f"><code>366d43d</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1483">dart-lang/source_gen#1483</a> from actions/dependabot/github_actions/github/codeql...</li>
<li><a href="https://github.com/actions/cache/commit/02bf31969bcc471fd5f91b5896ae17beb0973413"><code>02bf319</code></a> Bump github/codeql-action from 2 to 3</li>
<li><a href="https://github.com/actions/cache/commit/6f6220be5af96ba6940aca960265218cae17e8fd"><code>6f6220b</code></a> Merge branch 'main' into dependabot/github_actions/actions/setup-node-4</li>
<li>Additional commits viewable in <a href="https://github.com/actions/cache/compare/0c45773b623bea8c8e75f6c82b208c3cf94ea4f9...6849a6489940f00c2f30c0fb92c6274307ccb58a">compare view</a></li>
</ul>
</details>
<br />

Updates `actions/checkout` from 4.2.0 to 4.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.2.2</h2>
<h2>What's Changed</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment variables by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkoutdart-lang/source_gen#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkoutdart-lang/source_gen#1946</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4.2.1...v4.2.2">https://github.com/actions/checkout/compare/v4.2.1...v4.2.2</a></p>
<h2>v4.2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a href="https://github.com/orhantoy"><code>@�orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkoutdart-lang/source_gen#1924</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Jcambass"><code>@�Jcambass</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1919">actions/checkoutdart-lang/source_gen#1919</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4.2.0...v4.2.1">https://github.com/actions/checkout/compare/v4.2.0...v4.2.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment variables by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkoutdart-lang/source_gen#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkoutdart-lang/source_gen#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a href="https://github.com/orhantoy"><code>@�orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkoutdart-lang/source_gen#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a href="https://github.com/lucacome"><code>@�lucacome</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkoutdart-lang/source_gen#1180</a></li>
<li>Dependency updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a>- <a href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkoutdart-lang/source_gen#1777</a>, <a href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkoutdart-lang/source_gen#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4 updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkoutdart-lang/source_gen#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkoutdart-lang/source_gen#1697</a></li>
<li>Check out other refs/* by commit by <a href="https://github.com/orhantoy"><code>@�orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkoutdart-lang/source_gen#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable version. by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkoutdart-lang/source_gen#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkoutdart-lang/source_gen#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkoutdart-lang/source_gen#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkoutdart-lang/source_gen#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkoutdart-lang/source_gen#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkoutdart-lang/source_gen#1695</a></li>
<li>README: Suggest <code>user.email</code> to be <code>41898282+github-actions[bot]@users.noreply.github.com</code> by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1707">actions/checkoutdart-lang/source_gen#1707</a></li>
</ul>
<h2>v4.1.4</h2>
<ul>
<li>Disable <code>extensions.worktreeConfig</code> when disabling <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkoutdart-lang/source_gen#1692</a></li>
<li>Add dependabot config by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkoutdart-lang/source_gen#1688</a></li>
<li>Bump the minor-actions-dependencies group with 2 updates by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkoutdart-lang/source_gen#1693</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.5 by <a href="https://github.com/dependabot"><code>@�dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkoutdart-lang/source_gen#1643</a></li>
</ul>
<h2>v4.1.3</h2>
<ul>
<li>Check git version before attempting to disable <code>sparse-checkout</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1656">actions/checkoutdart-lang/source_gen#1656</a></li>
<li>Add SSH user parameter by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1685">actions/checkoutdart-lang/source_gen#1685</a></li>
<li>Update <code>actions/checkout</code> version in <code>update-main-version.yml</code> by <a href="https://github.com/jww3"><code>@�jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1650">actions/checkoutdart-lang/source_gen#1650</a></li>
</ul>
<h2>v4.1.2</h2>
<ul>
<li>Fix: Disable sparse checkout whenever <code>sparse-checkout</code> option is not present <a href="https://github.com/dscho"><code>@�dscho</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1598">actions/checkoutdart-lang/source_gen#1598</a></li>
</ul>
<h2>v4.1.1</h2>
<ul>
<li>Correct link to GitHub Docs by <a href="https://github.com/peterbe"><code>@�peterbe</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1511">actions/checkoutdart-lang/source_gen#1511</a></li>
<li>Link to release page from what's new section by <a href="https://github.com/cory-miller"><code>@�cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1514">actions/checkoutdart-lang/source_gen#1514</a></li>
</ul>
<h2>v4.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add support for partial checkout filters</a></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/checkout/commit/11bd71901bbe5b1630ceea73d27597364c9af683"><code>11bd719</code></a> Prepare 4.2.2 Release (<a href="https://redirect.github.com/actions/checkout/issues/1953">dart-lang/source_gen#1953</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/e3d2460bbb42d7710191569f88069044cfb9d8cf"><code>e3d2460</code></a> Expand unit test coverage (<a href="https://redirect.github.com/actions/checkout/issues/1946">dart-lang/source_gen#1946</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/163217dfcd28294438ea1c1c149cfaf66eec283e"><code>163217d</code></a> <code>url-helper.ts</code> now leverages well-known environment variables. (<a href="https://redirect.github.com/actions/checkout/issues/1941">dart-lang/source_gen#1941</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871"><code>eef6144</code></a> Prepare 4.2.1 release (<a href="https://redirect.github.com/actions/checkout/issues/1925">dart-lang/source_gen#1925</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/6b42224f41ee5dfe5395e27c8b2746f1f9955030"><code>6b42224</code></a> Add workflow file for publishing releases to immutable action package (<a href="https://redirect.github.com/actions/checkout/issues/1919">dart-lang/source_gen#1919</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/de5a000abf73b6f4965bd1bcdf8f8d94a56ea815"><code>de5a000</code></a> Check out other refs/* by commit if provided, fall back to ref (<a href="https://redirect.github.com/actions/checkout/issues/1924">dart-lang/source_gen#1924</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/d632683dd7b4114ad314bca15554477dd762a938...11bd71901bbe5b1630ceea73d27597364c9af683">compare view</a></li>
</ul>
</details>
<br />

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`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

</details>
…ce_gen#732)

Bumps the github-actions group with 1 update: [dart-lang/setup-dart](https://github.com/dart-lang/setup-dart).

Updates `dart-lang/setup-dart` from 1.6.5 to 1.7.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dart-lang/setup-dart/releases">dart-lang/setup-dart's releases</a>.</em></p>
<blockquote>
<h2>v1.7.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Install a Flutter SDK in the publish workflow allowing for publication of flutter packages.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/dart-lang/setup-dart/blob/main/CHANGELOG.md">dart-lang/setup-dart's changelog</a>.</em></p>
<blockquote>
<h2>v1.7.0</h2>
<ul>
<li>
<p>Install flutter sdk in publishing step, allowing Flutter packages to be
published (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/68">dart-lang/source_gen#68</a>[])</p>
<p><a href="https://redirect.github.com/dart-lang/setup-dart/issues/68">dart-lang/source_gen#68</a>: <a href="https://redirect.github.com/dart-lang/setup-dart/issues/68">dart-lang/setup-dartdart-lang/source_gen#68</a></p>
</li>
</ul>
<h2>v1.6.5</h2>
<ul>
<li>Fix zip path handling on Windows 11 (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/118">dart-lang/source_gen#118</a>[])</li>
</ul>
<p><a href="https://redirect.github.com/dart-lang/setup-dart/issues/118">dart-lang/source_gen#118</a>: <a href="https://redirect.github.com/dart-lang/setup-dart/issues/118">dart-lang/setup-dartdart-lang/source_gen#118</a></p>
<h2>v1.6.4</h2>
<ul>
<li>Rebuild JS code.</li>
</ul>
<h2>v1.6.3</h2>
<ul>
<li>Roll <code>undici</code> dependency to address <a href="https://github.com/nodejs/undici/security/advisories/GHSA-m4v8-wqvr-p9f7">CVE-2024-30260</a> and <a href="https://github.com/nodejs/undici/security/advisories/GHSA-9qxr-qj54-h672">CVE-2024-30261</a>.</li>
</ul>
<h2>v1.6.2</h2>
<ul>
<li>Switch to running the workflow on <code>node20`` from </code>node16`. See also
<a href="https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/">Transitioning from Node 16 to Node 20</a>.</li>
</ul>
<h2>v1.6.1</h2>
<ul>
<li>Updated the google storage url for <code>main</code> channel releases.</li>
</ul>
<h2>v1.6.0</h2>
<ul>
<li>Enable provisioning of the latest Dart SDK patch release by specifying just
the major and minor version (e.g. <code>3.2</code>).</li>
</ul>
<h2>v1.5.1</h2>
<ul>
<li>No longer test the <code>setup-dart</code> action on pre-2.12 SDKs.</li>
<li>Upgrade JS interop code to use extension types
(the new name for inline classes).</li>
<li>The upcoming rename of the <code>be</code> channel to <code>main</code> is now supported with
forward compatibility that switches when the rename happens.</li>
</ul>
<h2>v1.5.0</h2>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/dart-lang/setup-dart/commit/e630b99d28a3b71860378cafdc2a067c71107f94"><code>e630b99</code></a> Fix link in CHANGELOG.md (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/144">dart-lang/source_gen#144</a>)</li>
<li><a href="https://github.com/dart-lang/setup-dart/commit/cdcaf1297c175a0f0f1ec895cdbbee0479ddec2b"><code>cdcaf12</code></a> Update changelog (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/143">dart-lang/source_gen#143</a>)</li>
<li><a href="https://github.com/dart-lang/setup-dart/commit/c21802dc505e35765fa73ad4191bbe120ee94522"><code>c21802d</code></a> Install a Flutter SDK in the publish workflow (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/141">dart-lang/source_gen#141</a>)</li>
<li><a href="https://github.com/dart-lang/setup-dart/commit/f60b94591ab2d3da576c469969989fca99fabd3e"><code>f60b945</code></a> Update publish.yml (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/142">dart-lang/source_gen#142</a>)</li>
<li><a href="https://github.com/dart-lang/setup-dart/commit/d0b01d2ac509deeb2d41d27918204416ba9b1947"><code>d0b01d2</code></a> Bump <code>@�actions/core</code> from 1.10.1 to 1.11.1 (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/138">dart-lang/source_gen#138</a>)</li>
<li><a href="https://github.com/dart-lang/setup-dart/commit/f6a6f58cab9dd4e0ba15826bd89d4558877fd25c"><code>f6a6f58</code></a> Bump <code>@�actions/http-client</code> from 2.2.1 to 2.2.3 (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/137">dart-lang/source_gen#137</a>)</li>
<li><a href="https://github.com/dart-lang/setup-dart/commit/e9a814f39d5452701455a47847735e0f482026c8"><code>e9a814f</code></a> Bump dart-lang/setup-dart in the github-actions group (<a href="https://redirect.github.com/dart-lang/setup-dart/issues/136">dart-lang/source_gen#136</a>)</li>
<li>See full diff in <a href="https://github.com/dart-lang/setup-dart/compare/0a8a0fc875eb934c15d08629302413c671d3f672...e630b99d28a3b71860378cafdc2a067c71107f94">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dart-lang/setup-dart&package-manager=github_actions&previous-version=1.6.5&new-version=1.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

</details>
@mosuem mosuem requested a review from natebosch December 10, 2024 14:26
Copy link

PR Health

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

@@ -0,0 +1,119 @@
#!/bin/bash
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This script can be deleted, it was a part of the old CI setup

Comment on lines +1 to +5
.dart_tool
.packages
.pub
packages
pubspec.lock
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.dart_tool
.packages
.pub
packages
pubspec.lock
.dart_tool
pubspec.lock

This can be cleaner 😄

@kevmoo
Copy link
Member

kevmoo commented Dec 12, 2024

I know it's a bit ugly, but I really like the mono_repo-ness of source_gen. It makes it MUCH easier to explain how to use it

I think I'd argue this doesn't make sense to merge as a mono-repo.

@natebosch
Copy link
Member

It makes it MUCH easier to explain how to use it

What aspect is more difficult with the code here? We can still have a standalone example for source_gen, it's just 1 directory lower than it was in the old repo.

@kevmoo
Copy link
Member

kevmoo commented Dec 12, 2024

@natebosch – nested packages give me a headache.

@jakemac53
Copy link
Contributor

jakemac53 commented Dec 12, 2024

From the other perspective, what do we actually gain by merging this into the mono repo? This has never been clear to me.

Here are the downsides from my perspective:

  • Cannot watch only issues pertaining to source_gen (or the opposite, people who care about build but not source_gen can't only watch the build related issues).
  • More complexity around GitHub actions, and it's wasteful in terms of CI resources as currently set up.
  • More steps to set up a "clean" workspace in VsCode (opening up just the root of the build or source_gen repos was quite reasonable before, now there is going to be more there, and most of it isn't relevant to a given task).
  • Larger issue counts, larger PR counts, which are difficult to manage. I think having separate repos is much nicer in this regard. Labels are not really equivalent.
  • Can't really use pub workspaces, they don't really work well with unrelated packages.

@mosuem
Copy link
Member Author

mosuem commented Dec 13, 2024

From the other perspective, what do we actually gain by merging this into the mono repo? This has never been clear to me.

Here are the downsides from my perspective:

  • Cannot watch only issues pertaining to source_gen (or the opposite, people who care about build but not source_gen can't only watch the build related issues).

This is indeed a downside for users of single packages. From a team and maintenance perspective on the other hand, we saw many issues and PRs fall through the cracks as people didn't follow some repositories. Seeing all issues and PRs in one place makes this simpler. We have tried to ease this in other repos by providing links to filtered lists, see the https://github.com/dart-lang/tools/ readme.

  • More complexity around GitHub actions, and it's wasteful in terms of CI resources as currently set up.

I don't think the CI is wasteful - through path restrictions, CI should only run for the changed packages. Also, we use very little CI capacity across the dart-lang org. The CI setup also becomes simpler IMO, as we don't have to update and maintain CI scripts across different repositories, for example the PR health workflow.

  • More steps to set up a "clean" workspace in VsCode (opening up just the root of the build or source_gen repos was quite reasonable before, now there is going to be more there, and most of it isn't relevant to a given task).

I agree with this, I don't know if this is a big issue in practice. We could add some documentation on https://git-scm.com/docs/git-sparse-checkout to help a bit.

  • Larger issue counts, larger PR counts, which are difficult to manage. I think having separate repos is much nicer in this regard. Labels are not really equivalent.

I agree with this problem in principle, but don't think this makes it much harder to manage.

  • Can't really use pub workspaces, they don't really work well with unrelated packages.

You can use multiple pub workspaces if needed, as is happening here.

We should probably discuss this elsewhere, such as dart-lang/sdk#56591, or do you mean those points only in regard to this merge in particular? FWIW, I think monorepos make everything easier and am a big fan, if it were up to me we would have only one repository for all packages ;)

@kevmoo
Copy link
Member

kevmoo commented Dec 13, 2024

I'd rather have a seperate pub workspace then. Although, honestly, I'd strongly vote to just leave this stand-alone.

@jakemac53
Copy link
Contributor

From a team and maintenance perspective on the other hand, we saw many issues and PRs fall through the cracks as people didn't follow some repositories.

This issue is imo purely an issue of ownership and process. The packages simply don't have owners, and have been maintained on basically a volunteer basis. We could also fix it with tooling if we wanted it to be simpler to follow groups of packages. There is a fixed one time cost to following a repo.... and it's a single click of a button...

The unrelated packages mono_repo approach risks having the opposite effect of causing people to stop watching whole groups of packages due to spam that they can't filter out.

We have tried to ease this in other repos by providing links to filtered lists, see the https://github.com/dart-lang/tools/ readme.

This just shows you all the issues, not the issues needing your attention, which is the key feature of notifications. And they aren't all in one place either. It is useful if you want to look over issues to find one to work on but that is about it?

I don't think the CI is wasteful - through path restrictions, CI should only run for the changed packages. Also, we use very little CI capacity across the dart-lang org. The CI setup also becomes simpler IMO, as we don't have to update and maintain CI scripts across different repositories, for example the PR health workflow.

I understand it can be restricted by path but it isn't in this case, because mono_repo doesn't support that. Concretely in this case the CI turnaround time is likely much longer than it was previously for source_gen, because it will be running all the package:build tests.

I agree with this, I don't know if this is a big issue in practice. We could add some documentation on https://git-scm.com/docs/git-sparse-checkout to help a bit.

There are of course workarounds but this is all ultimately adding extra complexity. I can also just create a custom workspace that has fewer directories open (like I do for the Dart SDK).

We should probably discuss this elsewhere, such as dart-lang/sdk#56591, or do you mean those points only in regard to this merge in particular? FWIW, I think monorepos make everything easier and am a big fan, if it were up to me we would have only one repository for all packages ;)

My issue is that I keep hearing that it will make things easier but what I am not hearing is what they will make easier. I am only seeing the things that will make my daily tasks more difficult. What are the specific developer tasks that are made easier?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.