forked from aws-amplify/amplify-flutter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
aft.yaml
175 lines (168 loc) · 4.75 KB
/
aft.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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# Global dependency versions for third-party dependencies of
# Amplify Flutter projects. These represent the values which
# have been vetted by manual review and should be used consistently
# across all packages.
#
# Application of these values can be verified/updated with the `aft`
# tool.
dependencies:
async: ^2.10.0
built_value: ">=8.4.0 <8.5.0"
built_value_generator: 8.4.4
code_builder: 4.4.0
dart_style: ">=2.2.0 <2.3.0"
drift: ">=2.4.0 <2.6.0"
flutter_plugin_android_lifecycle: ^2.0.9
json_annotation: ">=4.8.0 <4.9.0"
json_serializable: 6.6.1
intl: ">=0.17.0 <1.0.0"
mime: ^1.0.0
pigeon: ^7.1.5
stack_trace: ^1.10.0
uuid: ">=3.0.6 <=3.0.7"
xml: ">=6.1.0 <=6.2.2"
# The current constraints for SDKs and OSs.
environment:
sdk: ">=2.18.0 <4.0.0"
flutter: ">=3.3.0"
android:
minSdkVersion: "24"
ios:
minOSVersion: "13.0"
macOS:
minOSVersion: "10.15"
# Packages to ignore in all repo operations.
ignore:
- synthetic_package
- libgit2dart
# Strongly connected components which should have version bumps happen
# in unison, i.e. a version bump to one package cascades to all.
#
# By default, this happens only for minor version bumps. However, this
# can be modified on a per-component basis using the `propagate` flag.
components:
- name: Amplify Flutter
summary: amplify_flutter
packages:
- amplify_flutter
- amplify_flutter_ios
- amplify_flutter_android
- amplify_core
- amplify_datastore
- amplify_datastore_plugin_interface
- amplify_analytics_pinpoint
- amplify_api
- amplify_api_android
- amplify_api_ios
- amplify_auth_cognito
- amplify_auth_cognito_android
- amplify_auth_cognito_ios
- amplify_storage_s3
- amplify_push_notifications
- amplify_push_notifications_pinpoint
- name: Amplify Dart
summary: amplify_core
propagate: none
packages:
- amplify_analytics_pinpoint_dart
- amplify_api_dart
- amplify_auth_cognito_dart
- amplify_storage_s3_dart
- name: Amplify UI
packages:
- amplify_authenticator
- name: DB Common
summary: amplify_db_common
packages:
- amplify_db_common
- amplify_db_common_dart
- name: Secure Storage
summary: amplify_secure_storage
packages:
- amplify_secure_storage
- amplify_secure_storage_dart
- name: AWS Common
summary: aws_common
propagate: none
packages:
- aws_common
- aws_signature_v4
- name: Smithy
summary: smithy
packages:
- smithy
- smithy_aws
- name: Worker Bee
summary: worker_bee
packages:
- worker_bee
- worker_bee_builder
scripts:
license:
description: Adds license headers recursively in the current directory
from: current
run: $AFT_ROOT/tool/license.sh $@
format:
description: Checks formatting for all packages
from: all
run: aft format --set-exit-if-changed .
analyze:
description: Runs Dart analysis in all packages
from: all
run: aft analyze $@
test:unit:flutter:
description: Runs unit tests for all Flutter packages
from: flutter
run: $AFT_ROOT/.circleci/test_all_plugins.sh flutter {{ package.name }}
test:unit:ios:
description: Runs unit tests for all iOS plugins
from: flutter
run: $AFT_ROOT/.circleci/test_all_plugins.sh ios {{ package.name }} {{{ package.example.path }}}
test:unit:android:
description: Runs unit tests for all Android plugins
from: flutter
run: $AFT_ROOT/.circleci/test_all_plugins.sh android {{ package.name }} {{{ package.example.path }}}
build:example:ios:
description: Builds all example apps for iOS
from:
and:
- flutter
- example
run: |
if [ -d ios ]; then
flutter build ios --simulator
fi
build:example:android:
description: Builds all example apps for Android
from:
and:
- flutter
- example
run: |
if [ -d android ]; then
flutter build apk --debug
fi
build:docs:
description: Builds the documentation examples
run: |
if [ ! -f doc/build.yaml ]; then
echo "No documentation examples for {{ package.name }}" >&2
exit 0
fi
pushd doc
# All `doc` packages should allow `flutter` dependencies even if they
# are subpackages of a Dart-only package. For example, we want to use
# `amplify_flutter` in the `amplify_core` docs.
flutter pub get
flutter pub run build_runner build
popd
if [ "{{ package.flavor }}" == "flutter" ]; then
PUB="flutter pub"
else
PUB="dart"
fi
$PUB run code_excerpt_updater \
--fragment-dir-path=doc/.dart_tool/build/generated \
--yaml \
--write-in-place \
lib