diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 2eae8543..a05e7be2 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -133,6 +133,38 @@ jobs: needs: - job_001 job_005: + name: "all; PKG: packages/nextcloud_test; `dart analyze --fatal-infos .`" + runs-on: ubuntu-latest + steps: + - name: Cache Pub hosted dependencies + uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 + with: + path: "~/.pub-cache/hosted" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud_test;commands:analyze_0" + restore-keys: | + os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud_test + os:ubuntu-latest;pub-cache-hosted;sdk:stable + os:ubuntu-latest;pub-cache-hosted + os:ubuntu-latest + - name: Setup Dart SDK + uses: dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d + with: + sdk: stable + - id: checkout + name: Checkout repository + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + - id: packages_nextcloud_test_pub_upgrade + name: packages/nextcloud_test; dart pub upgrade + run: dart pub upgrade + if: "always() && steps.checkout.conclusion == 'success'" + working-directory: packages/nextcloud_test + - name: "packages/nextcloud_test; dart analyze --fatal-infos ." + run: dart analyze --fatal-infos . + if: "always() && steps.packages_nextcloud_test_pub_upgrade.conclusion == 'success'" + working-directory: packages/nextcloud_test + needs: + - job_001 + job_006: name: "all; PKG: packages/sort_box; `dart analyze --fatal-infos .`" runs-on: ubuntu-latest steps: @@ -164,7 +196,7 @@ jobs: working-directory: packages/sort_box needs: - job_001 - job_006: + job_007: name: "all; PKG: packages/spec_templates; `dart analyze --fatal-infos .`" runs-on: ubuntu-latest steps: @@ -196,7 +228,7 @@ jobs: working-directory: packages/spec_templates needs: - job_001 - job_007: + job_008: name: "all; PKG: packages/dynamite; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -228,7 +260,7 @@ jobs: working-directory: packages/dynamite needs: - job_001 - job_008: + job_009: name: "all; PKG: packages/file_icons; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -260,7 +292,7 @@ jobs: working-directory: packages/file_icons needs: - job_001 - job_009: + job_010: name: "all; PKG: packages/neon; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -292,7 +324,7 @@ jobs: working-directory: packages/neon needs: - job_001 - job_010: + job_011: name: "all; PKG: packages/nextcloud; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -324,7 +356,7 @@ jobs: working-directory: packages/nextcloud needs: - job_001 - job_011: + job_012: name: "all; PKG: packages/nextcloud_push_proxy; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -356,7 +388,39 @@ jobs: working-directory: packages/nextcloud_push_proxy needs: - job_001 - job_012: + job_013: + name: "all; PKG: packages/nextcloud_test; `dart format --output=none --set-exit-if-changed --line-length 120 .`" + runs-on: ubuntu-latest + steps: + - name: Cache Pub hosted dependencies + uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 + with: + path: "~/.pub-cache/hosted" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud_test;commands:format" + restore-keys: | + os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud_test + os:ubuntu-latest;pub-cache-hosted;sdk:stable + os:ubuntu-latest;pub-cache-hosted + os:ubuntu-latest + - name: Setup Dart SDK + uses: dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d + with: + sdk: stable + - id: checkout + name: Checkout repository + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 + - id: packages_nextcloud_test_pub_upgrade + name: packages/nextcloud_test; dart pub upgrade + run: dart pub upgrade + if: "always() && steps.checkout.conclusion == 'success'" + working-directory: packages/nextcloud_test + - name: "packages/nextcloud_test; dart format --output=none --set-exit-if-changed --line-length 120 ." + run: "dart format --output=none --set-exit-if-changed --line-length 120 ." + if: "always() && steps.packages_nextcloud_test_pub_upgrade.conclusion == 'success'" + working-directory: packages/nextcloud_test + needs: + - job_001 + job_014: name: "all; PKG: packages/settings; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -388,7 +452,7 @@ jobs: working-directory: packages/settings needs: - job_001 - job_013: + job_015: name: "all; PKG: packages/sort_box; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -420,7 +484,7 @@ jobs: working-directory: packages/sort_box needs: - job_001 - job_014: + job_016: name: "all; PKG: packages/spec_templates; `dart format --output=none --set-exit-if-changed --line-length 120 .`" runs-on: ubuntu-latest steps: @@ -452,7 +516,7 @@ jobs: working-directory: packages/spec_templates needs: - job_001 - job_015: + job_017: name: "all; PKG: packages/file_icons; `flutter analyze --fatal-infos .`" runs-on: ubuntu-latest steps: @@ -484,7 +548,7 @@ jobs: working-directory: packages/file_icons needs: - job_001 - job_016: + job_018: name: "all; PKG: packages/neon; `flutter analyze --fatal-infos .`" runs-on: ubuntu-latest steps: @@ -516,7 +580,7 @@ jobs: working-directory: packages/neon needs: - job_001 - job_017: + job_019: name: "all; PKG: packages/settings; `flutter analyze --fatal-infos .`" runs-on: ubuntu-latest steps: @@ -548,7 +612,7 @@ jobs: working-directory: packages/settings needs: - job_001 - job_018: + job_020: name: "all; PKG: packages/nextcloud; `dart test`" runs-on: ubuntu-latest steps: @@ -580,7 +644,7 @@ jobs: working-directory: packages/nextcloud needs: - job_001 - job_019: + job_021: name: "all; PKG: packages/sort_box; `dart test`" runs-on: ubuntu-latest steps: diff --git a/.idea/nextcloud-neon.iml b/.idea/nextcloud-neon.iml index 8309bce8..375e1f39 100644 --- a/.idea/nextcloud-neon.iml +++ b/.idea/nextcloud-neon.iml @@ -46,6 +46,9 @@ + + + diff --git a/packages/nextcloud/pubspec.yaml b/packages/nextcloud/pubspec.yaml index 4db65776..bfcb1851 100644 --- a/packages/nextcloud/pubspec.yaml +++ b/packages/nextcloud/pubspec.yaml @@ -21,9 +21,10 @@ dev_dependencies: json_serializable: ^6.3.2 nextcloud_push_proxy: path: ../nextcloud_push_proxy + nextcloud_test: + path: ../nextcloud_test nit_picking: git: url: https://github.com/stack11/dart_nit_picking ref: 9f625eb - process_run: ^0.12.3+1 test: ^1.16.0 diff --git a/packages/nextcloud/test/core.dart b/packages/nextcloud/test/core.dart index 31eef3fb..90b151d8 100644 --- a/packages/nextcloud/test/core.dart +++ b/packages/nextcloud/test/core.dart @@ -1,8 +1,7 @@ import 'package:nextcloud/nextcloud.dart'; +import 'package:nextcloud_test/nextcloud_test.dart'; import 'package:test/test.dart'; -import 'helper.dart'; - Future main() async { await run(await getDockerImage()); } diff --git a/packages/nextcloud/test/main_test.dart b/packages/nextcloud/test/main_test.dart index 66907429..ea66c7e9 100644 --- a/packages/nextcloud/test/main_test.dart +++ b/packages/nextcloud/test/main_test.dart @@ -1,5 +1,6 @@ +import 'package:nextcloud_test/nextcloud_test.dart'; + import 'core.dart' as core; -import 'helper.dart'; import 'news.dart' as news; import 'notes.dart' as notes; import 'notifications.dart' as notifications; diff --git a/packages/nextcloud/test/news.dart b/packages/nextcloud/test/news.dart index 7a2b3c7c..47a04a05 100644 --- a/packages/nextcloud/test/news.dart +++ b/packages/nextcloud/test/news.dart @@ -1,8 +1,7 @@ import 'package:nextcloud/nextcloud.dart'; +import 'package:nextcloud_test/nextcloud_test.dart'; import 'package:test/test.dart'; -import 'helper.dart'; - const wikipediaFeedURL = 'https://en.wikipedia.org/w/api.php?action=featuredfeed&feed=featured&feedformat=atom'; const nasaFeedURL = 'https://www.nasa.gov/rss/dyn/breaking_news.rss'; diff --git a/packages/nextcloud/test/notes.dart b/packages/nextcloud/test/notes.dart index 9b6fed66..b322d4a5 100644 --- a/packages/nextcloud/test/notes.dart +++ b/packages/nextcloud/test/notes.dart @@ -1,8 +1,7 @@ import 'package:nextcloud/nextcloud.dart'; +import 'package:nextcloud_test/nextcloud_test.dart'; import 'package:test/test.dart'; -import 'helper.dart'; - Future main() async { await run(await getDockerImage()); } diff --git a/packages/nextcloud/test/notifications.dart b/packages/nextcloud/test/notifications.dart index 83d16979..b446525d 100644 --- a/packages/nextcloud/test/notifications.dart +++ b/packages/nextcloud/test/notifications.dart @@ -3,10 +3,9 @@ import 'dart:io'; import 'package:nextcloud/nextcloud.dart'; import 'package:nextcloud_push_proxy/nextcloud_push_proxy.dart'; +import 'package:nextcloud_test/nextcloud_test.dart'; import 'package:test/test.dart'; -import 'helper.dart'; - Future main() async { await run(await getDockerImage()); } diff --git a/packages/nextcloud/test/provisioning_api.dart b/packages/nextcloud/test/provisioning_api.dart index 45fdc60c..837c762d 100644 --- a/packages/nextcloud/test/provisioning_api.dart +++ b/packages/nextcloud/test/provisioning_api.dart @@ -1,8 +1,7 @@ import 'package:nextcloud/nextcloud.dart'; +import 'package:nextcloud_test/nextcloud_test.dart'; import 'package:test/test.dart'; -import 'helper.dart'; - Future main() async { await run(await getDockerImage()); } diff --git a/packages/nextcloud/test/user_status.dart b/packages/nextcloud/test/user_status.dart index 727a251a..40c9bec8 100644 --- a/packages/nextcloud/test/user_status.dart +++ b/packages/nextcloud/test/user_status.dart @@ -1,8 +1,7 @@ import 'package:nextcloud/nextcloud.dart'; +import 'package:nextcloud_test/nextcloud_test.dart'; import 'package:test/test.dart'; -import 'helper.dart'; - Future main() async { await run(await getDockerImage()); } diff --git a/packages/nextcloud/test/webdav.dart b/packages/nextcloud/test/webdav.dart index 09c948f1..486742b8 100644 --- a/packages/nextcloud/test/webdav.dart +++ b/packages/nextcloud/test/webdav.dart @@ -3,10 +3,9 @@ import 'dart:io'; import 'dart:typed_data'; import 'package:nextcloud/nextcloud.dart'; +import 'package:nextcloud_test/nextcloud_test.dart'; import 'package:test/test.dart'; -import 'helper.dart'; - Future main() async { await run(await getDockerImage()); } diff --git a/packages/nextcloud_test/.gitignore b/packages/nextcloud_test/.gitignore new file mode 100644 index 00000000..65c34dc8 --- /dev/null +++ b/packages/nextcloud_test/.gitignore @@ -0,0 +1,10 @@ +# Files and directories created by pub. +.dart_tool/ +.packages + +# Conventional directory for build outputs. +build/ + +# Omit committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock diff --git a/packages/nextcloud_test/LICENSE b/packages/nextcloud_test/LICENSE new file mode 120000 index 00000000..30cff740 --- /dev/null +++ b/packages/nextcloud_test/LICENSE @@ -0,0 +1 @@ +../../LICENSE \ No newline at end of file diff --git a/packages/nextcloud_test/analysis_options.yaml b/packages/nextcloud_test/analysis_options.yaml new file mode 100644 index 00000000..962ec479 --- /dev/null +++ b/packages/nextcloud_test/analysis_options.yaml @@ -0,0 +1,5 @@ +include: package:nit_picking/dart.yaml + +linter: + rules: + public_member_api_docs: false \ No newline at end of file diff --git a/packages/nextcloud/test/helper.dart b/packages/nextcloud_test/lib/nextcloud_test.dart similarity index 100% rename from packages/nextcloud/test/helper.dart rename to packages/nextcloud_test/lib/nextcloud_test.dart diff --git a/packages/nextcloud_test/mono_pkg.yaml b/packages/nextcloud_test/mono_pkg.yaml new file mode 100644 index 00000000..60bc3bfd --- /dev/null +++ b/packages/nextcloud_test/mono_pkg.yaml @@ -0,0 +1,7 @@ +sdk: + - stable + +stages: + - all: + - analyze: --fatal-infos . + - format: --output=none --set-exit-if-changed --line-length 120 . diff --git a/packages/nextcloud_test/pubspec.yaml b/packages/nextcloud_test/pubspec.yaml new file mode 100644 index 00000000..9066a25b --- /dev/null +++ b/packages/nextcloud_test/pubspec.yaml @@ -0,0 +1,18 @@ +name: nextcloud_test +version: 1.0.0 +publish_to: 'none' + +environment: + sdk: '>=2.18.0 <3.0.0' + +dependencies: + nextcloud: + path: ../nextcloud + process_run: ^0.12.3+1 + test: ^1.16.0 + +dev_dependencies: + nit_picking: + git: + url: https://github.com/stack11/dart_nit_picking + ref: 9f625eb