Repository navigation
Expand file tree
/
Copy pathpubspec.yaml
More file actions
154 lines (149 loc) · 5.61 KB
/
Copy pathpubspec.yaml
File metadata and controls
154 lines (149 loc) · 5.61 KB
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
153
154
name: weblibre_project
environment:
sdk: '>=3.8.0 <4.0.0'
workspace:
- apps/weblibre/
- packages/flutter_mozilla_components
- packages/flutter_mozilla_components/example
- packages/flutter_tor
- packages/flutter_tor/example
- packages/simple_intent_receiver
- packages/simple_intent_receiver/example
- packages/locale_resolver
- packages/locale_resolver/example
- packages/speech_to_text_dialog
- packages/speech_to_text_dialog/example
- packages/flutter_singbox_proxy
- packages/flutter_singbox_proxy/example
dev_dependencies:
melos: ^7.8.1
melos:
name: weblibre_project
command:
bootstrap:
enforceLockfile: true
clean:
hooks:
pre: melos exec -c 1 -- "flutter clean"
scripts:
upgrade-major-tighten:
run: |
dart pub upgrade --major-versions --tighten
exec:
concurrency: 1
validate-dependencies:
description: Validates dependcies in the workspace
packageFilters:
noDependsOn: melos
exec: |
dart pub global run dependency_validator
build-watch:
description: Merge l10n ARB fragments, then generate and watch files with build_runner in the workspace
steps:
- build-l10n
- build-watch-codegen
build-watch-codegen:
description: Generate and watch files with build_runner in the workspace
packageFilters:
dependsOn: build_runner
exec: |
dart run build_runner watch --delete-conflicting-outputs
build:
description: Merge l10n ARB fragments, then generate files with build_runner in the workspace
steps:
- build-l10n
- build-codegen
build-codegen:
description: Generate files with build_runner in the workspace
packageFilters:
dependsOn: build_runner
run: |
dart run build_runner build --delete-conflicting-outputs
exec:
failFast: true
concurrency: 1
build-pigeons:
description: Running pigeon for files in pigeons directory
exec: |
echo "Running pigeon for files in pigeons directory:"
for file in ./pigeons/*; do
if [ -f "\$file" ]; then
echo "Processing \$file"
flutter pub run pigeon --input "\$file"
fi
done
packageFilters:
dirExists: 'pigeons'
build-l10n:
description: Merge per-feature ARB fragments and regenerate AppLocalizations
run: |
set -e
python3 scripts/merge_l10n_arb.py
cd apps/weblibre
flutter gen-l10n
format:
description: Format all Dart files in the workspace
exec: dart format .
update-assets:
description: Download external assets (bangs, bridges, URL lists)
run: bash scripts/update-assets.sh
build-components:
description: Build JS components and generate quotes/sites DBs
run: |
set -e
sh scripts/build-container-proxy.sh
sh scripts/build-readability.sh
python3 scripts/build_quotes_db.py
python3 scripts/build_sites_db.py
build-singbox-libbox:
description: Build official sing-box Android libbox AAR for flutter_singbox_proxy
run: packages/flutter_singbox_proxy/scripts/build-libbox-android.sh
build-go-runtime:
description: Build combined Android gomobile runtime AAR for proxy plugins
run: native/go_mobile_runtime/scripts/build-android.sh
test-intents:
description: Run the Dart intent delivery queue tests
packageFilters:
scope: simple_intent_receiver
exec: flutter test
test-android:
description: Run the host-side Kotlin unit tests for the native plugins
run: |
set -e
# No flutter/melos equivalent exists for Android unit tests, so this is
# the one sanctioned gradle invocation. It needs a configured Android
# project, which `flutter build`/`flutter run` produces — run one first
# on a clean checkout.
cd apps/weblibre/android
# --continue: a failure in one module would otherwise stop the modules
# after it from running at all, which hides everything behind the first
# break. Read the XML reports under
# apps/weblibre/build/<module>/test-results/, not just the exit status.
./gradlew --continue \
:flutter_mozilla_components:testDebugUnitTest \
:flutter_singbox_proxy:testDebugUnitTest \
:simple_intent_receiver:testDebugUnitTest
build-browser:
description: Build stable release APKs split per ABI with the Skia renderer
run: |
set -e
cd apps/weblibre
flutter build apk --release --flavor stable --target-platform android-arm,android-arm64,android-x64 --split-per-abi --no-tree-shake-icons
build-browser-impeller:
description: Build stable comparison APKs split per ABI with Impeller enabled
run: |
set -e
cd apps/weblibre
flutter build apk --release --flavor stableImpeller --target-platform android-arm,android-arm64,android-x64 --split-per-abi --no-tree-shake-icons
build-browser-alpha:
description: Build alpha release APKs split per ABI with the Skia renderer
run: |
set -e
cd apps/weblibre
flutter build apk --release --flavor alpha --target-platform android-arm,android-arm64,android-x64 --split-per-abi --no-tree-shake-icons
build-browser-alpha-impeller:
description: Build alpha comparison APKs split per ABI with Impeller enabled
run: |
set -e
cd apps/weblibre
flutter build apk --release --flavor alphaImpeller --target-platform android-arm,android-arm64,android-x64 --split-per-abi --no-tree-shake-icons