You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@
8
8
9
9
-[ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
10
10
-[ ] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
11
-
-[ ] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides].
11
+
-[ ] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides]. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use `dart format`. See [plugin_tool format](../script/tool/README.md#format-code))
12
12
-[ ] I signed the [CLA].
13
13
-[ ] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. `[shared_preferences]`
14
14
-[ ] I listed at least one issue that this PR fixes in the description above.
_See also: [Flutter's code of conduct](https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md)_
@@ -26,14 +25,12 @@ for any of the following plugins, we encourage you to submit it
26
25
27
26
## Things you will need
28
27
29
-
30
28
* Linux, Mac OS X, or Windows.
31
29
* git (used for source version control).
32
30
* An ssh client (used to authenticate with GitHub).
33
31
34
32
## Getting the code and configuring your environment
35
33
36
-
37
34
* Ensure all the dependencies described in the previous section are installed.
38
35
* Fork `https://github.com/flutter/plugins` into your own GitHub account. If
39
36
you already have a fork, and are now installing a development environment on
@@ -48,8 +45,13 @@ for any of the following plugins, we encourage you to submit it
48
45
fetch from the master repository, not your clone, when running `git fetch`
49
46
et al.)
50
47
51
-
## Running the examples
52
48
49
+
## Setting up tools
50
+
51
+
There are scripts for many common tasks (testing, formatting, etc.) that will likely be useful in preparing a PR.
52
+
See [plugin_tools](./script/tool/README.MD) for more details.
53
+
54
+
## Running the examples
53
55
54
56
To run an example with a prebuilt binary from the cloud, switch to that
55
57
example's directory, run `pub get` to make sure its dependencies have been
@@ -137,13 +139,7 @@ pod lib lint --allow-warnings
137
139
XCUITests aren't usually configured with cocoapods in this repo. They are configured in a xcode workspace target named RunnerUITests.
138
140
To run all the XCUITests in a plugin, follow the steps in a regular iOS development workflow [here](https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/05-running_tests.html)
139
141
140
-
For convenience, a [flutter_plugin_tools](https://pub.dev/packages/flutter_plugin_tools) command `xctest` could also be used to run all the XCUITests in the repo:
141
-
142
-
```console
143
-
pub global activate flutter_plugin_tools
144
-
cd <path_to_plugins>/packages
145
-
pub global run flutter_plugin_tools xctest --target RunnerUITests --skip <plugins_to_skip>
146
-
```
142
+
For convenience, a [plugin_tools](./script/tool/README.MD) command [xctest](./script/tool/README.MD#run-xctests) could also be used to run all the XCUITests in the repo.
147
143
148
144
## Contributing code
149
145
@@ -159,12 +155,12 @@ To start working on a patch:
*`git commit -a -m "<your informative commit message>"`
170
166
*`git push origin <name_of_your_branch>`
@@ -194,8 +190,6 @@ You may also add it to the AUTHORS file for [the repository](AUTHORS).
194
190
195
191
### The review process
196
192
197
-
* This is a new process we are currently experimenting with, feedback on the process is welcomed at the Gitter contributors channel. *
198
-
199
193
Reviewing PRs often requires a non trivial amount of time. We prioritize issues, not PRs, so that we use our maintainers' time in the most impactful way. Issues pertaining to this repository are managed in the [flutter/flutter issue tracker and are labeled with "plugin"](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Aplugin+sort%3Areactions-%2B1-desc). Non trivial PRs should have an associated issue that will be used for prioritization. See the [prioritization section](https://github.com/flutter/flutter/wiki/Issue-hygiene#prioritization) in the Flutter wiki to understand how issues are prioritized.
200
194
201
195
Newly opened PRs first go through initial triage which results in one of:
@@ -237,45 +231,12 @@ Some things to keep in mind before publishing the release:
237
231
from people that immediately adopt it, and uncovering and resolving those
238
232
support issues will take more time if you're unavailable.
239
233
240
-
Releasing a package is a two-step process.
234
+
To release a package, a [publish-plugin](./script/tool/README.MD#publish-and-tag-release) tool script should be used. This command publishes the new version to pub.dev, and tags the commit in the format of `<package_name>-v<package_version>` then pushes it to upstream.
235
+
236
+
Alternatively, one can release a package in the below 2-step process.
241
237
242
238
1. Push the package update to [pub.dev](https://pub.dev) using `pub publish`.
243
239
2. Tag the commit with git in the format of `<package_name>-v<package_version>`,
244
240
and then push the tag to the `flutter/plugins` master branch. This can be
245
241
done manually with `git tag $tagname && git push upstream $tagname` while
246
242
checked out on the commit that updated `version` in `pubspec.yaml`.
247
-
248
-
We've recently updated
249
-
[flutter_plugin_tools](https://github.com/flutter/plugin_tools) to wrap both of
250
-
those steps into one command to make it a little easier. This new tool is
251
-
experimental. Feel free to fall back on manually running `pub publish` and
252
-
creating and pushing the tag in git if there are issues with it.
253
-
254
-
Install the tool by running:
255
-
256
-
```terminal
257
-
$ pub global activate flutter_plugin_tools
258
-
```
259
-
260
-
Then, from the root of your local `flutter/plugins` repo, use the tool to
261
-
publish a release.
262
-
263
-
```terminal
264
-
$ pub global run flutter_plugin_tools publish-plugin --package $package
265
-
```
266
-
267
-
By default the tool tries to push tags to the `upstream` remote, but that and
268
-
some additional settings can be configured. Run `pub global activate
269
-
flutter_plugin_tools --help` for more usage information.
270
-
271
-
The tool wraps `pub publish` for pushing the package to pub, and then will
272
-
automatically use git to try and create and push tags. It has some additional
273
-
safety checking around `pub publish` too. By default `pub publish` publishes
274
-
_everything_, including untracked or uncommitted files in version control.
275
-
`flutter_plugin_tools publish-plugin` will first check the status of the local
276
-
directory and refuse to publish if there are any mismatched files with version
277
-
control present.
278
-
279
-
There is a lot about this process that is still to be desired. Some top level
0 commit comments