Browse Source

Split neon into multiple packages

pull/240/head
jld3103 2 years ago
parent
commit
8889efb86a
No known key found for this signature in database
GPG Key ID: 9062417B9E8EB7B3
  1. 524
      .github/workflows/dart.yml
  2. 39
      .idea/nextcloud-neon.iml
  3. 2
      .idea/runConfigurations/Debug.xml
  4. 2
      .idea/runConfigurations/Release.xml
  5. 2
      README.md
  6. 0
      packages/app/.gitignore
  7. 0
      packages/app/LICENSE
  8. 0
      packages/app/README.md
  9. 1
      packages/app/analysis_options.yaml
  10. 0
      packages/app/android/.gitignore
  11. 0
      packages/app/android/app/build.gradle
  12. 0
      packages/app/android/app/src/debug/AndroidManifest.xml
  13. 0
      packages/app/android/app/src/main/AndroidManifest.xml
  14. 0
      packages/app/android/app/src/main/kotlin/de/provokateurin/neon/EmbeddedDistributor.kt
  15. 0
      packages/app/android/app/src/main/kotlin/de/provokateurin/neon/MainActivity.kt
  16. BIN
      packages/app/android/app/src/main/res/drawable-hdpi/android12splash.png
  17. 0
      packages/app/android/app/src/main/res/drawable-hdpi/splash.png
  18. BIN
      packages/app/android/app/src/main/res/drawable-mdpi/android12splash.png
  19. 0
      packages/app/android/app/src/main/res/drawable-mdpi/splash.png
  20. BIN
      packages/app/android/app/src/main/res/drawable-night-hdpi/android12splash.png
  21. BIN
      packages/app/android/app/src/main/res/drawable-night-mdpi/android12splash.png
  22. 0
      packages/app/android/app/src/main/res/drawable-night-v21/background.png
  23. 0
      packages/app/android/app/src/main/res/drawable-night-v21/launch_background.xml
  24. BIN
      packages/app/android/app/src/main/res/drawable-night-xhdpi/android12splash.png
  25. BIN
      packages/app/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png
  26. BIN
      packages/app/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png
  27. 0
      packages/app/android/app/src/main/res/drawable-night/background.png
  28. 0
      packages/app/android/app/src/main/res/drawable-night/launch_background.xml
  29. 0
      packages/app/android/app/src/main/res/drawable-v21/background.png
  30. 0
      packages/app/android/app/src/main/res/drawable-v21/launch_background.xml
  31. BIN
      packages/app/android/app/src/main/res/drawable-xhdpi/android12splash.png
  32. 0
      packages/app/android/app/src/main/res/drawable-xhdpi/splash.png
  33. BIN
      packages/app/android/app/src/main/res/drawable-xxhdpi/android12splash.png
  34. 0
      packages/app/android/app/src/main/res/drawable-xxhdpi/splash.png
  35. BIN
      packages/app/android/app/src/main/res/drawable-xxxhdpi/android12splash.png
  36. 0
      packages/app/android/app/src/main/res/drawable-xxxhdpi/splash.png
  37. 0
      packages/app/android/app/src/main/res/drawable/background.png
  38. 0
      packages/app/android/app/src/main/res/drawable/launch_background.xml
  39. 0
      packages/app/android/app/src/main/res/mipmap-hdpi/app_files.png
  40. 0
      packages/app/android/app/src/main/res/mipmap-hdpi/app_news.png
  41. 0
      packages/app/android/app/src/main/res/mipmap-hdpi/app_notes.png
  42. 0
      packages/app/android/app/src/main/res/mipmap-hdpi/app_notifications.png
  43. 0
      packages/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  44. 0
      packages/app/android/app/src/main/res/mipmap-mdpi/app_files.png
  45. 0
      packages/app/android/app/src/main/res/mipmap-mdpi/app_news.png
  46. 0
      packages/app/android/app/src/main/res/mipmap-mdpi/app_notes.png
  47. 0
      packages/app/android/app/src/main/res/mipmap-mdpi/app_notifications.png
  48. 0
      packages/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  49. 0
      packages/app/android/app/src/main/res/mipmap-xhdpi/app_files.png
  50. 0
      packages/app/android/app/src/main/res/mipmap-xhdpi/app_news.png
  51. 0
      packages/app/android/app/src/main/res/mipmap-xhdpi/app_notes.png
  52. 0
      packages/app/android/app/src/main/res/mipmap-xhdpi/app_notifications.png
  53. 0
      packages/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  54. 0
      packages/app/android/app/src/main/res/mipmap-xxhdpi/app_files.png
  55. 0
      packages/app/android/app/src/main/res/mipmap-xxhdpi/app_news.png
  56. 0
      packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notes.png
  57. 0
      packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notifications.png
  58. 0
      packages/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  59. 0
      packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_files.png
  60. 0
      packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_news.png
  61. 0
      packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notes.png
  62. 0
      packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notifications.png
  63. 0
      packages/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  64. 0
      packages/app/android/app/src/main/res/raw/keep.xml
  65. 1
      packages/app/android/app/src/main/res/values-night-v31/styles.xml
  66. 1
      packages/app/android/app/src/main/res/values-night/styles.xml
  67. 1
      packages/app/android/app/src/main/res/values-v31/styles.xml
  68. 1
      packages/app/android/app/src/main/res/values/styles.xml
  69. 0
      packages/app/android/app/src/profile/AndroidManifest.xml
  70. 0
      packages/app/android/build.gradle
  71. 0
      packages/app/android/gradle.properties
  72. 0
      packages/app/android/gradle/wrapper/gradle-wrapper.properties
  73. 0
      packages/app/android/settings.gradle
  74. 4
      packages/app/flutter_native_splash.yaml
  75. BIN
      packages/app/img/splash_icon.png
  76. BIN
      packages/app/img/splash_icon_android_12.png
  77. 189
      packages/app/integration_test/screenshot_test.dart
  78. 18
      packages/app/lib/apps.dart
  79. 10
      packages/app/lib/main.dart
  80. 0
      packages/app/linux/.gitignore
  81. 0
      packages/app/linux/CMakeLists.txt
  82. 0
      packages/app/linux/flutter/CMakeLists.txt
  83. 0
      packages/app/linux/flutter/generated_plugin_registrant.cc
  84. 0
      packages/app/linux/flutter/generated_plugin_registrant.h
  85. 0
      packages/app/linux/flutter/generated_plugins.cmake
  86. 0
      packages/app/linux/main.cc
  87. 0
      packages/app/linux/my_application.cc
  88. 0
      packages/app/linux/my_application.h
  89. 0
      packages/app/mono_pkg.yaml
  90. 565
      packages/app/pubspec.lock
  91. 37
      packages/app/pubspec.yaml
  92. 0
      packages/app/screenshots/files_actions.png
  93. 0
      packages/app/screenshots/files_create.png
  94. 0
      packages/app/screenshots/files_details.png
  95. 0
      packages/app/screenshots/files_photos.png
  96. 0
      packages/app/screenshots/files_root.png
  97. 0
      packages/app/screenshots/home_drawer.png
  98. 0
      packages/app/screenshots/login_form.png
  99. 0
      packages/app/screenshots/login_server_selection.png
  100. 0
      packages/app/screenshots/news_articles_starred_list.png
  101. Some files were not shown because too many files have changed in this diff Show More

524
.github/workflows/dart.yml

@ -37,48 +37,48 @@ jobs:
- name: mono_repo self validate - name: mono_repo self validate
run: dart pub global run mono_repo generate --validate run: dart pub global run mono_repo generate --validate
job_002: job_002:
name: "all; PKG: packages/dynamite; `dart analyze --fatal-infos .`" name: "all; PKG: packages/app; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite;commands:analyze_0" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/app;commands:format"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/app
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
- name: Setup Dart SDK - name: Setup Flutter SDK
uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46 uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with: with:
sdk: stable channel: stable
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_dynamite_pub_upgrade - id: packages_app_pub_upgrade
name: packages/dynamite; dart pub upgrade name: packages/app; flutter pub upgrade
run: dart pub upgrade run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/dynamite working-directory: packages/app
- name: "packages/dynamite; dart analyze --fatal-infos ." - name: "packages/app; dart format --output=none --set-exit-if-changed --line-length 120 ."
run: dart analyze --fatal-infos . run: "dart format --output=none --set-exit-if-changed --line-length 120 ."
if: "always() && steps.packages_dynamite_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_app_pub_upgrade.conclusion == 'success'"
working-directory: packages/dynamite working-directory: packages/app
needs: needs:
- job_001 - job_001
job_003: job_003:
name: "all; PKG: packages/nextcloud; `dart analyze --fatal-infos .`" name: "all; PKG: packages/dynamite; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud;commands:analyze_0" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite;commands:format"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
@ -89,124 +89,124 @@ jobs:
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_nextcloud_pub_upgrade - id: packages_dynamite_pub_upgrade
name: packages/nextcloud; dart pub upgrade name: packages/dynamite; dart pub upgrade
run: dart pub upgrade run: dart pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/nextcloud working-directory: packages/dynamite
- name: "packages/nextcloud; dart analyze --fatal-infos ." - name: "packages/dynamite; dart format --output=none --set-exit-if-changed --line-length 120 ."
run: dart analyze --fatal-infos . run: "dart format --output=none --set-exit-if-changed --line-length 120 ."
if: "always() && steps.packages_nextcloud_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_dynamite_pub_upgrade.conclusion == 'success'"
working-directory: packages/nextcloud working-directory: packages/dynamite
needs: needs:
- job_001 - job_001
job_004: job_004:
name: "all; PKG: packages/sort_box; `dart analyze --fatal-infos .`" name: "all; PKG: packages/file_icons; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/sort_box;commands:analyze_0" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons;commands:format"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/sort_box os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
- name: Setup Dart SDK - name: Setup Flutter SDK
uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46 uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with: with:
sdk: stable channel: stable
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_sort_box_pub_upgrade - id: packages_file_icons_pub_upgrade
name: packages/sort_box; dart pub upgrade name: packages/file_icons; flutter pub upgrade
run: dart pub upgrade run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/sort_box working-directory: packages/file_icons
- name: "packages/sort_box; dart analyze --fatal-infos ." - name: "packages/file_icons; dart format --output=none --set-exit-if-changed --line-length 120 ."
run: dart analyze --fatal-infos . run: "dart format --output=none --set-exit-if-changed --line-length 120 ."
if: "always() && steps.packages_sort_box_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_file_icons_pub_upgrade.conclusion == 'success'"
working-directory: packages/sort_box working-directory: packages/file_icons
needs: needs:
- job_001 - job_001
job_005: job_005:
name: "all; PKG: packages/spec_templates; `dart analyze --fatal-infos .`" name: "all; PKG: packages/neon/neon; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/spec_templates;commands:analyze_0" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon;commands:format"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/spec_templates os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
- name: Setup Dart SDK - name: Setup Flutter SDK
uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46 uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with: with:
sdk: stable channel: stable
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_spec_templates_pub_upgrade - id: packages_neon_neon_pub_upgrade
name: packages/spec_templates; dart pub upgrade name: packages/neon/neon; flutter pub upgrade
run: dart pub upgrade run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/spec_templates working-directory: packages/neon/neon
- name: "packages/spec_templates; dart analyze --fatal-infos ." - name: "packages/neon/neon; dart format --output=none --set-exit-if-changed --line-length 120 ."
run: dart analyze --fatal-infos . run: "dart format --output=none --set-exit-if-changed --line-length 120 ."
if: "always() && steps.packages_spec_templates_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_neon_neon_pub_upgrade.conclusion == 'success'"
working-directory: packages/spec_templates working-directory: packages/neon/neon
needs: needs:
- job_001 - job_001
job_006: job_006:
name: "all; PKG: packages/dynamite; `dart format --output=none --set-exit-if-changed --line-length 120 .`" name: "all; PKG: packages/neon/neon_files; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite;commands:format" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_files;commands:format"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_files
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
- name: Setup Dart SDK - name: Setup Flutter SDK
uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46 uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with: with:
sdk: stable channel: stable
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_dynamite_pub_upgrade - id: packages_neon_neon_files_pub_upgrade
name: packages/dynamite; dart pub upgrade name: packages/neon/neon_files; flutter pub upgrade
run: dart pub upgrade run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/dynamite working-directory: packages/neon/neon_files
- name: "packages/dynamite; dart format --output=none --set-exit-if-changed --line-length 120 ." - name: "packages/neon/neon_files; dart format --output=none --set-exit-if-changed --line-length 120 ."
run: "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_dynamite_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_neon_neon_files_pub_upgrade.conclusion == 'success'"
working-directory: packages/dynamite working-directory: packages/neon/neon_files
needs: needs:
- job_001 - job_001
job_007: job_007:
name: "all; PKG: packages/file_icons; `dart format --output=none --set-exit-if-changed --line-length 120 .`" name: "all; PKG: packages/neon/neon_news; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons;commands:format" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_news;commands:format"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_news
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
@ -217,28 +217,28 @@ jobs:
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_file_icons_pub_upgrade - id: packages_neon_neon_news_pub_upgrade
name: packages/file_icons; flutter pub upgrade name: packages/neon/neon_news; flutter pub upgrade
run: flutter pub upgrade run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/file_icons working-directory: packages/neon/neon_news
- name: "packages/file_icons; dart format --output=none --set-exit-if-changed --line-length 120 ." - name: "packages/neon/neon_news; dart format --output=none --set-exit-if-changed --line-length 120 ."
run: "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_file_icons_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_neon_neon_news_pub_upgrade.conclusion == 'success'"
working-directory: packages/file_icons working-directory: packages/neon/neon_news
needs: needs:
- job_001 - job_001
job_008: job_008:
name: "all; PKG: packages/neon; `dart format --output=none --set-exit-if-changed --line-length 120 .`" name: "all; PKG: packages/neon/neon_notes; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon;commands:format" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notes;commands:format"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notes
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
@ -249,18 +249,50 @@ jobs:
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_neon_pub_upgrade - id: packages_neon_neon_notes_pub_upgrade
name: packages/neon; flutter pub upgrade name: packages/neon/neon_notes; flutter pub upgrade
run: flutter pub upgrade run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/neon working-directory: packages/neon/neon_notes
- name: "packages/neon; dart format --output=none --set-exit-if-changed --line-length 120 ." - name: "packages/neon/neon_notes; dart format --output=none --set-exit-if-changed --line-length 120 ."
run: "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_neon_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_neon_neon_notes_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon working-directory: packages/neon/neon_notes
needs: needs:
- job_001 - job_001
job_009: job_009:
name: "all; PKG: packages/neon/neon_notifications; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notifications;commands:format"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notifications
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Flutter SDK
uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with:
channel: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_neon_neon_notifications_pub_upgrade
name: packages/neon/neon_notifications; flutter pub upgrade
run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/neon/neon_notifications
- name: "packages/neon/neon_notifications; 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_neon_neon_notifications_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon/neon_notifications
needs:
- job_001
job_010:
name: "all; PKG: packages/nextcloud; `dart format --output=none --set-exit-if-changed --line-length 120 .`" name: "all; PKG: packages/nextcloud; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -292,7 +324,7 @@ jobs:
working-directory: packages/nextcloud working-directory: packages/nextcloud
needs: needs:
- job_001 - job_001
job_010: job_011:
name: "all; PKG: packages/settings; `dart format --output=none --set-exit-if-changed --line-length 120 .`" name: "all; PKG: packages/settings; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -324,7 +356,7 @@ jobs:
working-directory: packages/settings working-directory: packages/settings
needs: needs:
- job_001 - job_001
job_011: job_012:
name: "all; PKG: packages/sort_box; `dart format --output=none --set-exit-if-changed --line-length 120 .`" name: "all; PKG: packages/sort_box; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -356,7 +388,7 @@ jobs:
working-directory: packages/sort_box working-directory: packages/sort_box
needs: needs:
- job_001 - job_001
job_012: job_013:
name: "all; PKG: packages/spec_templates; `dart format --output=none --set-exit-if-changed --line-length 120 .`" name: "all; PKG: packages/spec_templates; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -388,7 +420,39 @@ jobs:
working-directory: packages/spec_templates working-directory: packages/spec_templates
needs: needs:
- job_001 - job_001
job_013: job_014:
name: "all; PKG: packages/app; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/app;commands:analyze_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/app
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Flutter SDK
uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with:
channel: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_app_pub_upgrade
name: packages/app; flutter pub upgrade
run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/app
- name: "packages/app; flutter analyze --fatal-infos ."
run: flutter analyze --fatal-infos .
if: "always() && steps.packages_app_pub_upgrade.conclusion == 'success'"
working-directory: packages/app
needs:
- job_001
job_015:
name: "all; PKG: packages/file_icons; `flutter analyze --fatal-infos .`" name: "all; PKG: packages/file_icons; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -396,7 +460,7 @@ jobs:
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons;commands:analyze_1" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons;commands:analyze_0"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/file_icons
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
@ -420,17 +484,17 @@ jobs:
working-directory: packages/file_icons working-directory: packages/file_icons
needs: needs:
- job_001 - job_001
job_014: job_016:
name: "all; PKG: packages/neon; `flutter analyze --fatal-infos .`" name: "all; PKG: packages/neon/neon; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cache Pub hosted dependencies - name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon;commands:analyze_1" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon;commands:analyze_0"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest os:ubuntu-latest
@ -441,18 +505,146 @@ jobs:
- id: checkout - id: checkout
name: Checkout repository name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_neon_pub_upgrade - id: packages_neon_neon_pub_upgrade
name: packages/neon; flutter pub upgrade name: packages/neon/neon; flutter pub upgrade
run: flutter pub upgrade run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'" if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/neon working-directory: packages/neon/neon
- name: "packages/neon; flutter analyze --fatal-infos ." - name: "packages/neon/neon; flutter analyze --fatal-infos ."
run: flutter analyze --fatal-infos . run: flutter analyze --fatal-infos .
if: "always() && steps.packages_neon_pub_upgrade.conclusion == 'success'" if: "always() && steps.packages_neon_neon_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon working-directory: packages/neon/neon
needs: needs:
- job_001 - job_001
job_015: job_017:
name: "all; PKG: packages/neon/neon_files; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_files;commands:analyze_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_files
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Flutter SDK
uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with:
channel: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_neon_neon_files_pub_upgrade
name: packages/neon/neon_files; flutter pub upgrade
run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/neon/neon_files
- name: "packages/neon/neon_files; flutter analyze --fatal-infos ."
run: flutter analyze --fatal-infos .
if: "always() && steps.packages_neon_neon_files_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon/neon_files
needs:
- job_001
job_018:
name: "all; PKG: packages/neon/neon_news; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_news;commands:analyze_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_news
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Flutter SDK
uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with:
channel: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_neon_neon_news_pub_upgrade
name: packages/neon/neon_news; flutter pub upgrade
run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/neon/neon_news
- name: "packages/neon/neon_news; flutter analyze --fatal-infos ."
run: flutter analyze --fatal-infos .
if: "always() && steps.packages_neon_neon_news_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon/neon_news
needs:
- job_001
job_019:
name: "all; PKG: packages/neon/neon_notes; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notes;commands:analyze_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notes
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Flutter SDK
uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with:
channel: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_neon_neon_notes_pub_upgrade
name: packages/neon/neon_notes; flutter pub upgrade
run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/neon/neon_notes
- name: "packages/neon/neon_notes; flutter analyze --fatal-infos ."
run: flutter analyze --fatal-infos .
if: "always() && steps.packages_neon_neon_notes_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon/neon_notes
needs:
- job_001
job_020:
name: "all; PKG: packages/neon/neon_notifications; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notifications;commands:analyze_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon/neon_notifications
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Flutter SDK
uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with:
channel: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_neon_neon_notifications_pub_upgrade
name: packages/neon/neon_notifications; flutter pub upgrade
run: flutter pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/neon/neon_notifications
- name: "packages/neon/neon_notifications; flutter analyze --fatal-infos ."
run: flutter analyze --fatal-infos .
if: "always() && steps.packages_neon_neon_notifications_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon/neon_notifications
needs:
- job_001
job_021:
name: "all; PKG: packages/settings; `flutter analyze --fatal-infos .`" name: "all; PKG: packages/settings; `flutter analyze --fatal-infos .`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -460,7 +652,7 @@ jobs:
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with: with:
path: "~/.pub-cache/hosted" path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/settings;commands:analyze_1" key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/settings;commands:analyze_0"
restore-keys: | restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/settings os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/settings
os:ubuntu-latest;pub-cache-hosted;sdk:stable os:ubuntu-latest;pub-cache-hosted;sdk:stable
@ -484,7 +676,135 @@ jobs:
working-directory: packages/settings working-directory: packages/settings
needs: needs:
- job_001 - job_001
job_016: job_022:
name: "all; PKG: packages/dynamite; `dart analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite;commands:analyze_1"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/dynamite
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@a57a6c04cf7d4840e88432aad6281d1e125f0d46
with:
sdk: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_dynamite_pub_upgrade
name: packages/dynamite; dart pub upgrade
run: dart pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/dynamite
- name: "packages/dynamite; dart analyze --fatal-infos ."
run: dart analyze --fatal-infos .
if: "always() && steps.packages_dynamite_pub_upgrade.conclusion == 'success'"
working-directory: packages/dynamite
needs:
- job_001
job_023:
name: "all; PKG: packages/nextcloud; `dart analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud;commands:analyze_1"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/nextcloud
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@a57a6c04cf7d4840e88432aad6281d1e125f0d46
with:
sdk: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_nextcloud_pub_upgrade
name: packages/nextcloud; dart pub upgrade
run: dart pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/nextcloud
- name: "packages/nextcloud; dart analyze --fatal-infos ."
run: dart analyze --fatal-infos .
if: "always() && steps.packages_nextcloud_pub_upgrade.conclusion == 'success'"
working-directory: packages/nextcloud
needs:
- job_001
job_024:
name: "all; PKG: packages/sort_box; `dart analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/sort_box;commands:analyze_1"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/sort_box
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@a57a6c04cf7d4840e88432aad6281d1e125f0d46
with:
sdk: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_sort_box_pub_upgrade
name: packages/sort_box; dart pub upgrade
run: dart pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/sort_box
- name: "packages/sort_box; dart analyze --fatal-infos ."
run: dart analyze --fatal-infos .
if: "always() && steps.packages_sort_box_pub_upgrade.conclusion == 'success'"
working-directory: packages/sort_box
needs:
- job_001
job_025:
name: "all; PKG: packages/spec_templates; `dart analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/spec_templates;commands:analyze_1"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/spec_templates
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@a57a6c04cf7d4840e88432aad6281d1e125f0d46
with:
sdk: stable
- id: checkout
name: Checkout repository
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- id: packages_spec_templates_pub_upgrade
name: packages/spec_templates; dart pub upgrade
run: dart pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/spec_templates
- name: "packages/spec_templates; dart analyze --fatal-infos ."
run: dart analyze --fatal-infos .
if: "always() && steps.packages_spec_templates_pub_upgrade.conclusion == 'success'"
working-directory: packages/spec_templates
needs:
- job_001
job_026:
name: "all; PKG: packages/nextcloud; `dart test`" name: "all; PKG: packages/nextcloud; `dart test`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -516,7 +836,7 @@ jobs:
working-directory: packages/nextcloud working-directory: packages/nextcloud
needs: needs:
- job_001 - job_001
job_017: job_027:
name: "all; PKG: packages/sort_box; `dart test`" name: "all; PKG: packages/sort_box; `dart test`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

39
.idea/nextcloud-neon.iml

@ -39,16 +39,49 @@
<excludeFolder url="file://$MODULE_DIR$/.fvm/flutter_sdk/bin/cache/dart-sdk/lib/_internal/js_runtime/build" /> <excludeFolder url="file://$MODULE_DIR$/.fvm/flutter_sdk/bin/cache/dart-sdk/lib/_internal/js_runtime/build" />
<excludeFolder url="file://$MODULE_DIR$/.fvm" /> <excludeFolder url="file://$MODULE_DIR$/.fvm" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/.pub" /> <excludeFolder url="file://$MODULE_DIR$/packages/neon/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/linux/flutter/ephemeral" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/.dart_tool" /> <excludeFolder url="file://$MODULE_DIR$/packages/neon/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/build" /> <excludeFolder url="file://$MODULE_DIR$/packages/neon/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/android/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/packages/dynamite/.pub" /> <excludeFolder url="file://$MODULE_DIR$/packages/dynamite/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/dynamite/.dart_tool" /> <excludeFolder url="file://$MODULE_DIR$/packages/dynamite/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/dynamite/build" /> <excludeFolder url="file://$MODULE_DIR$/packages/dynamite/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/nextcloud_test/.pub" /> <excludeFolder url="file://$MODULE_DIR$/packages/nextcloud_test/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/nextcloud_test/.dart_tool" /> <excludeFolder url="file://$MODULE_DIR$/packages/nextcloud_test/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/nextcloud_test/build" /> <excludeFolder url="file://$MODULE_DIR$/packages/nextcloud_test/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_files/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_files/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_files/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_news/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_news/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_news/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_notes/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_notes/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_notes/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_notifications/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_notifications/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_notifications/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_widgets/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_widgets/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon_widgets/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/app/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/app/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/app/android/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/packages/app/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/app/linux/flutter/ephemeral" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_files/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_files/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_files/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_news/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_news/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_news/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_notes/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_notes/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_notes/build" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_notifications/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_notifications/.pub" />
<excludeFolder url="file://$MODULE_DIR$/packages/neon/neon_notifications/build" />
</content> </content>
<orderEntry type="jdk" jdkName="Android API 32 Platform" jdkType="Android SDK" /> <orderEntry type="jdk" jdkName="Android API 32 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
@ -62,4 +95,4 @@
</list> </list>
</option> </option>
</component> </component>
</module> </module>

2
.idea/runConfigurations/Debug.xml

@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="Debug" type="FlutterRunConfigurationType" factoryName="Flutter"> <configuration default="false" name="Debug" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="filePath" value="$PROJECT_DIR$/packages/neon/lib/main.dart" /> <option name="filePath" value="$PROJECT_DIR$/packages/app/lib/main.dart" />
<method v="2" /> <method v="2" />
</configuration> </configuration>
</component> </component>

2
.idea/runConfigurations/Release.xml

@ -1,7 +1,7 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="Release" type="FlutterRunConfigurationType" factoryName="Flutter"> <configuration default="false" name="Release" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="additionalArgs" value="--release" /> <option name="additionalArgs" value="--release" />
<option name="filePath" value="$PROJECT_DIR$/packages/neon/lib/main.dart" /> <option name="filePath" value="$PROJECT_DIR$/packages/app/lib/main.dart" />
<method v="2" /> <method v="2" />
</configuration> </configuration>
</component> </component>

2
README.md

@ -2,7 +2,7 @@
A beautiful convergent cross-platform client for Nextcloud written in Flutter. A beautiful convergent cross-platform client for Nextcloud written in Flutter.
See [here](packages/neon/README.md) for screenshots and other material regarding the app. See [here](packages/app/README.md) for screenshots and other material regarding the app.
This repository not only contains the Neon app, but also a Nextcloud client written in Dart. This repository not only contains the Neon app, but also a Nextcloud client written in Dart.
The client will replace https://github.com/provokateurin/dart-nextcloud which is an older unmaintained client I wrote some time ago. The client will replace https://github.com/provokateurin/dart-nextcloud which is an older unmaintained client I wrote some time ago.

0
packages/neon/.gitignore → packages/app/.gitignore vendored

0
packages/neon/LICENSE → packages/app/LICENSE

0
packages/neon/README.md → packages/app/README.md

1
packages/app/analysis_options.yaml

@ -0,0 +1 @@
include: package:nit_picking/flutter.yaml

0
packages/neon/android/.gitignore → packages/app/android/.gitignore vendored

0
packages/neon/android/app/build.gradle → packages/app/android/app/build.gradle

0
packages/neon/android/app/src/debug/AndroidManifest.xml → packages/app/android/app/src/debug/AndroidManifest.xml

0
packages/neon/android/app/src/main/AndroidManifest.xml → packages/app/android/app/src/main/AndroidManifest.xml

0
packages/neon/android/app/src/main/kotlin/de/provokateurin/neon/EmbeddedDistributor.kt → packages/app/android/app/src/main/kotlin/de/provokateurin/neon/EmbeddedDistributor.kt

0
packages/neon/android/app/src/main/kotlin/de/provokateurin/neon/MainActivity.kt → packages/app/android/app/src/main/kotlin/de/provokateurin/neon/MainActivity.kt

BIN
packages/app/android/app/src/main/res/drawable-hdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

0
packages/neon/android/app/src/main/res/drawable-hdpi/splash.png → packages/app/android/app/src/main/res/drawable-hdpi/splash.png

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

BIN
packages/app/android/app/src/main/res/drawable-mdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

0
packages/neon/android/app/src/main/res/drawable-mdpi/splash.png → packages/app/android/app/src/main/res/drawable-mdpi/splash.png

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
packages/app/android/app/src/main/res/drawable-night-hdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
packages/app/android/app/src/main/res/drawable-night-mdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

0
packages/neon/android/app/src/main/res/drawable-night-v21/background.png → packages/app/android/app/src/main/res/drawable-night-v21/background.png

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 69 B

0
packages/neon/android/app/src/main/res/drawable-night-v21/launch_background.xml → packages/app/android/app/src/main/res/drawable-night-v21/launch_background.xml

BIN
packages/app/android/app/src/main/res/drawable-night-xhdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
packages/app/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
packages/app/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

0
packages/neon/android/app/src/main/res/drawable-night/background.png → packages/app/android/app/src/main/res/drawable-night/background.png

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 69 B

0
packages/neon/android/app/src/main/res/drawable-night/launch_background.xml → packages/app/android/app/src/main/res/drawable-night/launch_background.xml

0
packages/neon/android/app/src/main/res/drawable-v21/background.png → packages/app/android/app/src/main/res/drawable-v21/background.png

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 69 B

0
packages/neon/android/app/src/main/res/drawable-v21/launch_background.xml → packages/app/android/app/src/main/res/drawable-v21/launch_background.xml

BIN
packages/app/android/app/src/main/res/drawable-xhdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

0
packages/neon/android/app/src/main/res/drawable-xhdpi/splash.png → packages/app/android/app/src/main/res/drawable-xhdpi/splash.png

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
packages/app/android/app/src/main/res/drawable-xxhdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

0
packages/neon/android/app/src/main/res/drawable-xxhdpi/splash.png → packages/app/android/app/src/main/res/drawable-xxhdpi/splash.png

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

BIN
packages/app/android/app/src/main/res/drawable-xxxhdpi/android12splash.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

0
packages/neon/android/app/src/main/res/drawable-xxxhdpi/splash.png → packages/app/android/app/src/main/res/drawable-xxxhdpi/splash.png

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

0
packages/neon/android/app/src/main/res/drawable/background.png → packages/app/android/app/src/main/res/drawable/background.png

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 69 B

0
packages/neon/android/app/src/main/res/drawable/launch_background.xml → packages/app/android/app/src/main/res/drawable/launch_background.xml

0
packages/neon/android/app/src/main/res/mipmap-hdpi/app_files.png → packages/app/android/app/src/main/res/mipmap-hdpi/app_files.png

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 499 B

0
packages/neon/android/app/src/main/res/mipmap-hdpi/app_news.png → packages/app/android/app/src/main/res/mipmap-hdpi/app_news.png

Before

Width:  |  Height:  |  Size: 602 B

After

Width:  |  Height:  |  Size: 602 B

0
packages/neon/android/app/src/main/res/mipmap-hdpi/app_notes.png → packages/app/android/app/src/main/res/mipmap-hdpi/app_notes.png

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 859 B

0
packages/neon/android/app/src/main/res/mipmap-hdpi/app_notifications.png → packages/app/android/app/src/main/res/mipmap-hdpi/app_notifications.png

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

0
packages/neon/android/app/src/main/res/mipmap-hdpi/ic_launcher.png → packages/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

0
packages/neon/android/app/src/main/res/mipmap-mdpi/app_files.png → packages/app/android/app/src/main/res/mipmap-mdpi/app_files.png

Before

Width:  |  Height:  |  Size: 337 B

After

Width:  |  Height:  |  Size: 337 B

0
packages/neon/android/app/src/main/res/mipmap-mdpi/app_news.png → packages/app/android/app/src/main/res/mipmap-mdpi/app_news.png

Before

Width:  |  Height:  |  Size: 377 B

After

Width:  |  Height:  |  Size: 377 B

0
packages/neon/android/app/src/main/res/mipmap-mdpi/app_notes.png → packages/app/android/app/src/main/res/mipmap-mdpi/app_notes.png

Before

Width:  |  Height:  |  Size: 687 B

After

Width:  |  Height:  |  Size: 687 B

0
packages/neon/android/app/src/main/res/mipmap-mdpi/app_notifications.png → packages/app/android/app/src/main/res/mipmap-mdpi/app_notifications.png

Before

Width:  |  Height:  |  Size: 724 B

After

Width:  |  Height:  |  Size: 724 B

0
packages/neon/android/app/src/main/res/mipmap-mdpi/ic_launcher.png → packages/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

0
packages/neon/android/app/src/main/res/mipmap-xhdpi/app_files.png → packages/app/android/app/src/main/res/mipmap-xhdpi/app_files.png

Before

Width:  |  Height:  |  Size: 583 B

After

Width:  |  Height:  |  Size: 583 B

0
packages/neon/android/app/src/main/res/mipmap-xhdpi/app_news.png → packages/app/android/app/src/main/res/mipmap-xhdpi/app_news.png

Before

Width:  |  Height:  |  Size: 624 B

After

Width:  |  Height:  |  Size: 624 B

0
packages/neon/android/app/src/main/res/mipmap-xhdpi/app_notes.png → packages/app/android/app/src/main/res/mipmap-xhdpi/app_notes.png

Before

Width:  |  Height:  |  Size: 995 B

After

Width:  |  Height:  |  Size: 995 B

0
packages/neon/android/app/src/main/res/mipmap-xhdpi/app_notifications.png → packages/app/android/app/src/main/res/mipmap-xhdpi/app_notifications.png

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
packages/neon/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png → packages/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxhdpi/app_files.png → packages/app/android/app/src/main/res/mipmap-xxhdpi/app_files.png

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 843 B

0
packages/neon/android/app/src/main/res/mipmap-xxhdpi/app_news.png → packages/app/android/app/src/main/res/mipmap-xxhdpi/app_news.png

Before

Width:  |  Height:  |  Size: 910 B

After

Width:  |  Height:  |  Size: 910 B

0
packages/neon/android/app/src/main/res/mipmap-xxhdpi/app_notes.png → packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notes.png

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxhdpi/app_notifications.png → packages/app/android/app/src/main/res/mipmap-xxhdpi/app_notifications.png

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png → packages/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxxhdpi/app_files.png → packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_files.png

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxxhdpi/app_news.png → packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_news.png

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxxhdpi/app_notes.png → packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notes.png

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxxhdpi/app_notifications.png → packages/app/android/app/src/main/res/mipmap-xxxhdpi/app_notifications.png

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

0
packages/neon/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png → packages/app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

0
packages/neon/android/app/src/main/res/raw/keep.xml → packages/app/android/app/src/main/res/raw/keep.xml

1
packages/neon/android/app/src/main/res/values-night-v31/styles.xml → packages/app/android/app/src/main/res/values-night-v31/styles.xml

@ -4,6 +4,7 @@
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:forceDarkAllowed">false</item> <item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item> <item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#202020</item> <item name="android:windowSplashScreenBackground">#202020</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item> <item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>

1
packages/neon/android/app/src/main/res/values-night/styles.xml → packages/app/android/app/src/main/res/values-night/styles.xml

@ -7,6 +7,7 @@
<item name="android:windowBackground">@drawable/launch_background</item> <item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item> <item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item> <item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style> </style>
<!-- Theme applied to the Android Window as soon as the process has started. <!-- Theme applied to the Android Window as soon as the process has started.

1
packages/neon/android/app/src/main/res/values-v31/styles.xml → packages/app/android/app/src/main/res/values-v31/styles.xml

@ -4,6 +4,7 @@
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar"> <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:forceDarkAllowed">false</item> <item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item> <item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#ffffff</item> <item name="android:windowSplashScreenBackground">#ffffff</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item> <item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>

1
packages/neon/android/app/src/main/res/values/styles.xml → packages/app/android/app/src/main/res/values/styles.xml

@ -7,6 +7,7 @@
<item name="android:windowBackground">@drawable/launch_background</item> <item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item> <item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item> <item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style> </style>
<!-- Theme applied to the Android Window as soon as the process has started. <!-- Theme applied to the Android Window as soon as the process has started.

0
packages/neon/android/app/src/profile/AndroidManifest.xml → packages/app/android/app/src/profile/AndroidManifest.xml

0
packages/neon/android/build.gradle → packages/app/android/build.gradle

0
packages/neon/android/gradle.properties → packages/app/android/gradle.properties

0
packages/neon/android/gradle/wrapper/gradle-wrapper.properties → packages/app/android/gradle/wrapper/gradle-wrapper.properties vendored

0
packages/neon/android/settings.gradle → packages/app/android/settings.gradle

4
packages/neon/flutter_native_splash.yaml → packages/app/flutter_native_splash.yaml

@ -1,9 +1,9 @@
flutter_native_splash: flutter_native_splash:
color: "#ffffff" color: "#ffffff"
color_dark: "#202020" color_dark: "#202020"
image: assets/splash_icon.png image: img/splash_icon.png
android_12: android_12:
image: assets/splash_icon_android_12.png image: img/splash_icon_android_12.png
icon_background_color: "#ffffff" icon_background_color: "#ffffff"
icon_background_color_dark: "#202020" icon_background_color_dark: "#202020"
ios: false ios: false

BIN
packages/app/img/splash_icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
packages/app/img/splash_icon_android_12.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

189
packages/neon/integration_test/screenshot_test.dart → packages/app/integration_test/screenshot_test.dart

@ -1,18 +1,13 @@
import 'dart:io'; import 'dart:io';
import 'package:app/apps.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart'; import 'package:integration_test/integration_test.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:neon/l10n/localizations.dart'; import 'package:neon/neon.dart';
import 'package:neon/src/apps/files/app.dart'; import 'package:neon_files/neon_files.dart';
import 'package:neon/src/models/account.dart';
import 'package:neon/src/neon.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:provider/provider.dart';
import 'package:rxdart/rxdart.dart';
import 'package:settings/settings.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
class MemorySharedPreferences implements SharedPreferences { class MemorySharedPreferences implements SharedPreferences {
@ -91,116 +86,18 @@ class MemorySharedPreferences implements SharedPreferences {
} }
} }
Future pumpAppPage( Future runTestApp(
final WidgetTester tester, final WidgetTester tester,
final IntegrationTestWidgetsFlutterBinding binding, final IntegrationTestWidgetsFlutterBinding binding, {
final PackageInfo packageInfo, {
required final Widget Function(BuildContext, Function(NextcloudTheme?)) builder,
final Account? account, final Account? account,
}) async { }) async {
final sharedPreferences = MemorySharedPreferences(); await runNeon(
getAppImplementations: getAppImplementations,
final platform = await getNeonPlatform(); binding: binding,
final requestManager = RequestManager(); sharedPreferencesOverride: MemorySharedPreferences(),
final allAppImplementations = getAppImplementations(sharedPreferences, requestManager, platform); account: account,
firstLaunchDisabled: true,
final globalOptions = GlobalOptions( nextPushDisabled: true,
AppStorage('global', sharedPreferences),
packageInfo,
);
await globalOptions.pushNotificationsEnabled.set(false);
final accountsBloc = AccountsBloc(
requestManager,
platform,
AppStorage('accounts', sharedPreferences),
sharedPreferences,
globalOptions,
allAppImplementations,
);
if (account != null) {
accountsBloc.addAccount(account);
}
final pushNotificationsBloc = PushNotificationsBloc(
accountsBloc,
sharedPreferences,
globalOptions,
platform,
);
final firstLaunchBloc = FirstLaunchBloc(
sharedPreferences,
disabled: true,
);
final nextPushBloc = NextPushBloc(
accountsBloc,
globalOptions,
disabled: true,
);
// ignore: close_sinks
final userThemeStream = BehaviorSubject<NextcloudTheme?>();
await tester.pumpWidget(
MultiProvider(
providers: [
Provider<SharedPreferences>(
create: (final _) => sharedPreferences,
),
Provider<NeonPlatform>(
create: (final _) => platform,
),
Provider<GlobalOptions>(
create: (final _) => globalOptions,
),
Provider<RequestManager>(
create: (final _) => requestManager,
),
Provider<AccountsBloc>(
create: (final _) => accountsBloc,
),
Provider<PushNotificationsBloc>(
create: (final _) => pushNotificationsBloc,
),
Provider<FirstLaunchBloc>(
create: (final _) => firstLaunchBloc,
),
Provider<NextPushBloc>(
create: (final _) => nextPushBloc,
),
Provider<List<AppImplementation>>(
create: (final _) => allAppImplementations,
),
Provider<PackageInfo>(
create: (final _) => packageInfo,
),
],
child: StreamBuilder<NextcloudTheme?>(
stream: userThemeStream,
builder: (final context, final themeSnapshot) => OptionBuilder(
option: globalOptions.themeMode,
builder: (final context, final themeMode) => OptionBuilder(
option: globalOptions.themeOLEDAsDark,
builder: (final context, final themeOLEDAsDark) => OptionBuilder(
option: globalOptions.themeKeepOriginalAccentColor,
builder: (final context, final themeKeepOriginalAccentColor) => MaterialApp(
debugShowCheckedModeBanner: false,
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
theme: getThemeFromNextcloudTheme(
themeSnapshot.data,
themeMode ?? ThemeMode.system,
Brightness.light,
oledAsDark: themeOLEDAsDark ?? false,
keepOriginalAccentColor: themeKeepOriginalAccentColor ?? true,
),
home: builder(context, userThemeStream.add),
),
),
),
),
),
),
); );
await tester.pumpAndSettle(); await tester.pumpAndSettle();
} }
@ -227,27 +124,21 @@ Future main() async {
assert(Platform.isAndroid, 'Screenshots need to be taken on Android'); assert(Platform.isAndroid, 'Screenshots need to be taken on Android');
final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized(); final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized();
late PackageInfo packageInfo; final account = Account(
late Account account; serverURL: 'http://10.0.2.2',
loginName: 'user1',
username: 'user1',
password: 'user1',
);
setUpAll(() async { setUpAll(() async {
packageInfo = await PackageInfo.fromPlatform();
account = Account(
serverURL: 'http://10.0.2.2',
loginName: 'user1',
username: 'user1',
password: 'user1',
);
await SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []); await SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
}); });
testWidgets('login', (final tester) async { testWidgets('login', (final tester) async {
await pumpAppPage( await runTestApp(
tester, tester,
binding, binding,
packageInfo,
builder: (final context, final _) => const LoginPage(),
); );
await prepareScreenshot(tester, binding); await prepareScreenshot(tester, binding);
await binding.takeScreenshot('login_server_selection'); await binding.takeScreenshot('login_server_selection');
@ -262,15 +153,10 @@ Future main() async {
}); });
testWidgets('home', (final tester) async { testWidgets('home', (final tester) async {
await pumpAppPage( await runTestApp(
tester, tester,
binding, binding,
packageInfo,
account: account, account: account,
builder: (final context, final onThemeChanged) => HomePage(
account: account,
onThemeChanged: onThemeChanged,
),
); );
await openDrawer(tester); await openDrawer(tester);
await tester.pumpAndSettle(); await tester.pumpAndSettle();
@ -280,15 +166,10 @@ Future main() async {
}); });
testWidgets('files', (final tester) async { testWidgets('files', (final tester) async {
await pumpAppPage( await runTestApp(
tester, tester,
binding, binding,
packageInfo,
account: account, account: account,
builder: (final context, final onThemeChanged) => HomePage(
account: account,
onThemeChanged: onThemeChanged,
),
); );
await prepareScreenshot(tester, binding); await prepareScreenshot(tester, binding);
await binding.takeScreenshot('files_root'); await binding.takeScreenshot('files_root');
@ -333,15 +214,10 @@ Future main() async {
folderId: folder.folders.single.id, folderId: folder.folders.single.id,
); );
await pumpAppPage( await runTestApp(
tester, tester,
binding, binding,
packageInfo,
account: account, account: account,
builder: (final context, final onThemeChanged) => HomePage(
account: account,
onThemeChanged: onThemeChanged,
),
); );
await prepareScreenshot(tester, binding); await prepareScreenshot(tester, binding);
await switchPage(tester, 'app-news'); await switchPage(tester, 'app-news');
@ -408,15 +284,10 @@ Future main() async {
category: 'Financial', category: 'Financial',
); );
await pumpAppPage( await runTestApp(
tester, tester,
binding, binding,
packageInfo,
account: account, account: account,
builder: (final context, final onThemeChanged) => HomePage(
account: account,
onThemeChanged: onThemeChanged,
),
); );
await prepareScreenshot(tester, binding); await prepareScreenshot(tester, binding);
await switchPage(tester, 'app-notes'); await switchPage(tester, 'app-notes');
@ -481,15 +352,10 @@ Future main() async {
longMessage: 'This is a notifications demo of the Neon app', longMessage: 'This is a notifications demo of the Neon app',
); );
await pumpAppPage( await runTestApp(
tester, tester,
binding, binding,
packageInfo,
account: account, account: account,
builder: (final context, final onThemeChanged) => HomePage(
account: account,
onThemeChanged: onThemeChanged,
),
); );
await prepareScreenshot(tester, binding); await prepareScreenshot(tester, binding);
await tester.tap(find.byKey(const Key('app-notifications'))); await tester.tap(find.byKey(const Key('app-notifications')));
@ -502,15 +368,10 @@ Future main() async {
}); });
testWidgets('settings', (final tester) async { testWidgets('settings', (final tester) async {
await pumpAppPage( await runTestApp(
tester, tester,
binding, binding,
packageInfo,
account: account, account: account,
builder: (final context, final onThemeChanged) => HomePage(
account: account,
onThemeChanged: onThemeChanged,
),
); );
await prepareScreenshot(tester, binding); await prepareScreenshot(tester, binding);
await switchPage(tester, 'settings'); await switchPage(tester, 'settings');

18
packages/app/lib/apps.dart

@ -0,0 +1,18 @@
import 'package:neon/neon.dart';
import 'package:neon_files/neon_files.dart';
import 'package:neon_news/neon_news.dart';
import 'package:neon_notes/neon_notes.dart';
import 'package:neon_notifications/neon_notifications.dart';
import 'package:shared_preferences/shared_preferences.dart';
List<AppImplementation> getAppImplementations(
final SharedPreferences sharedPreferences,
final RequestManager requestManager,
final NeonPlatform platform,
) =>
[
FilesApp(sharedPreferences, requestManager, platform),
NewsApp(sharedPreferences, requestManager, platform),
NotesApp(sharedPreferences, requestManager, platform),
NotificationsApp(sharedPreferences, requestManager, platform),
];

10
packages/app/lib/main.dart

@ -0,0 +1,10 @@
import 'package:app/apps.dart';
import 'package:flutter/material.dart';
import 'package:neon/neon.dart';
Future main() async {
await runNeon(
getAppImplementations: getAppImplementations,
binding: WidgetsFlutterBinding.ensureInitialized(),
);
}

0
packages/neon/linux/.gitignore → packages/app/linux/.gitignore vendored

0
packages/neon/linux/CMakeLists.txt → packages/app/linux/CMakeLists.txt

0
packages/neon/linux/flutter/CMakeLists.txt → packages/app/linux/flutter/CMakeLists.txt

0
packages/neon/linux/flutter/generated_plugin_registrant.cc → packages/app/linux/flutter/generated_plugin_registrant.cc

0
packages/neon/linux/flutter/generated_plugin_registrant.h → packages/app/linux/flutter/generated_plugin_registrant.h

0
packages/neon/linux/flutter/generated_plugins.cmake → packages/app/linux/flutter/generated_plugins.cmake

0
packages/neon/linux/main.cc → packages/app/linux/main.cc

0
packages/neon/linux/my_application.cc → packages/app/linux/my_application.cc

0
packages/neon/linux/my_application.h → packages/app/linux/my_application.h

0
packages/neon/mono_pkg.yaml → packages/app/mono_pkg.yaml

565
packages/neon/pubspec.lock → packages/app/pubspec.lock

File diff suppressed because it is too large Load Diff

37
packages/app/pubspec.yaml

@ -0,0 +1,37 @@
name: app
version: 1.0.0
publish_to: 'none'
environment:
sdk: '>=2.19.0 <3.0.0'
flutter: '>=3.7.9'
dependencies:
flutter:
sdk: flutter
flutter_native_splash: ^2.2.0+1
neon:
path: ../neon/neon
neon_files:
path: ../neon/neon_files
neon_news:
path: ../neon/neon_news
neon_notes:
path: ../neon/neon_notes
neon_notifications:
path: ../neon/neon_notifications
shared_preferences: ^2.1.0
dev_dependencies:
flutter_test:
sdk: flutter
integration_test:
sdk: flutter
material_design_icons_flutter: ^6.0.7096
nit_picking:
git:
url: https://github.com/stack11/dart_nit_picking
ref: 0b2ee0d
flutter:
uses-material-design: true

0
packages/neon/screenshots/files_actions.png → packages/app/screenshots/files_actions.png

Before

Width:  |  Height:  |  Size: 358 KiB

After

Width:  |  Height:  |  Size: 358 KiB

0
packages/neon/screenshots/files_create.png → packages/app/screenshots/files_create.png

Before

Width:  |  Height:  |  Size: 286 KiB

After

Width:  |  Height:  |  Size: 286 KiB

0
packages/neon/screenshots/files_details.png → packages/app/screenshots/files_details.png

Before

Width:  |  Height:  |  Size: 754 KiB

After

Width:  |  Height:  |  Size: 754 KiB

0
packages/neon/screenshots/files_photos.png → packages/app/screenshots/files_photos.png

Before

Width:  |  Height:  |  Size: 340 KiB

After

Width:  |  Height:  |  Size: 340 KiB

0
packages/neon/screenshots/files_root.png → packages/app/screenshots/files_root.png

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

0
packages/neon/screenshots/home_drawer.png → packages/app/screenshots/home_drawer.png

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

0
packages/neon/screenshots/login_form.png → packages/app/screenshots/login_form.png

Before

Width:  |  Height:  |  Size: 420 KiB

After

Width:  |  Height:  |  Size: 420 KiB

0
packages/neon/screenshots/login_server_selection.png → packages/app/screenshots/login_server_selection.png

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

0
packages/neon/screenshots/news_articles_starred_list.png → packages/app/screenshots/news_articles_starred_list.png

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save