-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathmelos.yaml
152 lines (134 loc) · 3.78 KB
/
melos.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
name: flutter_app_template
repository: https://github.com/altive/flutter_app_template
packages:
- "packages/*"
command:
clean:
hooks:
post: |
melos exec --flutter -- "flutter clean"
melos exec --flutter --file-exists="ios/Podfile.lock" -- "cd ios && rm Podfile.lock"
melos exec --flutter --file-exists="macos/Podfile.lock" -- "cd macos && rm Podfile.lock"
version:
branch: main
releaseUrl: true
scripts:
custom_lint:
exec: dart run custom_lint
description: Run custom_lint.
packageFilters:
dirExists: lib
dependsOn: "custom_lint"
# Issue on file exclusion feature: https://github.com/dart-lang/dart_style/issues/864
# NOTE: Using the `exec:` format causes processing to stop
format:ci:
run: |
melos exec -- \
dart format --set-exit-if-changed $(find . -name "*.dart" -not \( -name "*.*freezed.dart" -o -name "*.*g.dart" -o -name "*.gen.dart" -o -wholename "./.dart_tool/*" \) )
description: Run format.
packageFilters:
flutter: true
dirExists: [lib, test]
fix:
exec: |
dart fix --apply lib
dart run custom_lint --fix
description: Run dart and custom_lint fixes.
packageFilters:
dirExists: lib
gen:
run: dart run build_runner build --delete-conflicting-outputs
exec:
concurrency: 1
description: Run generate code.
packageFilters:
dirExists: lib
dependsOn: "build_runner"
gen:watch:
run: dart run build_runner watch --delete-conflicting-outputs
exec:
concurrency: 99
description: Watch and run generate code.
packageFilters:
dirExists: lib
dependsOn: "build_runner"
gen:icons:
exec: dart run flutter_launcher_icons
description: Generate launcher icons.
packageFilters:
dirExists: lib
dependsOn: "flutter_launcher_icons"
slang:
run: dart run slang
exec:
concurrency: 1
description: Run generate translation code.
packageFilters:
dirExists: lib
dependsOn: slang
slang:watch:
exec: dart run slang watch
description: Run generate translation code.
packageFilters:
dirExists: lib
dependsOn: slang
test:
run: flutter test
exec:
failFast: true
description: Run flutter test.
packageFilters:
flutter: true
dirExists: test
test:ci:
run: flutter test --coverage
exec:
failFast: true
description: Run flutter test for CI.
packageFilters:
flutter: true
dirExists: test
flutterfire:update:
exec: flutterfire update
description: Run flutterfire update.
packageFilters:
flutter: true
dirExists: lib
dependsOn: "firebase_core"
pod:
run: melos run pod:ios --no-select && melos run pod:macos --no-select
description: Clean install the Pods
pod:ios:
exec: |
cd ios
rm -f Podfile.lock
pod install --repo-update
description: Run pod install on iOS.
packageFilters:
dirExists: [lib, ios]
fileExists: "ios/Podfile"
pod:macos:
exec: |
cd macos
rm -f Podfile.lock
pod install --repo-update
description: Run pod install on macOS.
packageFilters:
dirExists: [lib, macos]
fileExists: "macos/Podfile"
build:android:prod:
run: flutter build appbundle --dart-define-from-file=dart_defines/prod.env
exec:
concurrency: 1
description: Build the AppBundle for the production app.
packageFilters:
flutter: true
dirExists: [lib, android]
upload:ios:prod:
run: flutter build ipa --dart-define-from-file=dart_defines/prod.env --export-options-plist="ios/prod/ExportOptions.plist"
exec:
concurrency: 1
description: Upload the IPA for the production app.
packageFilters:
flutter: true
dirExists: [lib, ios]