Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: change package file structure #2350

Merged
merged 2 commits into from
Aug 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
],
"matchCurrentVersion": "!/^0/",
"matchDepNames": [
"!app",
provokateurin marked this conversation as resolved.
Show resolved Hide resolved
"!example",
"!dynamite_end_to_end_test",
"!dynamite_petstore_example",
"!neon_lints",
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ jobs:
run: ./tool/setup.sh

- name: Build
run: cd packages/app && fvm flutter build apk --split-per-abi --build-number="$(date +"%s")"
run: cd packages/neon_framework/example && fvm flutter build apk --split-per-abi --build-number="$(date +"%s")"
- uses: ilharp/sign-android-release@2034987c31e3959f7c97e88d5e656e52e6e88bd8 # v1
name: Sign
with:
releaseDir: packages/app/build/app/outputs/flutter-apk
releaseDir: packages/neon_framework/example/build/app/outputs/flutter-apk
signingKey: ${{ secrets.SIGNING_KEY }}
keyAlias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
Expand All @@ -43,24 +43,24 @@ jobs:
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4
with:
name: Android arm64-v8a
path: packages/app/build/app/outputs/flutter-apk/app-arm64-v8a-release-signed.apk
path: packages/neon_framework/example/build/app/outputs/flutter-apk/app-arm64-v8a-release-signed.apk
if-no-files-found: error
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4
with:
name: Android armeabi-v7a
path: packages/app/build/app/outputs/flutter-apk/app-armeabi-v7a-release-signed.apk
path: packages/neon_framework/example/build/app/outputs/flutter-apk/app-armeabi-v7a-release-signed.apk
if-no-files-found: error
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4
with:
name: Android x86_64
path: packages/app/build/app/outputs/flutter-apk/app-x86_64-release-signed.apk
path: packages/neon_framework/example/build/app/outputs/flutter-apk/app-x86_64-release-signed.apk
if-no-files-found: error

- name: F-Droid nightly
run: |
cp packages/app/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk app-arm64-v8a-debug.apk
cp packages/app/build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk app-armeabi-v7a-debug.apk
cp packages/app/build/app/outputs/flutter-apk/app-x86_64-release.apk app-x86_64-debug.apk
cp packages/neon_framework/example/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk app-arm64-v8a-debug.apk
cp packages/neon_framework/example/build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk app-armeabi-v7a-debug.apk
cp packages/neon_framework/example/build/app/outputs/flutter-apk/app-x86_64-release.apk app-x86_64-debug.apk

sudo add-apt-repository ppa:fdroid/fdroidserver
sudo apt-get update
Expand Down Expand Up @@ -113,5 +113,5 @@ jobs:
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4
with:
name: Linux ${{ matrix.architecture.flutter }}
path: packages/app/build/linux/${{ matrix.architecture.flutter }}/release/bundle/*
path: packages/neon_framework/example/build/linux/${{ matrix.architecture.flutter }}/release/bundle/*
if-no-files-found: error
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ packages/**/build-dir
packages/**/.flatpak-builder
packages/**/doc/api

!packages/app/pubspec.lock
!packages/neon_framework/example/pubspec.lock

# Melos recommends adding them, but renovate does not generate them which would end up with broken lockfiles
# **/pubspec_overrides.yaml
Expand Down
2 changes: 1 addition & 1 deletion .idea/runConfigurations/Debug.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/runConfigurations/Release.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"configurations": [
{
"name": "app",
"cwd": "packages/app",
"cwd": "packages/neon_framework/example",
"request": "launch",
"type": "dart",
"args": [
Expand All @@ -13,7 +13,7 @@
},
{
"name": "app (profile mode)",
"cwd": "packages/app",
"cwd": "packages/neon_framework/example",
"request": "launch",
"type": "dart",
"flutterMode": "profile",
Expand All @@ -24,7 +24,7 @@
},
{
"name": "app (release mode)",
"cwd": "packages/app",
"cwd": "packages/neon_framework/example",
"request": "launch",
"type": "dart",
"flutterMode": "release",
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ All commits need to be signed and signed off to pass our tests.
To sign off your commits use `git commit --signoff`.
To setup commit signing please consult the [Github documentation](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
We use conventional commits to have meaningful commit messages and be able to generate changelogs.
A non-breaking feature contribution to `neon_notes` could look like this:
A non-breaking feature contribution to `notes_app` could look like this:
```bash
git commit -m "feat(neon_notes): Add a super cool feature."
git commit -m "feat(notes_app): Add a super cool feature."
```
You can read the full documentation at https://www.conventionalcommits.org.

Expand Down
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ Please make sure to read them before starting to contribute.
The Neon project has three main goals:

1. The [Neon framework](packages/neon_framework) does the heavy lifting for Nextcloud client developers. Neon already handles the authentication flow and manages data requests and caching. This means that developers can reuse a lot of the code and do not need to reinvent the wheel.
2. The [Neon app](packages/app) is a cross-platform Nextcloud client that runs on iOS, Android, macOS, Windows, Linux and Web. We already support Android and Linux with the other platforms being work in progress.
3. The [Neon app](packages/app) is a multi client app. This means that you can have multiple clients in the same mobile app. It enables seamless switching between multiple apps as Nextcloud users have enjoyed on the web forever.
2. The [Neon app](packages/neon_framework/example) is a cross-platform Nextcloud client that runs on iOS, Android, macOS, Windows, Linux and Web. We already support Android and Linux with the other platforms being work in progress.
3. The [Neon app](packages/neon_framework/example) is a multi client app. This means that you can have multiple clients in the same mobile app. It enables seamless switching between multiple apps as Nextcloud users have enjoyed on the web forever.

### Current problems with other clients

Expand Down Expand Up @@ -47,28 +47,28 @@ We have a Matrix space where you can ask questions: https://matrix.to/#/#nextclo

## Features

See [here](packages/app/README.md) for screenshots.
See [here](packages/neon_framework/example/README.md) for screenshots.

- :white_check_mark: Supported
- :construction: Work in progress
- :rocket: Planned

| App | Status |
|---------------------------------------------------|--------------------|
| [Dashboard](packages/neon/neon_dashboard) | :white_check_mark: |
| [Files](packages/neon/neon_files) | :white_check_mark: |
| [News](packages/neon/neon_news) | :white_check_mark: |
| [Notes](packages/neon/neon_notes) | :white_check_mark: |
| [Notifications](packages/neon/neon_notifications) | :white_check_mark: |
| Activity | :rocket: |
| Calendar | :rocket: |
| Contacts | :rocket: |
| Cookbook | :rocket: |
| Cospend | :rocket: |
| Deck | :rocket: |
| Photos | :rocket: |
| Talk | :construction: |
| Tasks | :rocket: |
| App | Status |
|---------------------------------------------------------------------|--------------------|
| [Dashboard](packages/neon_framework/packages/dashboard_app) | :white_check_mark: |
| [Files](packages/neon_framework/packages/files_app) | :white_check_mark: |
| [News](packages/neon_framework/packages/news_app) | :white_check_mark: |
| [Notes](packages/neon_framework/packages/notes_app) | :white_check_mark: |
| [Notifications](packages/neon_framework/packages/notifications_app) | :white_check_mark: |
| Activity | :rocket: |
| Calendar | :rocket: |
| Contacts | :rocket: |
| Cookbook | :rocket: |
| Cospend | :rocket: |
| Deck | :rocket: |
| Photos | :rocket: |
| Talk | :construction: |
| Tasks | :rocket: |

## Platform support

Expand Down
17 changes: 8 additions & 9 deletions commitlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,25 @@ rules:
scope-enum:
- 2
- always
- - app
- ci
- - ci
- cookie_store
- dashboard_app
- deps
- docs
- dynamite
- dynamite_end_to_end_test
- dynamite_runtime
- file_icons
- neon_dashboard
- neon_files
- files_icons
- files_app
- neon_framework
- neon_http_client
- neon_lints
- neon_news
- neon_notes
- neon_notifications
- neon_talk
- news_app
- nextcloud
- nextcloud_test
- notes_app
- notifications_app
- release
- sort_box
- talk_app
- tool
14 changes: 7 additions & 7 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
"**.openapi.json",
"**/CHANGELOG.md",
"external",
"packages/app/web/sqlite3.wasm",
"packages/app/web/sqflite_sw.js",
"packages/dynamite/dynamite/example/lib",
"packages/file_icons/lib/src/data.dart",
"packages/dynamite/example/lib",
"packages/neon_framework/example/web/sqflite_sw.js",
"packages/neon_framework/example/web/sqlite3.wasm",
"packages/neon_framework/packages/files_icons/lib/src/data.dart",
"packages/neon_lints/lib",
"packages/nextcloud/test/fixtures",
"packages/nextcloud_test/docker/static",
"/packages/nextcloud/test/files"
"packages/nextcloud/packages/nextcloud_test/docker/static",
"packages/nextcloud/test/files",
"packages/nextcloud/test/fixtures"
],
"dictionaries": [
"bash",
Expand Down
34 changes: 17 additions & 17 deletions docs/architecture.puml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ package "Neon framework" {
component neon_framework
component nextcloud
component sort_box
component file_icons
component files_icons
}

package "Clients" {
component neon_dashboard
component neon_files
component neon_news
component neon_notes
component neon_notifications
component dashboard_app
component files_app
component news_app
component notes_app
component notifications_app
}

package "OpenAPI" {
Expand All @@ -22,22 +22,22 @@ package "OpenAPI" {

component app

app ..> neon_dashboard
app ..> neon_files
app ..> neon_news
app ..> neon_notes
app ..> neon_notifications
app ..> dashboard_app
app ..> files_app
app ..> news_app
app ..> notes_app
app ..> notifications_app

neon_dashboard --> neon_framework
neon_files --> neon_framework
neon_news --> neon_framework
neon_notes --> neon_framework
neon_notifications --> neon_framework
dashboard_app --> neon_framework
files_app --> neon_framework
news_app --> neon_framework
notes_app --> neon_framework
notifications_app --> neon_framework


neon_framework --> nextcloud
neon_framework --> sort_box
neon_framework --> file_icons
neon_framework --> files_icons

dynamite --> nextcloud
specifications --> nextcloud
Expand Down
2 changes: 1 addition & 1 deletion docs/architecture.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading