Update old wiki links (#149544)
Part of https://github.com/flutter/flutter/issues/145009
Finishes updating links in the repo that pointed to the old wiki
diff --git a/.github/ISSUE_TEMPLATE/7_cherry_pick.yml b/.github/ISSUE_TEMPLATE/7_cherry_pick.yml
index 3064c8a..6d8814a 100644
--- a/.github/ISSUE_TEMPLATE/7_cherry_pick.yml
+++ b/.github/ISSUE_TEMPLATE/7_cherry_pick.yml
@@ -38,7 +38,7 @@
label: Changelog Description
description: >-
Explain this CP in less than 80 characters that is accessible to most Flutter developers
- See https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices for examples
+ See https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md for examples
validations:
required: true
- type: input
diff --git a/.github/ISSUE_TEMPLATE/8_design_doc.yml b/.github/ISSUE_TEMPLATE/8_design_doc.yml
index 76e4356..c9455bf 100644
--- a/.github/ISSUE_TEMPLATE/8_design_doc.yml
+++ b/.github/ISSUE_TEMPLATE/8_design_doc.yml
@@ -8,7 +8,7 @@
Thank you for your interest in contributing to Flutter!
Please ensure that you are following
- https://github.com/flutter/flutter/wiki/Design-Documents
+ https://github.com/flutter/flutter/blob/main/docs/contributing/Design-Documents.md
when sharing a design document.
Please fill out the sections below to the best of your ability.
diff --git a/.github/PR_TEMPLATE/PULL_REQUEST_CP_TEMPLATE.md b/.github/PR_TEMPLATE/PULL_REQUEST_CP_TEMPLATE.md
index a442620..70b550d 100644
--- a/.github/PR_TEMPLATE/PULL_REQUEST_CP_TEMPLATE.md
+++ b/.github/PR_TEMPLATE/PULL_REQUEST_CP_TEMPLATE.md
@@ -1,4 +1,4 @@
-This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
+This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.
### Issue Link:
@@ -7,7 +7,7 @@
< Replace with issue link here >
### Changelog Description:
-Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples
+Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples
< Replace with changelog description here >
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index f33ad35..c1c3864 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -19,13 +19,13 @@
If you need help, consider asking for advice on the #hackers-new channel on [Discord].
<!-- Links -->
-[Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
-[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
-[test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
-[Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
-[Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
+[Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
+[Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
+[test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
+[Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
+[Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
-[breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
-[Discord]: https://github.com/flutter/flutter/wiki/Chat
-[Data Driven Fixes]: https://github.com/flutter/flutter/wiki/Data-driven-Fixes
+[breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
+[Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
+[Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
diff --git a/.github/workflows/easy-cp.yml b/.github/workflows/easy-cp.yml
index 2828d2e..1b32d42 100644
--- a/.github/workflows/easy-cp.yml
+++ b/.github/workflows/easy-cp.yml
@@ -81,7 +81,7 @@
if: ${{ failure() && steps.attempt-cp.conclusion == 'failure' }}
run: |
FAILURE_MSG="Failed to create CP due to merge conflicts.<br>"
- FAILURE_MSG+="You will need to create the PR manually. See [the cherrypick wiki](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process) for more info."
+ FAILURE_MSG+="You will need to create the PR manually. See [the cherrypick wiki](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md) for more info."
gh pr comment ${{ github.event.pull_request.number }} -R flutter/flutter -b "${FAILURE_MSG}"
env:
GITHUB_TOKEN: ${{ secrets.FLUTTERACTIONSBOT_CP_TOKEN }}
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 86f1ec7..090da8c 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -38,8 +38,7 @@
solutions are merged into one mediocre solution. A conflict is
addressed when the participants agree that the final solution is
_better_ than all the conflicting proposals. Sometimes the solution is
-more work than either of the proposals. [Embrace the yak
-shave](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#lazy-programming).
+more work than either of the proposals. [Embrace the yak shave](./docs/contributing/Style-guide-for-Flutter-repo.md#lazy-programming).
## Questions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0bc5198..bc15154 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -3,7 +3,7 @@
Contributing to Flutter
=======================
-_tl;dr: join [Discord](https://github.com/flutter/flutter/wiki/Chat), be [courteous](CODE_OF_CONDUCT.md), follow the steps below to set up a development environment; if you stick around and contribute, you can [join the team](https://github.com/flutter/flutter/wiki/Contributor-access) and get commit access._
+_tl;dr: join [Discord](./docs/contributing/Chat.md), be [courteous](CODE_OF_CONDUCT.md), follow the steps below to set up a development environment; if you stick around and contribute, you can [join the team](./docs/contributing/Contributor-access.md) and get commit access._
Welcome
-------
@@ -17,10 +17,10 @@
We grant commit access (which includes full rights to the issue
database, such as being able to edit labels) to people who have gained
our trust and demonstrated a commitment to Flutter. For more details
-see the [Contributor access](https://github.com/flutter/flutter/wiki/Contributor-access)
-page on our wiki.
+see the [Contributor access](./docs/contributing/Contributor-access.md)
+page in our docs.
-We communicate primarily over GitHub and [Discord](https://github.com/flutter/flutter/wiki/Chat).
+We communicate primarily over GitHub and [Discord](./docs/contributing/Chat.md).
Before you get started, we encourage you to read these documents which describe some of our community norms:
@@ -29,7 +29,7 @@
also documents our conflict resolution policy and encourages people
to ask questions.
-2. [Values](https://github.com/flutter/flutter/wiki/Values),
+2. [Values](./docs/about/Values.md),
which talks about what we care most about.
Helping out in the issue database
@@ -41,27 +41,27 @@
If you want to help us triage, you are very welcome to do so!
-1. Join the #hackers-triage [Discord channel](https://github.com/flutter/flutter/wiki/Chat).
+1. Join the #hackers-triage [Discord channel](./docs/contributing/Chat.md).
2. Read [our code of conduct](CODE_OF_CONDUCT.md), which stipulates explicitly
that everyone must be gracious, respectful, and professional. If you're helping out
with triage, you are representing the Flutter team, and so you want to make sure to
make a good impression!
-3. Help out as described in our wiki: https://github.com/flutter/flutter/wiki/Triage
+3. Help out as described in our [triage guide](./docs/triage/README.md)
You won't be able to add labels at first, so instead start by trying to
do the other steps, e.g. trying to reproduce the problem and asking for people to
provide enough details that you can reproduce the problem, pointing out duplicates,
and so on. Chat on the #hackers-triage channel to let us know what you're up to!
4. Familiarize yourself with our
- [issue hygiene](https://github.com/flutter/flutter/wiki/Issue-hygiene) wiki page,
+ [issue hygiene](./docs/contributing/issue_hygiene/README.md) wiki page,
which covers the meanings of some important GitHub labels and
milestones.
5. Once you've been doing this for a while, someone will invite you to the flutter-hackers
team on GitHub and you'll be able to add labels too. See the
- [contributor access](https://github.com/flutter/flutter/wiki/Contributor-access) wiki
+ [contributor access](./docs/contributing/Contributor-access.md) wiki
page for details.
@@ -75,9 +75,9 @@
are really valuable contributions to open source projects.
If this interests you, you can jump in and submit bug reports without needing anyone's permission!
-The #quality-assurance channel on our [Discord server](https://github.com/flutter/flutter/wiki/Chat)
+The #quality-assurance channel on our [Discord server](./docs/contributing/Chat.md)
is a good place to talk about what you're doing. We're especially eager for QA testing when
-we announce a beta release. See https://github.com/flutter/flutter/wiki/Quality-Assurance for
+we announce a beta release. See [quality assurance](./docs/releases/Quality-Assurance.md) for
more details.
If you want to contribute test cases, you can also submit PRs. See the next section
@@ -101,35 +101,35 @@
are strongly recommended to go through these documents in the order
presented.
-1. [Setting up your engine development environment](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment),
+1. [Setting up your engine development environment](./docs/engine/contributing/Setting-up-the-Engine-development-environment.md),
which describes the steps you need to configure your computer to
work on Flutter's engine. If you only want to write code for the
Flutter framework, you can skip this step. Flutter's engine mainly
uses C++, Java, and Objective-C.
-2. [Setting up your framework development environment](https://github.com/flutter/flutter/wiki/Setting-up-the-Framework-development-environment),
+2. [Setting up your framework development environment](./docs/contributing/Setting-up-the-Framework-development-environment.md),
which describes the steps you need to configure your computer to
work on Flutter's framework. Flutter's framework mainly uses Dart.
-3. [Tree hygiene](https://github.com/flutter/flutter/wiki/Tree-hygiene),
+3. [Tree hygiene](./docs/contributing/Tree-hygiene.md),
which covers how to land a PR, how to do code review, how to
handle breaking changes, how to handle regressions, and how to
handle post-commit test failures.
-4. [Our style guide](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo),
+4. [Our style guide](./docs/contributing/Style-guide-for-Flutter-repo.md),
which includes advice for designing APIs for Flutter, and how to
format code in the framework.
5. [Flutter design doc template](https://flutter.dev/go/template),
which should be used when proposing a new technical design. This is a good
practice to do before coding more intricate changes.
- See also our [guidance for writing design docs](https://github.com/flutter/flutter/wiki/Design-Documents).
+ See also our [guidance for writing design docs](./docs/contributing/Design-Documents.md).
[](https://www.youtube.com/watch?v=4yBgOBAOx_A)
In addition to the documents, there is a video linked above on **How to contribute to Flutter**
from the [Flutter](https://youtube.com/c/flutterdev) YouTube channel,
-there are many pages on [our Wiki](https://github.com/flutter/flutter/wiki/),
+there are many pages in [our docs](./docs/README.md),
and an article [Contributing to Flutter: Getting Started](https://medium.com/@ayushbherwani/contributing-to-flutter-getting-started-a0db68cbcd5b)
on Medium that may be of interest. For a curated list of pages see the sidebar
on the wiki's home page. They are more or less listed in order of importance.
@@ -152,7 +152,7 @@
or [Reddit](https://www.reddit.com/r/flutterhelp/new/?f=flair_name%3A%22OPEN%22),
or creating content for our [documentation](https://docs.flutter.dev/)
or sites like [YouTube](https://www.youtube.com/results?search_query=flutter&sp=EgQIAxAB),
-the best starting point is to join the #hackers-devrel [Discord channel](https://github.com/flutter/flutter/wiki/Chat).
+the best starting point is to join the #hackers-devrel [Discord channel](./docs/contributing/Chat.md).
From there, you can describe what you're interested in doing, and go ahead and do it!
As others become familiar with your work, they may have feedback, be interested in
collaborating, or want to coordinate their efforts with yours.
@@ -162,12 +162,12 @@
-----------------
Another great area to contribute in is sample code and API documentation. If this is an area that interests you, join our
-[Discord](https://github.com/flutter/flutter/wiki/Chat) server and introduce yourself on the #hackers-deverl, #hackers-framework,
+[Discord](./docs/contributing/Chat.md) server and introduce yourself on the #hackers-deverl, #hackers-framework,
or #hackers-engine channels, describing your area of interest. As our API docs are integrated into our source code, see the
"developing for Flutter" section above for a guide on how to set up your developer environment.
To contribute API documentation, an excellent command of the English language is particularly helpful, as is a careful attention to detail.
-We have a [whole section in our style guide](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#documentation-dartdocs-javadocs-etc)
+We have a [whole section in our style guide](./docs/contributing/Style-guide-for-Flutter-repo.md#documentation-dartdocs-javadocs-etc)
that you should read before you write API documentation. It includes notes on the "Flutter Voice", such as our word and grammar conventions.
In general, a really productive way to improve documentation is to use Flutter and stop any time you have a question: find the answer, then
@@ -186,7 +186,7 @@
If you are interested in participating in our release process, which may involve writing release notes and blog posts, coordinating the actual
generation of binaries, updating our release tooling, and other work of that nature, then reach out on the #hackers-releases
-channel of our [Discord](https://github.com/flutter/flutter/wiki/Chat) server.
+channel of our [Discord](./docs/contributing/Chat.md) server.
Social events in the contributor community
@@ -194,5 +194,5 @@
Finally, one area where you could have a lot of impact is in contributing to social interactions among the Flutter contributor community itself.
This could take the form of organizing weekly video chats on our Discord, or planning tech talks from contributors, for example.
-If this is an area that is of interest to you, please join our [Discord](https://github.com/flutter/flutter/wiki/Chat) and ping Hixie on the #hackers
+If this is an area that is of interest to you, please join our [Discord](./docs/contributing/Chat.md) and ping Hixie on the #hackers
channel!
diff --git a/README.md b/README.md
index e19a80f..abc247f 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@
* [Install Flutter](https://flutter.dev/get-started/)
* [Flutter documentation](https://docs.flutter.dev/)
-* [Development wiki](https://github.com/flutter/flutter/wiki)
+* [Development wiki](./docs/README.md)
* [Contributing to Flutter](https://github.com/flutter/flutter/blob/main/CONTRIBUTING.md)
For announcements about new releases, follow the
@@ -100,7 +100,7 @@
[contributor guide](CONTRIBUTING.md).
[flutter.dev]: https://flutter.dev
-[Discord instructions]: https://github.com/flutter/flutter/wiki/Chat
+[Discord instructions]: ./docs/contributing/Chat.md
[Discord badge]: https://img.shields.io/discord/608014603317936148?logo=discord
[Twitter handle]: https://img.shields.io/twitter/follow/flutterdev.svg?style=social&label=Follow
[Twitter badge]: https://twitter.com/intent/follow?screen_name=flutterdev
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 135153f..f1f7c43 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -158,7 +158,7 @@
# - prefer_constructors_over_static_methods # far too many false positives
- prefer_contains
# - prefer_double_quotes # opposite of prefer_single_quotes
- # - prefer_expression_function_bodies # conflicts with https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#consider-using--for-short-functions-and-methods
+ # - prefer_expression_function_bodies # conflicts with ./docs/contributing/Style-guide-for-Flutter-repo.md#consider-using--for-short-functions-and-methods
- prefer_final_fields
- prefer_final_in_for_each
- prefer_final_locals
@@ -171,7 +171,7 @@
- prefer_if_null_operators
- prefer_initializing_formals
- prefer_inlined_adds
- # - prefer_int_literals # conflicts with https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#use-double-literals-for-double-constants
+ # - prefer_int_literals # conflicts with ./docs/contributing/Style-guide-for-Flutter-repo.md#use-double-literals-for-double-constants
- prefer_interpolation_to_compose_strings
- prefer_is_empty
- prefer_is_not_empty
diff --git a/dev/bots/README.md b/dev/bots/README.md
index daf4aee..01b151b 100644
--- a/dev/bots/README.md
+++ b/dev/bots/README.md
@@ -10,7 +10,7 @@
Flutter infra requires special permissions to retrigger builds on the
[build dashboard](https://flutter-dashboard.appspot.com/#/build). File an
-[infra ticket](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue) to
+[infra ticket](../../docs/infra/Infra-Ticket-Queue.md) to
request permission.
The [Cirrus](https://cirrus-ci.org)-based bots run the [`test.dart`](test.dart)
@@ -28,7 +28,7 @@
A [set of infra scripts](https://flutter.googlesource.com/recipes/)
run on Windows, Linux, and Mac machines. The configuration for how many
machines and what kind are managed internally by Google. File an
-[infra ticket](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue)
+[infra ticket](../../docs/infra/Infra-Ticket-Queue.md)
to request new machine types to be added. Both of these technologies are highly
specific to the [LUCI](https://github.com/luci) project, which is the successor
to Chromium's infra and the foundation to Flutter's infrastructure.
diff --git a/dev/bots/analyze.dart b/dev/bots/analyze.dart
index 6775885..84fc647 100644
--- a/dev/bots/analyze.dart
+++ b/dev/bots/analyze.dart
@@ -557,7 +557,7 @@
}
if (errors.isNotEmpty) {
foundError(<String>[
- '${bold}Do not use sync*/async* methods. See https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#avoid-syncasync for details.$reset',
+ '${bold}Do not use sync*/async* methods. See https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#avoid-syncasync for details.$reset',
...errors,
]);
}
@@ -624,7 +624,7 @@
if (errors.isNotEmpty) {
foundError(<String>[
...errors,
- '${bold}See: https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter$reset',
+ '${bold}See: https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md$reset',
]);
}
}
@@ -696,7 +696,7 @@
message = messageMatch.namedGroup('message');
final String firstChar = String.fromCharCode(message!.runes.first);
if (firstChar.toUpperCase() != firstChar) {
- throw 'Deprecation notice should be a grammatically correct sentence and start with a capital letter; see style guide: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo';
+ throw 'Deprecation notice should be a grammatically correct sentence and start with a capital letter; see style guide: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md';
}
} else {
message += messageMatch.namedGroup('message')!;
@@ -743,7 +743,7 @@
if (errors.isNotEmpty) {
foundError(<String>[
...errors,
- '${bold}See: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes$reset',
+ '${bold}See: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes$reset',
]);
}
}
@@ -878,7 +878,7 @@
if (errors.isNotEmpty) {
foundError(<String>[
...errors,
- '\n${bold}See: https://github.com/flutter/flutter/wiki/Tree-hygiene#skipped-tests$reset',
+ '\n${bold}See: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#skipped-tests$reset',
]);
}
}
@@ -1818,7 +1818,7 @@
'to which you need access, you should consider how to fetch it from another repository;',
'for example, the "assets-for-api-docs" repository is used for images in API docs.',
'To add assets to flutter_tools templates, see the instructions in the wiki:',
- 'https://github.com/flutter/flutter/wiki/Managing-template-image-assets',
+ 'https://github.com/flutter/flutter/blob/main/docs/tool/Managing-template-image-assets.md',
]);
}
}
@@ -2114,9 +2114,9 @@
}
if (errors.isNotEmpty) {
foundError(<String>[
- '${bold}Avoid the word "simply" in documentation. See https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#use-the-passive-voice-recommend-do-not-require-never-say-things-are-simple for details.$reset',
+ '${bold}Avoid the word "simply" in documentation. See https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#use-the-passive-voice-recommend-do-not-require-never-say-things-are-simple for details.$reset',
'${bold}In many cases these words can be omitted without loss of generality; in other cases it may require a bit of rewording to avoid implying that the task is simple.$reset',
- '${bold}Similarly, avoid using "note:" or the phrase "note that". See https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#avoid-empty-prose for details.$reset',
+ '${bold}Similarly, avoid using "note:" or the phrase "note that". See https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#avoid-empty-prose for details.$reset',
...errors,
]);
}
diff --git a/dev/bots/analyze_snippet_code.dart b/dev/bots/analyze_snippet_code.dart
index 43bf55b..4453b52 100644
--- a/dev/bots/analyze_snippet_code.dart
+++ b/dev/bots/analyze_snippet_code.dart
@@ -9,7 +9,7 @@
//
// For documentation on creating sample code, see ../../examples/api/README.md
// See also our style guide's discussion on documentation and sample code:
-// https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#documentation-dartdocs-javadocs-etc
+// https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
//
// This tool is used to analyze smaller snippets of code in the API docs.
// Such snippets are wrapped in ```dart ... ``` blocks, which may themselves
diff --git a/dev/bots/test/analyze_test.dart b/dev/bots/test/analyze_test.dart
index 1ed50e0..8b658e2 100644
--- a/dev/bots/test/analyze_test.dart
+++ b/dev/bots/test/analyze_test.dart
@@ -66,14 +66,14 @@
.map((String line) {
return line
.replaceAll('/', Platform.isWindows ? r'\' : '/')
- .replaceAll('STYLE_GUIDE_URL', 'https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo')
+ .replaceAll('STYLE_GUIDE_URL', 'https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md')
.replaceAll('RELEASES_URL', 'https://flutter.dev/docs/development/tools/sdk/releases');
})
.join('\n');
expect(result,
'╔═╡ERROR #1╞════════════════════════════════════════════════════════════════════\n'
'$lines\n'
- '║ See: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes\n'
+ '║ See: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes\n'
'╚═══════════════════════════════════════════════════════════════════════════════\n'
);
});
@@ -92,7 +92,7 @@
expect(result.length, 4 + lines.length, reason: 'output had unexpected number of lines:\n${result.join('\n')}');
expect(result[0], '╔═╡ERROR #1╞════════════════════════════════════════════════════════════════════');
expect(result.getRange(1, result.length - 3).toSet(), lines.toSet());
- expect(result[result.length - 3], '║ See: https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter');
+ expect(result[result.length - 3], '║ See: https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md');
expect(result[result.length - 2], '╚═══════════════════════════════════════════════════════════════════════════════');
expect(result[result.length - 1], ''); // trailing newline
});
@@ -187,7 +187,7 @@
'║ to which you need access, you should consider how to fetch it from another repository;\n'
'║ for example, the "assets-for-api-docs" repository is used for images in API docs.\n'
'║ To add assets to flutter_tools templates, see the instructions in the wiki:\n'
- '║ https://github.com/flutter/flutter/wiki/Managing-template-image-assets\n'
+ '║ https://github.com/flutter/flutter/blob/main/docs/tool/Managing-template-image-assets.md\n'
'╚═══════════════════════════════════════════════════════════════════════════════\n'
);
}
diff --git a/dev/bots/utils.dart b/dev/bots/utils.dart
index 61b523e..735b5ef 100644
--- a/dev/bots/utils.dart
+++ b/dev/bots/utils.dart
@@ -271,7 +271,7 @@
// THE FOLLOWING CODE IS A VIOLATION OF OUR STYLE GUIDE
// BECAUSE IT INTRODUCES A VERY FLAKY RACE CONDITION
-// https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#never-check-if-a-port-is-available-before-using-it-never-add-timeouts-and-other-race-conditions
+// https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#never-check-if-a-port-is-available-before-using-it-never-add-timeouts-and-other-race-conditions
// DO NOT USE THE FOLLOWING FUNCTIONS
// DO NOT WRITE CODE LIKE THE FOLLOWING FUNCTIONS
// https://github.com/flutter/flutter/issues/109474
diff --git a/dev/conductor/README.md b/dev/conductor/README.md
index e7b6682..2f7e293 100644
--- a/dev/conductor/README.md
+++ b/dev/conductor/README.md
@@ -1,7 +1,7 @@
# Flutter Conductor
Command-line tool for managing a release of the Flutter SDK. Also see
-https://github.com/flutter/flutter/wiki/Release-process for more information on
+[Release Process](../../docs/releases/Release-process.md) for more information on
the release process.
## Requirements
diff --git a/dev/conductor/core/bin/cli.dart b/dev/conductor/core/bin/cli.dart
index f1394ca..12df3ac 100644
--- a/dev/conductor/core/bin/cli.dart
+++ b/dev/conductor/core/bin/cli.dart
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// See: https://github.com/flutter/flutter/wiki/Release-process
+// See: https://github.com/flutter/flutter/blob/main/docs/releases/Release-process.md
import 'dart:io' as io;
diff --git a/dev/conductor/core/lib/conductor_core.dart b/dev/conductor/core/lib/conductor_core.dart
index 28065d4..6b34f9f 100644
--- a/dev/conductor/core/lib/conductor_core.dart
+++ b/dev/conductor/core/lib/conductor_core.dart
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// See: https://github.com/flutter/flutter/wiki/Release-process
+// See: https://github.com/flutter/flutter/blob/main/docs/releases/Release-process.md
export 'src/candidates.dart';
export 'src/clean.dart';
diff --git a/dev/conductor/core/lib/src/globals.dart b/dev/conductor/core/lib/src/globals.dart
index 83f17a1..60a2e56 100644
--- a/dev/conductor/core/lib/src/globals.dart
+++ b/dev/conductor/core/lib/src/globals.dart
@@ -16,7 +16,7 @@
const List<String> kReleaseChannels = <String>[...kBaseReleaseChannels, FrameworkRepository.defaultBranch];
-const String kReleaseDocumentationUrl = 'https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process';
+const String kReleaseDocumentationUrl = 'https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md';
const String kLuciPackagingConsoleLink = 'https://ci.chromium.org/p/dart-internal/g/flutter_packaging/console';
@@ -29,13 +29,13 @@
'https://mail.google.com/chat/u/0/#chat/space/AAAA6RKcK2k';
const String hotfixToStableWiki =
- 'https://github.com/flutter/flutter/wiki/Hotfixes-to-the-Stable-Channel';
+ 'https://github.com/flutter/flutter/blob/main/docs/releases/Hotfixes-to-the-Stable-Channel.md';
const String flutterAnnounceGroup =
'https://groups.google.com/g/flutter-announce';
const String hotfixDocumentationBestPractices =
- 'https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices';
+ 'https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md';
final RegExp releaseCandidateBranchRegex = RegExp(
r'flutter-(\d+)\.(\d+)-candidate\.(\d+)',
diff --git a/dev/integration_tests/web_e2e_tests/README.md b/dev/integration_tests/web_e2e_tests/README.md
index 15ba8fa..9988784 100644
--- a/dev/integration_tests/web_e2e_tests/README.md
+++ b/dev/integration_tests/web_e2e_tests/README.md
@@ -32,7 +32,7 @@
More resources:
* chromedriver: https://chromedriver.chromium.org/getting-started
-* FlutterDriver: https://github.com/flutter/flutter/wiki/Running-Flutter-Driver-tests-with-Web
+* FlutterDriver: https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Running-Flutter-Driver-tests-with-Web.md
* `package:integration_test`: https://pub.dev/packages/integration_test
[1]: https://chromedriver.chromium.org/downloads
diff --git a/dev/tools/update_icons.dart b/dev/tools/update_icons.dart
index 1007f72..a3857af 100644
--- a/dev/tools/update_icons.dart
+++ b/dev/tools/update_icons.dart
@@ -3,7 +3,7 @@
// found in the LICENSE file.
// Regenerates a Dart file with a class containing IconData constants.
-// See https://github.com/flutter/flutter/wiki/Updating-Material-Design-Fonts-&-Icons
+// See https://github.com/flutter/flutter/blob/main/docs/libraries/material/Updating-Material-Design-Fonts-%26-Icons.md
// Should be idempotent with:
// dart dev/tools/update_icons.dart --new-codepoints bin/cache/artifacts/material_fonts/codepoints
diff --git a/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md b/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
index 48c583c..49ec2cf 100644
--- a/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
+++ b/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
@@ -41,7 +41,7 @@
Visit https://flutter-gold.skia.org/ to view and approve
the image(s), or revert the associated change. For more
information, visit the wiki:
- https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter
+ https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
```
To resolve, visit the [Flutter Gold dashboard](https://flutter-gold.skia.org/) to view the batch of images in question. If they are intended changes, approve them by clicking the checkmark, and re-run the failing test to resolve. If the image changes are not intended, revert the associated change.
diff --git a/docs/releases/archive/Commits-Between-1.2.1-and-1.5.4.md b/docs/releases/archive/Commits-Between-1.2.1-and-1.5.4.md
index 74d8d84..43c52cf 100644
--- a/docs/releases/archive/Commits-Between-1.2.1-and-1.5.4.md
+++ b/docs/releases/archive/Commits-Between-1.2.1-and-1.5.4.md
@@ -529,7 +529,7 @@
|Moein Porkamel <tje3d@yahoo.com>|Fix typo ([#28558](https://github.com/flutter/flutter/issues/28558))|
|liyuqian <liyuqian@google.com>|Reland "Shader warm up ([#27660](https://github.com/flutter/flutter/issues/27660))" ([#28537](https://github.com/flutter/flutter/issues/28537)) This reverts commit adc8e159a548121a45ff7a45b4e556aff998d4bd. This should be safe to land once https://github.com/flutter/flutter/pull/28530 gets merged Merge on yellow doc test because the doc test is actually green.|
|Jonah Williams <jonahwilliams@google.com>|remove personal repo and replace with trivial example for smoke test ([#28386](https://github.com/flutter/flutter/issues/28386))|
-|liyuqian <liyuqian@google.com>|Add LICENSE test to presubmit checks ([#28369](https://github.com/flutter/flutter/issues/28369)) ## Description Also update the existing dart files with missing licenses. Without the fix, we'll emit the following error message ``` License headers cannot be found at the beginning of the following files. /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/lib/src/animation/tween_sequence.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/material/raw_material_button_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/async_lifecycle_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/sliver_constraints_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/app_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/test_border.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/physical_model_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/inherited_model.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/lib/src/base/user_messages.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/src/pubspec_schema.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/ios/simulators_test.dart ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ## Related Issues Fixes https://github.com/flutter/flutter/issues/28368 ## Checklist Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process. - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] My PR includes tests for *all* changed/updated/fixed behaviors (See [Test Coverage]). - [x] All existing and new tests are passing. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] The analyzer (`flutter analyze --flutter-repo`) does not report any problems on my PR. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I am willing to follow-up on review comments in a timely manner. ## Breaking Change Does your PR require Flutter developers to manually update their apps to accommodate your change? - [ ] Yes, this is a breaking change (Please read [Handling breaking changes]). - [x] No, this is *not* a breaking change. <!-- Links --> [issue database]: https://github.com/flutter/flutter/issues [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Test Coverage]: https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [Handling breaking changes]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes|
+|liyuqian <liyuqian@google.com>|Add LICENSE test to presubmit checks ([#28369](https://github.com/flutter/flutter/issues/28369)) ## Description Also update the existing dart files with missing licenses. Without the fix, we'll emit the following error message ``` License headers cannot be found at the beginning of the following files. /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/lib/src/animation/tween_sequence.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/material/raw_material_button_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/async_lifecycle_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/sliver_constraints_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/app_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/test_border.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/physical_model_test.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/inherited_model.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/lib/src/base/user_messages.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/src/pubspec_schema.dart /usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/ios/simulators_test.dart ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ## Related Issues Fixes https://github.com/flutter/flutter/issues/28368 ## Checklist Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process. - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] My PR includes tests for *all* changed/updated/fixed behaviors (See [Test Coverage]). - [x] All existing and new tests are passing. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] The analyzer (`flutter analyze --flutter-repo`) does not report any problems on my PR. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I am willing to follow-up on review comments in a timely manner. ## Breaking Change Does your PR require Flutter developers to manually update their apps to accommodate your change? - [ ] Yes, this is a breaking change (Please read [Handling breaking changes]). - [x] No, this is *not* a breaking change. <!-- Links --> [issue database]: https://github.com/flutter/flutter/issues [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Test Coverage]: https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Test-coverage-for-package-flutter.md [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [Handling breaking changes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes|
|liyuqian <liyuqian@google.com>|Fix backspace and clear length in AnsiStatus ([#28477](https://github.com/flutter/flutter/issues/28477)) Fixes https://github.com/flutter/flutter/issues/26922 Without the fix, the newly added test failed with the following error: ``` 00:07 +24 -4: Spinners AnsiStatus works for fuchsia [E] Expected: a non-negative value Actual: <-1> Which: is not a non-negative value The following line has overflow backtraces: "Hello world \b\b\b\b\b\b\b\b ⣽\b\b\b\b\b\b\b\b ⣻\b\b\b\b\b\b\b\b ⢿\b\b\b\b\b\b\b\b ⡿\b\b\b\b\b\b\b\b ⣟\b\b\b\b\b\b\b\b ⣯\b\b\b\b\b\b\b\b ⣷\b\b\b\b\b\b\b\b ⣾\b\b\b\b\b\b\b\b ⣽\b\b\b\b\b\b\b\b ⣻\b\b\b\b\b\b\b\b ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣯ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣷ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣾ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣽ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣻ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣯ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣷ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣾ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣽ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣻ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⢿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⡿ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣟ (This is taking an unexpectedly long time.)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b ⣯ (This is taking an unexpectedly long time.)" ```|
|Jonah Williams <jonahwilliams@google.com>|Add basic web device and run support ([#28302](https://github.com/flutter/flutter/issues/28302))|
|Dan Field <dfield@gmail.com>|increase timeout ([#28480](https://github.com/flutter/flutter/issues/28480))|
diff --git a/packages/analysis_options.yaml b/packages/analysis_options.yaml
index 3f0e828..f86aafb 100644
--- a/packages/analysis_options.yaml
+++ b/packages/analysis_options.yaml
@@ -5,5 +5,5 @@
linter:
rules:
- - public_member_api_docs # see https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#documentation-dartdocs-javadocs-etc
+ - public_member_api_docs # see https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#documentation-dartdocs-javadocs-etc
- no_runtimeType_toString # use objectRuntimeType from package:foundation
diff --git a/packages/flutter/lib/fix_data/README.md b/packages/flutter/lib/fix_data/README.md
index 9e98e27..782dbc6 100644
--- a/packages/flutter/lib/fix_data/README.md
+++ b/packages/flutter/lib/fix_data/README.md
@@ -26,8 +26,7 @@
For more documentation about Data Driven Fixes, see
https://dart.dev/go/data-driven-fixes#test-folder.
-To learn more about how fixes are authored in package:flutter, see
-https://github.com/flutter/flutter/wiki/Data-driven-Fixes
+To learn more about how fixes are authored in package:flutter, see [Data driven Fixes](../../../../docs/contributing/Data-driven-Fixes.md).
## When making structural changes to this directory
diff --git a/packages/flutter/lib/src/material/icons.dart b/packages/flutter/lib/src/material/icons.dart
index cdf5798..d0a9ca1 100644
--- a/packages/flutter/lib/src/material/icons.dart
+++ b/packages/flutter/lib/src/material/icons.dart
@@ -27,7 +27,7 @@
}
// Generated code: do not hand-edit.
- // See https://github.com/flutter/flutter/wiki/Updating-Material-Design-Fonts-&-Icons
+ // https://github.com/flutter/flutter/blob/main/docs/libraries/material/Updating-Material-Design-Fonts-%26-Icons.md
// BEGIN GENERATED PLATFORM ADAPTIVE ICONS
@@ -178,7 +178,7 @@
static PlatformAdaptiveIcons get adaptive => const PlatformAdaptiveIcons._();
// Generated code: do not hand-edit.
- // See https://github.com/flutter/flutter/wiki/Updating-Material-Design-Fonts-&-Icons
+ // https://github.com/flutter/flutter/blob/main/docs/libraries/material/Updating-Material-Design-Fonts-%26-Icons.md
// BEGIN GENERATED ICONS
/// <i class="material-icons md-36">10k</i> — material icon named "10k".
diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml
index 3a195e4..20d10c1 100644
--- a/packages/flutter/pubspec.yaml
+++ b/packages/flutter/pubspec.yaml
@@ -9,7 +9,7 @@
# To update these, use "flutter update-packages --force-upgrade".
#
# For detailed instructions, refer to:
- # https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter
+ # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md
characters: 1.3.0
collection: 1.18.0
material_color_utilities: 0.11.1
diff --git a/packages/flutter/test/painting/decoration_image_lerp_test.dart b/packages/flutter/test/painting/decoration_image_lerp_test.dart
index 8586abb..12119a2 100644
--- a/packages/flutter/test/painting/decoration_image_lerp_test.dart
+++ b/packages/flutter/test/painting/decoration_image_lerp_test.dart
@@ -4,7 +4,7 @@
// This file is run as part of a reduced test set in CI on Mac and Windows
// machines because it contains golden tests; see:
-// https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter#reduced-test-set-tag
+// https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
@Tags(<String>['reduced-test-set'])
library;
diff --git a/packages/flutter/test_fixes/README.md b/packages/flutter/test_fixes/README.md
index 38dbb06..4e5c544 100644
--- a/packages/flutter/test_fixes/README.md
+++ b/packages/flutter/test_fixes/README.md
@@ -17,7 +17,7 @@
https://dart.dev/go/data-driven-fixes#test-folder.
To learn more about how fixes are authored in package:flutter, see
-https://github.com/flutter/flutter/wiki/Data-driven-Fixes
+[Data driven fixes](../../../docs/contributing/Data-driven-Fixes.md).
## When making structural changes to this directory
diff --git a/packages/flutter/test_private/pubspec.yaml b/packages/flutter/test_private/pubspec.yaml
index 4366ea5..b1c4caa 100644
--- a/packages/flutter/test_private/pubspec.yaml
+++ b/packages/flutter/test_private/pubspec.yaml
@@ -8,7 +8,7 @@
# To update these, use "flutter update-packages --force-upgrade".
#
# For detailed instructions, refer to:
- # https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter
+ # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md
meta: 1.15.0
path: 1.9.0
process: 5.0.2
diff --git a/packages/flutter/test_private/test/pubspec.yaml b/packages/flutter/test_private/test/pubspec.yaml
index 7589790..67a2db7 100644
--- a/packages/flutter/test_private/test/pubspec.yaml
+++ b/packages/flutter/test_private/test/pubspec.yaml
@@ -7,7 +7,7 @@
# To update these, use "flutter update-packages --force-upgrade".
#
# For detailed instructions, refer to:
- # https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter
+ # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md
flutter:
sdk: flutter
flutter_test:
diff --git a/packages/flutter_driver/lib/fix_data/README.md b/packages/flutter_driver/lib/fix_data/README.md
index 3a3622d..100c6bf 100644
--- a/packages/flutter_driver/lib/fix_data/README.md
+++ b/packages/flutter_driver/lib/fix_data/README.md
@@ -26,7 +26,7 @@
https://dart.dev/go/data-driven-fixes#test-folder.
To learn more about how fixes are authored in package:flutter_driver, see
-https://github.com/flutter/flutter/wiki/Data-driven-Fixes
+[Data driven fixes](../../../../docs/contributing/Data-driven-Fixes.md).
## When making structural changes to this directory
diff --git a/packages/flutter_driver/test_fixes/README.md b/packages/flutter_driver/test_fixes/README.md
index 647be44..ad6add3 100644
--- a/packages/flutter_driver/test_fixes/README.md
+++ b/packages/flutter_driver/test_fixes/README.md
@@ -17,7 +17,7 @@
https://dart.dev/go/data-driven-fixes#test-folder.
To learn more about how fixes are authored in package:flutter, see
-https://github.com/flutter/flutter/wiki/Data-driven-Fixes
+[Data driven fixes](../../../docs/contributing/Data-driven-Fixes.md).
## When making structural changes to this directory
diff --git a/packages/flutter_goldens/lib/flutter_goldens.dart b/packages/flutter_goldens/lib/flutter_goldens.dart
index 4a3d663..e88aece 100644
--- a/packages/flutter_goldens/lib/flutter_goldens.dart
+++ b/packages/flutter_goldens/lib/flutter_goldens.dart
@@ -17,7 +17,7 @@
// If you are here trying to figure out how to use golden files in the Flutter
// repo itself, consider reading this wiki page:
-// https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package%3Aflutter
+// https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
// If you are trying to debug this package, you may like to use the golden test
// titled "Inconsequential golden test" in this file:
diff --git a/packages/flutter_goldens/lib/skia_client.dart b/packages/flutter_goldens/lib/skia_client.dart
index 119954d..44e446e 100644
--- a/packages/flutter_goldens/lib/skia_client.dart
+++ b/packages/flutter_goldens/lib/skia_client.dart
@@ -13,7 +13,7 @@
// If you are here trying to figure out how to use golden files in the Flutter
// repo itself, consider reading this wiki page:
-// https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package%3Aflutter
+// https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
const String _kFlutterRootKey = 'FLUTTER_ROOT';
const String _kGoldctlKey = 'GOLDCTL';
@@ -238,7 +238,7 @@
..writeln('Visit https://flutter-gold.skia.org/ to view and approve ')
..writeln('the image(s), or revert the associated change. For more ')
..writeln('information, visit the wiki: ')
- ..writeln('https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter')
+ ..writeln('https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md')
..writeln()
..writeln('Debug information for Gold --------------------------------')
..writeln('stdout: ${result.stdout}')
diff --git a/packages/flutter_goldens/pubspec.yaml b/packages/flutter_goldens/pubspec.yaml
index 4af7b49..d33d634 100644
--- a/packages/flutter_goldens/pubspec.yaml
+++ b/packages/flutter_goldens/pubspec.yaml
@@ -7,7 +7,7 @@
# To update these, use "flutter update-packages --force-upgrade".
#
# For detailed instructions, refer to:
- # https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter
+ # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md
flutter:
sdk: flutter
flutter_test:
diff --git a/packages/flutter_localizations/pubspec.yaml b/packages/flutter_localizations/pubspec.yaml
index 3ac4795..fc981a5 100644
--- a/packages/flutter_localizations/pubspec.yaml
+++ b/packages/flutter_localizations/pubspec.yaml
@@ -7,7 +7,7 @@
# To update these, use "flutter update-packages --force-upgrade".
#
# For detailed instructions, refer to:
- # https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter
+ # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md
flutter:
sdk: flutter
diff --git a/packages/flutter_test/lib/fix_data/README.md b/packages/flutter_test/lib/fix_data/README.md
index 2b7b48e..f474b49 100644
--- a/packages/flutter_test/lib/fix_data/README.md
+++ b/packages/flutter_test/lib/fix_data/README.md
@@ -26,7 +26,7 @@
https://dart.dev/go/data-driven-fixes#test-folder.
To learn more about how fixes are authored in package:flutter_test, see
-https://github.com/flutter/flutter/wiki/Data-driven-Fixes
+[Data driven fixes](../../../../docs/contributing/Data-driven-Fixes.md).
## When making structural changes to this directory
diff --git a/packages/flutter_test/lib/src/goldens.dart b/packages/flutter_test/lib/src/goldens.dart
index 3e1e2b9..2d32111 100644
--- a/packages/flutter_test/lib/src/goldens.dart
+++ b/packages/flutter_test/lib/src/goldens.dart
@@ -84,7 +84,7 @@
/// historical golden files.
///
/// Version numbers are used in golden file tests for package:flutter. You can
- /// learn more about these tests [here](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter).
+ /// learn more about these tests [here](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md).
Uri getTestUri(Uri key, int? version) {
if (version == null) {
return key;
@@ -216,7 +216,7 @@
/// historical golden files.
///
/// Version numbers are used in golden file tests for package:flutter. You can
- /// learn more about these tests [here](https://github.com/flutter/flutter/wiki/Writing-a-golden-file-test-for-package:flutter).
+ /// learn more about these tests [here](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md).
Uri getTestUri(Uri key, int? version) {
if (version == null) {
return key;
diff --git a/packages/flutter_test/pubspec.yaml b/packages/flutter_test/pubspec.yaml
index 6e19865..3261de1 100644
--- a/packages/flutter_test/pubspec.yaml
+++ b/packages/flutter_test/pubspec.yaml
@@ -7,7 +7,7 @@
# To update these, use "flutter update-packages --force-upgrade".
#
# For detailed instructions, refer to:
- # https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter
+ # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md
flutter:
sdk: flutter
diff --git a/packages/flutter_tools/README.md b/packages/flutter_tools/README.md
index 606eacf..2309078 100644
--- a/packages/flutter_tools/README.md
+++ b/packages/flutter_tools/README.md
@@ -7,7 +7,7 @@
Be sure to follow the instructions on [CONTRIBUTING.md](../../CONTRIBUTING.md)
to set up your development environment. Further, familiarize yourself with the
-[style guide](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo),
+[style guide](../../docs/contributing/Style-guide-for-Flutter-repo.md),
which we follow.
### Setting up
@@ -36,8 +36,8 @@
### Writing tests
-As with other parts of the Flutter repository, all changes in behavior [must be
-tested](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#write-test-find-bug).
+As with other parts of the Flutter repository, all changes in behavior
+[must be tested](../../docs/contributing/Style-guide-for-Flutter-repo.md#write-test-find-bug).
Tests live under the `test/` subdirectory.
- Hermetic unit tests of tool internals go under `test/general.shard`
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart
index 40e0332..e91657b 100644
--- a/packages/flutter_tools/lib/src/artifacts.dart
+++ b/packages/flutter_tools/lib/src/artifacts.dart
@@ -323,7 +323,7 @@
/// Information about a local engine build (i.e. `--local-engine[-host]=...`).
///
-/// See https://github.com/flutter/flutter/wiki/The-flutter-tool#using-a-locally-built-engine-with-the-flutter-tool
+/// See https://github.com/flutter/flutter/blob/main/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool
/// for more information about local engine builds.
class LocalEngineInfo {
/// Creates a reference to a local engine build.
diff --git a/packages/flutter_tools/pubspec.yaml b/packages/flutter_tools/pubspec.yaml
index c90c52f..4be7182 100644
--- a/packages/flutter_tools/pubspec.yaml
+++ b/packages/flutter_tools/pubspec.yaml
@@ -9,7 +9,7 @@
# To update these, use "flutter update-packages --force-upgrade".
#
# For detailed instructions, refer to:
- # https://github.com/flutter/flutter/wiki/Updating-dependencies-in-Flutter
+ # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md
archive: 3.6.1
args: 2.5.0
browser_launcher: 1.1.1
diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
index 5fc257c..f34590c 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
@@ -923,7 +923,7 @@
// Import for the new embedding class.
expect(mainActivity.contains('import io.flutter.embedding.android.FlutterActivity'), true);
- expect(logger.statusText, isNot(contains('https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects')));
+ expect(logger.statusText, isNot(contains('https://github.com/flutter/flutter/blob/main/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md')));
}, overrides: <Type, Generator>{
Logger: () => logger,
});
diff --git a/packages/flutter_tools/test/general.shard/project_test.dart b/packages/flutter_tools/test/general.shard/project_test.dart
index c6e4e52..330128a 100644
--- a/packages/flutter_tools/test/general.shard/project_test.dart
+++ b/packages/flutter_tools/test/general.shard/project_test.dart
@@ -211,13 +211,13 @@
// android:name="flutterEmbedding" android:value="2" />.
project.checkForDeprecation(deprecationBehavior: DeprecationBehavior.ignore);
- expect(testLogger.statusText, isNot(contains('https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects')));
+ expect(testLogger.statusText, isNot(contains('https://github.com/flutter/flutter/blob/main/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md')));
});
_testInMemory('Android plugin project does not throw v1 embedding deprecation warning', () async {
final FlutterProject project = await aPluginProject();
project.checkForDeprecation(deprecationBehavior: DeprecationBehavior.exit);
- expect(testLogger.statusText, isNot(contains('https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects')));
+ expect(testLogger.statusText, isNot(contains('https://github.com/flutter/flutter/blob/main/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md')));
expect(testLogger.statusText, isNot(contains('No `<meta-data android:name="flutterEmbedding" android:value="2"/>` in ')));
});
_testInMemory('Android plugin without example app does not show a warning', () async {
@@ -225,7 +225,7 @@
project.example.directory.deleteSync();
await project.regeneratePlatformSpecificTooling();
- expect(testLogger.statusText, isNot(contains('https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects')));
+ expect(testLogger.statusText, isNot(contains('https://github.com/flutter/flutter/blob/main/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md')));
});
_testInMemory('updates local properties for Android', () async {
final FlutterProject project = await someProject();
diff --git a/packages/integration_test/lib/fix_data/README.md b/packages/integration_test/lib/fix_data/README.md
index 05c275d..94b7508 100644
--- a/packages/integration_test/lib/fix_data/README.md
+++ b/packages/integration_test/lib/fix_data/README.md
@@ -26,7 +26,7 @@
https://dart.dev/go/data-driven-fixes#test-folder.
To learn more about how fixes are authored in package:integration_test, see
-https://github.com/flutter/flutter/wiki/Data-driven-Fixes
+[Data driven fixes](../../../../docs/contributing/Data-driven-Fixes.md).
## When making structural changes to this directory