This repository has been archived on 2023-09-08. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2022-04-12 16:14:32 -05:00
.github ci(generate_template): use macos (#20) 2022-04-12 13:11:28 -05:00
brick chore: generate template (#22) 2022-04-12 15:12:31 -05:00
src docs: README enhancements (#23) 2022-04-12 16:14:32 -05:00
tool/generator fix: platforms partial (#21) 2022-04-12 15:11:23 -05:00
.gitignore feat(platform_interface): create my_plugin_platform_interface (#1) 2022-02-14 15:55:48 -06:00
analysis_options.yaml build: generate_template script + workflow (#11) 2022-04-08 17:05:06 -05:00
LICENSE chore: add LICENSE 2022-02-14 15:16:36 -06:00
README.md docs: README enhancements (#23) 2022-04-12 16:14:32 -05:00

Very Good Flutter Plugin

Very Good Ventures Very Good Ventures

Developed with 💙 by Very Good Ventures 🦄

my_plugin coverage style: very good analysis License: MIT

A Very Good Flutter Plugin created by the Very Good Ventures Team.

Getting Started 🚀

In order to start using Very Good Flutter Plugin you must have the Flutter SDK installed on your machine.

Running the Example ⚙️

The src directory contains the main my_plugin package along with the platform interface and the platform-specific implementations.

You can run the example via:

cd src/my_plugin/example
flutter run

The plugin supports the following platforms:

  • Android
  • iOS
  • Linux
  • MacOS
  • Web
  • Windows

Generating a Custom Plugin 📦

This repository powers the flutter_plugin template exposed via Very Good CLI.

If you have not previously installed Very Good CLI, you can install it via:

dart pub global activate very_good_cli

A custom plugin can be generated via the create command:

very_good create my_plugin -t flutter_plugin

A custom description and org name can be also be provided via:

very_good create my_plugin -t flutter_plugin --desc "My custom description" --org-name com.example.my_plugin

By default, the generated plugin supports all platforms specified above. To disable support for specific platforms use the platform flags:

# Exclude Windows and Linux support
very_good create my_plugin -t flutter_plugin --windows false --linux false

Testing 🧪

Very Good Flutter Plugin ships with 100% code coverage. To learn more about why we believe 100% code coverage is important and other testing best practices read our guide to Flutter testing.

Running Tests 🧑‍🔬

Each platform implementation includes tests which can be run via:

flutter test

Continuous Integration 🤖

Very Good Flutter Plugin comes with a built-in GitHub Actions workflow but you can also add your preferred CI/CD solution.

Out of the box, on each pull request and push, the CI formats, lints, and tests the code using Very Good Workflows. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses Very Good Analysis for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Coverage GitHub Action][very_good_coverage_link].

In addition, there are E2E tests as part of the my_plugin workflow to ensure that the plugin correctly integrates with the host application on each platform.