diff --git a/.github/workflows/integrate.yaml b/.github/workflows/integrate.yaml index cacb3b53f..c480cd89c 100644 --- a/.github/workflows/integrate.yaml +++ b/.github/workflows/integrate.yaml @@ -19,6 +19,8 @@ jobs: run: dart format lib/ test/ --set-exit-if-changed - name: Check import formatting run: dart run import_sorter:main --no-comments --exit-if-changed + - name: Check license compliance + run: dart run license_checker check-licenses -c licenses.yaml --problematic - run: flutter analyze - name: Apply google services patch run: git apply ./scripts/enable-android-google-services.patch diff --git a/licenses.yaml b/licenses.yaml new file mode 100644 index 000000000..7b2f79bbf --- /dev/null +++ b/licenses.yaml @@ -0,0 +1,38 @@ +# This is a config for a license compliance checker script. It runs in CI. +# +# To run locally: +# dart run license_checker check-licenses -c licenses.yaml --problematic +# +# SPDX license list: https://spdx.org/licenses/ + +# Before you add a license here: Is it free software? Is it compatible with AGPL-3.0? +permittedLicenses: + - AGPL-3.0 + - Apache-2.0 + - BSD-2-Clause + - BSD-3-Clause + - EUPL-1.2 + - MIT + - MPL-2.0 + - Zlib + +packageLicenseOverride: + dependency_validator: Apache-2.0 + flutter_gen: MIT + hive: Apache-2.0 + hive_flutter: Apache-2.0 + latlong2: Apache-2.0 + platform_detect: Apache-2.0 + rxdart: Apache-2.0 + + # flutter's internal packages + flutter_driver: BSD-3-Clause + flutter_localizations: BSD-3-Clause + flutter_test: BSD-3-Clause + flutter_web_plugins: BSD-3-Clause + fuchsia_remote_debug_protocol: BSD-3-Clause + integration_test: BSD-3-Clause + sky_engine: BSD-3-Clause + +rejectedLicenses: + - BUSL-1.1 diff --git a/pubspec.lock b/pubspec.lock index 8e2813bb4..9459f113e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,6 +1,14 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + url: "https://pub.dev" + source: hosted + version: "61.0.0" adaptive_dialog: dependency: "direct main" description: @@ -9,6 +17,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + url: "https://pub.dev" + source: hosted + version: "5.13.0" animations: dependency: "direct main" description: @@ -73,6 +89,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.2" + barbecue: + dependency: transitive + description: + name: barbecue + sha256: e3a0afaf9005e466887d6c87411a2ddd8d72fc46db3caabf278ee600f1e2f92c + url: "https://pub.dev" + source: hosted + version: "0.4.0" base58check: dependency: transitive description: @@ -177,6 +201,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" + colorize: + dependency: transitive + description: + name: colorize + sha256: "584746cd6ba1cba0633b6720f494fe6f9601c4170f0666c1579d2aa2a61071ba" + url: "https://pub.dev" + source: hosted + version: "3.0.0" console: dependency: transitive description: @@ -1062,6 +1094,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + license_checker: + dependency: "direct dev" + description: + name: license_checker + sha256: eea27638e42bc98fd91a6a8187eb57e5617e2c3c8b313a5d51b14bec7a8685e1 + url: "https://pub.dev" + source: hosted + version: "1.6.0" linkify: dependency: "direct main" description: @@ -1238,6 +1278,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + pana: + dependency: transitive + description: + name: pana + sha256: "098eecfb7f80aecfff2395f9de1f19e31e7dc9a190708b75a1e708e6c2993c36" + url: "https://pub.dev" + source: hosted + version: "0.21.32" pasteboard: dependency: "direct main" description: @@ -1590,6 +1638,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.0.10" + retry: + dependency: transitive + description: + name: retry + sha256: "822e118d5b3aafed083109c72d5f484c6dc66707885e07c0fbcb8b986bba7efc" + url: "https://pub.dev" + source: hosted + version: "3.1.2" rxdart: dependency: transitive description: @@ -1598,6 +1654,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.27.7" + safe_url_check: + dependency: transitive + description: + name: safe_url_check + sha256: "49a3e060a7869cbafc8f4845ca1ecbbaaa53179980a32f4fdfeab1607e90f41d" + url: "https://pub.dev" + source: hosted + version: "1.1.2" scroll_to_index: dependency: "direct main" description: @@ -1779,6 +1843,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + string_validator: + dependency: transitive + description: + name: string_validator + sha256: "50dd8ecf91db6a732f4a851eeae81ee12406eedc62d0da72f2d91a04a2d10dd8" + url: "https://pub.dev" + source: hosted + version: "0.3.0" swipe_to_action: dependency: "direct main" description: @@ -1803,6 +1875,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.0" + tar: + dependency: transitive + description: + name: tar + sha256: "85ffd53e277f2bac8afa2885e6b195e26937e9c402424c3d88d92fd920b56de9" + url: "https://pub.dev" + source: hosted + version: "0.5.6" term_glyph: dependency: transitive description: @@ -2156,6 +2236,14 @@ packages: url: "https://github.com/chandrabezzo/wakelock.git" source: git version: "0.2.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" web: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b95381d0b..1677616eb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -104,6 +104,7 @@ dev_dependencies: import_sorter: ^4.6.0 integration_test: sdk: flutter + license_checker: ^1.6.0 msix: ^3.6.2 translations_cleaner: ^0.0.5