Skip to content

Commit f3e04e9

Browse files
refactor: make mono-repo
1 parent 322ea6e commit f3e04e9

File tree

159 files changed

+1036
-7166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+1036
-7166
lines changed

.circleci/config.yml

+125-54
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,36 @@ version: 2.1
22

33
orbs:
44
android: circleci/[email protected]
5-
flutter: circleci/[email protected].2
5+
flutter: circleci/[email protected].4
66
node: circleci/[email protected]
77
advanced-checkout: vsco/[email protected]
88

9+
executors:
10+
flutter-executor:
11+
docker:
12+
- image: cimg/base:stable
13+
14+
915
commands:
1016
setup_flutter:
17+
parameters:
18+
version:
19+
type: string
20+
default: 3.24.3
21+
use_melos:
22+
type: boolean
23+
default: true
24+
working_dir:
25+
type: string
26+
default: "~/project"
1127
steps:
1228
- flutter/install_sdk_and_pub:
13-
version: 3.10.5
14-
- run:
15-
name: Install melos
16-
command: dart pub global activate melos
17-
- run:
18-
name: bootstrap
19-
command: melos bootstrap
20-
- run:
21-
name: Generate Pigeons
22-
command: melos pigeon
29+
version: <<parameters.version>>
30+
app-dir: <<parameters.working_dir>>
31+
- install_flutter_and_dart_packages:
32+
generate_pigeons: true
33+
use_melos: <<parameters.use_melos>>
34+
working_dir: <<parameters.working_dir>>
2335
setup_ios:
2436
steps:
2537
# Flutter doesn't support Apple Silicon yet, so we need to install Rosetta use Flutter on M1 machines.
@@ -32,7 +44,7 @@ commands:
3244
command: sudo gem install cocoapods
3345
- run:
3446
name: Install Pods
35-
working_directory: apps/example/ios
47+
working_directory: packages/Instabug-Flutter/example/ios
3648
command: pod install --repo-update
3749
setup_captain:
3850
parameters:
@@ -89,26 +101,67 @@ commands:
89101
parameters:
90102
generate_pigeons:
91103
type: boolean
104+
use_melos:
105+
type: boolean
106+
default: true
107+
working_dir:
108+
type: string
92109
steps:
93-
- run:
94-
name: Install Flutter Packages
95-
command: flutter pub get
96-
- run:
97-
name: Install Dart Packages
98-
command: melos dart_bootstrap
99-
description: Install Dart Packages (for dart explicit packages)
100110
- when:
101111
condition:
102112
equal:
103-
- <<parameters.generate_pigeons>>
113+
- <<parameters.use_melos>>
104114
- true
105115
steps:
106116
- run:
107-
name: Generate Pigeons
108-
command: melos pigeon
117+
name: Install melos
118+
command: dart pub global activate melos && echo 'export PATH="$PATH:$HOME/.pub-cache/bin"' >> $BASH_ENV
119+
- run:
120+
name: Install Flutter Packages
121+
command: melos bootstrap
122+
- run:
123+
name: Install Dart Packages
124+
command: melos dart_bootstrap
125+
description: Install Dart Packages (for dart explicit packages)
126+
- when:
127+
condition:
128+
equal:
129+
- <<parameters.generate_pigeons>>
130+
- true
131+
steps:
132+
- run:
133+
name: Generate Pigeons
134+
command: melos pigeon
135+
- run:
136+
name: Build Pigeons
137+
command: melos generate
138+
- when:
139+
condition:
140+
equal:
141+
- <<parameters.use_melos>>
142+
- false
143+
steps:
144+
- run:
145+
name: Install Flutter Packages
146+
command: flutter pub get
109147
- run:
110-
name: Build Pigeons
111-
command: melos generate
148+
name: Install Dart Packages
149+
command: dart pub get
150+
description: Install Dart Packages (for dart explicit packages)
151+
- when:
152+
condition:
153+
equal:
154+
- <<parameters.generate_pigeons>>
155+
- true
156+
steps:
157+
- run:
158+
name: Generate Pigeons
159+
command: sh scripts/pigeon.sh
160+
- run:
161+
name: Build Pigeons
162+
command: dart run build_runner build --delete-conflicting-outputs
163+
164+
112165

113166
jobs:
114167
danger:
@@ -129,18 +182,42 @@ jobs:
129182
parameters:
130183
version:
131184
type: string
132-
docker:
133-
- image: cirrusci/flutter:<<parameters.version>>
185+
default: "3.24.3"
186+
executor: flutter-executor
134187
steps:
135188
- advanced-checkout/shallow-checkout
136-
- install_flutter_and_dart_packages:
137-
generate_pigeons: true
189+
- run: sudo apt-get update&& sudo apt-get -y install lcov
190+
- setup_flutter:
191+
version: <<parameters.version>>
192+
use_melos: true
193+
- run: melos test-coverage
194+
- persist_to_workspace:
195+
root: packages/Instabug-Flutter/coverage
196+
paths:
197+
- lcov.info
198+
199+
test_flutter_without_melos:
200+
parameters:
201+
version:
202+
type: string
203+
default: "2.10.0"
204+
app-dir:
205+
type: string
206+
executor: flutter-executor
207+
working_directory: <<parameters.app-dir>>
208+
steps:
209+
- advanced-checkout/shallow-checkout:
210+
path: ~/project
211+
- run: sudo apt-get update&& sudo apt-get -y install lcov
212+
- setup_flutter:
213+
version: <<parameters.version>>
214+
use_melos: false
215+
working_dir: <<parameters.app-dir>>
138216
- run: flutter test --coverage
139217
- run:
140-
working_directory: coverage
141-
command: lcov --remove lcov.info '*.g.dart' '*.mocks.dart' -o lcov.info
218+
command: lcov --remove coverage/lcov.info '*.g.dart' '*.mocks.dart' -o coverage/lcov.info
142219
- persist_to_workspace:
143-
root: coverage
220+
root: "<< parameters.app-dir >>/coverage"
144221
paths:
145222
- lcov.info
146223

@@ -153,7 +230,7 @@ jobs:
153230
- advanced-checkout/shallow-checkout
154231
- setup_flutter
155232
- android/run-tests:
156-
working-directory: apps/example/android
233+
working-directory: packages/Instabug-Flutter/example/android
157234
test-command: ./gradlew test
158235

159236
e2e_android_captain:
@@ -170,7 +247,7 @@ jobs:
170247
run-tests-working-directory: e2e
171248
additional-avd-args: --device 3
172249
system-image: system-images;android-33;default;x86_64
173-
post-emulator-launch-assemble-command: cd apps/example && flutter build apk --debug
250+
post-emulator-launch-assemble-command: cd packages/Instabug-Flutter/example && flutter build apk --debug
174251
test-command: dotnet test
175252

176253
test_ios:
@@ -184,7 +261,7 @@ jobs:
184261
- setup_ios
185262
- run:
186263
name: Build and run tests
187-
working_directory: ~/project/apps/example/ios
264+
working_directory: ~/project/packages/Instabug-Flutter/example/ios
188265
command: |
189266
xcodebuild -allowProvisioningUpdates \
190267
-workspace Runner.xcworkspace \
@@ -205,7 +282,7 @@ jobs:
205282
- setup_ios
206283
- run:
207284
name: Build Example App
208-
working_directory: apps/example
285+
working_directory: packages/Instabug-Flutter/example
209286
command: flutter build ios --simulator
210287
- run:
211288
name: Run E2E Tests
@@ -214,34 +291,28 @@ jobs:
214291
command: dotnet test
215292

216293
format_flutter:
217-
docker:
218-
- image: cirrusci/flutter
294+
executor: flutter-executor
219295
steps:
220296
- advanced-checkout/shallow-checkout
221-
- install_flutter_and_dart_packages:
222-
generate_pigeons: false
297+
- setup_flutter
223298
- run:
224299
name: Check Format
225300
command: melos format
226301

227302
lint_flutter:
228-
docker:
229-
- image: cirrusci/flutter
303+
executor: flutter-executor
230304
steps:
231305
- advanced-checkout/shallow-checkout
232-
- install_flutter_and_dart_packages:
233-
generate_pigeons: true
306+
- setup_flutter
234307
- run:
235308
name: Perform Static Analysis
236309
command: melos analyze
237310

238311
verify_pub:
239-
docker:
240-
- image: cirrusci/flutter
312+
executor: flutter-executor
241313
steps:
242314
- advanced-checkout/shallow-checkout
243-
- install_flutter_and_dart_packages:
244-
generate_pigeons: true
315+
- setup_flutter
245316
- run:
246317
name: Check Package Score
247318
command: melos score
@@ -251,7 +322,7 @@ jobs:
251322
macos:
252323
xcode: 15.2.0
253324
resource_class: macos.m1.medium.gen1
254-
working_directory: "~"
325+
working_directory: "~/project"
255326
steps:
256327
- advanced-checkout/shallow-checkout:
257328
path: ~/project
@@ -260,7 +331,7 @@ jobs:
260331
name: Install Rosetta
261332
command: softwareupdate --install-rosetta --agree-to-license
262333
- flutter/install_sdk_and_pub:
263-
version: 3.3.6
334+
version: 3.10.5
264335
app-dir: project
265336
- run:
266337
name: Install pub packages
@@ -294,10 +365,10 @@ workflows:
294365
- test_flutter-stable
295366
- test_flutter:
296367
name: test_flutter-stable
297-
version: stable
298-
- test_flutter:
368+
- test_flutter_without_melos:
299369
name: test_flutter-2.10.5
300370
version: 2.10.5
371+
app-dir: "~/project/packages/Instabug-Flutter/"
301372
- e2e_android_captain
302373
- test_ios
303374
- e2e_ios_captain
@@ -308,7 +379,7 @@ workflows:
308379
- verify_pub:
309380
requires:
310381
- lint_flutter
311-
- hold_release:
382+
- hold_release_instabug_flutter:
312383
type: approval
313384
requires:
314385
- danger
@@ -325,9 +396,9 @@ workflows:
325396
filters:
326397
branches:
327398
only: master
328-
- release:
399+
- release_instabug_flutter:
329400
requires:
330-
- hold_release
401+
- hold_release_instabug_flutter
331402
filters:
332403
branches:
333404
only: master

.gitignore

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Generated files
22
*.mocks.dart
33
*.g.dart
4-
android/**/generated/
5-
ios/**/Generated/
4+
packages/**/android/**/generated/
5+
packages/**ios/**/Generated/
66

77
# Miscellaneous
88
*.class
@@ -84,3 +84,4 @@ android/gradlew.bat
8484
!**/ios/**/default.pbxuser
8585
!**/ios/**/default.perspectivev3
8686
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
87+
/packages/Instabug-Flutter/lib/src/generated/

.metadata

-10
This file was deleted.

0 commit comments

Comments
 (0)