|
| 1 | +# CONTRIBUTING : |
| 2 | + |
| 3 | +## Environment setup : |
| 4 | + |
| 5 | +### Flutter : |
| 6 | + |
| 7 | +Install and configure flutter using the [Official Flutter documentation](https://docs.flutter.dev/get-started/install). |
| 8 | +Check `pubspec.yaml` or `.fvmrc` and change the flutter version accordingly |
| 9 | + |
| 10 | +Using git and the [commit hash of the release](https://docs.flutter.dev/release/archive) : |
| 11 | +```sh |
| 12 | +cd <flutter path> |
| 13 | +git checkout d8a9f9a # Commit hash of the release |
| 14 | +flutter --version |
| 15 | +# Optional : disable analytics/telemetry : |
| 16 | +flutter config --no-analytics |
| 17 | +``` |
| 18 | + |
| 19 | +Using [fvm](https://fvm.app/) : |
| 20 | +```sh |
| 21 | +fvm install 2.27.4 |
| 22 | +cd <Project-dir> |
| 23 | +fvm use 2.27.4 |
| 24 | +``` |
| 25 | + |
| 26 | +### Android Studio : |
| 27 | + |
| 28 | +*(Optional - enable wayland support)* : Add `-Dawt.toolkit.name=WLToolkit` to the Custom VM Options. |
| 29 | + |
| 30 | +Install the flutter plugin and restart, then go to **Settings > Languages & Framework > Android SDK > SDK Tools** and install the following : |
| 31 | + |
| 32 | +- Android SDK Build-Tools |
| 33 | +- NDK |
| 34 | +- Android SDK Command-line Tools |
| 35 | +- Cmake |
| 36 | +- Android SDK Platform-Tools |
| 37 | +- Android Emulator |
| 38 | + |
| 39 | +**Enable flutter android support :** |
| 40 | +```sh |
| 41 | +flutter doctor --android-licenses # Accept the Android License |
| 42 | +# Check that Android toolchain is working |
| 43 | +flutter doctor -v |
| 44 | +``` |
| 45 | + |
| 46 | +If Android studio doesn't pickup the path of the flutter toolchain or dart : |
| 47 | + |
| 48 | +In **Settings > Languages & Framework > Flutter** set the flutter SDK path using the absolute path of your install. |
| 49 | +And in **Settings > Languages & Framework > Dart** specify the Dark SDK path `<Absolute-Flutter-Path>/bin/cache/dart-sdk` |
| 50 | + |
| 51 | +## Contributing guidelines : |
| 52 | + |
| 53 | +Contribution must target the `develop` branch and must have documented changes. |
| 54 | + |
| 55 | +if you are fixing an existing issue or bug, tag it in your merge request (example : `fixing #X - button Y not working`) |
| 56 | + |
| 57 | +if you are doing maintenance work, be sure to add the changelog of the libraries you are updating. |
| 58 | + |
| 59 | +Translation are done via [crowdin](https://crowdin.com/project/piwigo-ng) |
| 60 | + |
| 61 | + |
0 commit comments