diff --git a/packages/nextcloud/generate.sh b/packages/nextcloud/generate.sh new file mode 100644 index 00000000..0d14c12b --- /dev/null +++ b/packages/nextcloud/generate.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -euxo pipefail + +( + fvm dart run nextcloud:generate_props + fvm dart pub run build_runner build --delete-conflicting-outputs + fvm dart run nextcloud:generate_exports + # For some reason we need to fix and format twice, otherwise not everything gets fixed + fvm dart fix --apply lib/src/api/ + melos run format + fvm dart fix --apply lib/src/api/ + melos run format +) diff --git a/packages/nextcloud/pubspec.yaml b/packages/nextcloud/pubspec.yaml index fc73c9ad..b4698bdb 100644 --- a/packages/nextcloud/pubspec.yaml +++ b/packages/nextcloud/pubspec.yaml @@ -25,6 +25,7 @@ dependencies: dev_dependencies: build_runner: ^2.4.6 + build_verify: ^3.1.0 built_value_generator: ^8.6.3 coverage: ^1.7.1 dynamite: diff --git a/packages/nextcloud/test/ensure_validity_test.dart b/packages/nextcloud/test/ensure_validity_test.dart new file mode 100644 index 00000000..7139f503 --- /dev/null +++ b/packages/nextcloud/test/ensure_validity_test.dart @@ -0,0 +1,13 @@ +import 'package:build_verify/build_verify.dart'; +import 'package:test/test.dart'; + +void main() { + test( + 'ensure_build', + () async => expectBuildClean( + packageRelativeDirectory: 'packages/nextcloud', + customCommand: ['bash', 'generate.sh'], + ), + tags: 'source_verification', + ); +} diff --git a/tool/generate-nextcloud.sh b/tool/generate-nextcloud.sh index 3fe35a8f..af5aea01 100755 --- a/tool/generate-nextcloud.sh +++ b/tool/generate-nextcloud.sh @@ -5,12 +5,5 @@ cd "$(dirname "$0")/.." ( cd packages/nextcloud rm -rf .dart_tool/build/generated/dynamite - fvm dart run nextcloud:generate_props - fvm dart pub run build_runner build --delete-conflicting-outputs - fvm dart run nextcloud:generate_exports - # For some reason we need to fix and format twice, otherwise not everything gets fixed - fvm dart fix --apply lib/src/api/ - melos run format - fvm dart fix --apply lib/src/api/ - melos run format + bash generate.sh )