@@ -76,7 +76,24 @@ enum ApiChangeOperation {
7676 dependencyVersionChange (ApiChangeMagnitude .patch),
7777 dependencyAddition (ApiChangeMagnitude .patch),
7878 dependencyRemoval (ApiChangeMagnitude .minor),
79- platformConstraintChange (ApiChangeMagnitude .major),
79+ // Dart SDK constraints
80+ minDartSdkVersionDecrease (ApiChangeMagnitude .patch),
81+ minDartSdkVersionIncrease (ApiChangeMagnitude .major),
82+ maxDartSdkVersionDecrease (ApiChangeMagnitude .major),
83+ maxDartSdkVersionIncrease (ApiChangeMagnitude .patch),
84+ // Flutter SDK constraints
85+ minFlutterSdkVersionIncrease (ApiChangeMagnitude .major),
86+ maxFlutterSdkVersionDecrease (ApiChangeMagnitude .major),
87+ maxFlutterSdkVersionIncrease (ApiChangeMagnitude .patch),
88+ minFlutterSdkVersionDecrease (ApiChangeMagnitude .patch),
89+
90+ //Β Android constraints
91+ minAndroidSdkVersionDecrease (ApiChangeMagnitude .patch),
92+ minAndroidSdkVersionIncrease (ApiChangeMagnitude .major),
93+
94+ // iOS constraints
95+ minIosSdkVersionDecrease (ApiChangeMagnitude .patch),
96+ minIosSdkVersionIncrease (ApiChangeMagnitude .major),
8097
8198 // Feature changes
8299 featureAddition (ApiChangeMagnitude .minor),
@@ -142,7 +159,18 @@ class MetaApiChange extends ApiChange {
142159 ApiChangeOperation .dependencyVersionChange,
143160 ApiChangeOperation .dependencyAddition,
144161 ApiChangeOperation .dependencyRemoval,
145- ApiChangeOperation .platformConstraintChange,
162+ ApiChangeOperation .minDartSdkVersionDecrease,
163+ ApiChangeOperation .minDartSdkVersionIncrease,
164+ ApiChangeOperation .maxDartSdkVersionDecrease,
165+ ApiChangeOperation .maxDartSdkVersionIncrease,
166+ ApiChangeOperation .minFlutterSdkVersionDecrease,
167+ ApiChangeOperation .minFlutterSdkVersionIncrease,
168+ ApiChangeOperation .maxFlutterSdkVersionDecrease,
169+ ApiChangeOperation .maxFlutterSdkVersionIncrease,
170+ ApiChangeOperation .minAndroidSdkVersionDecrease,
171+ ApiChangeOperation .minAndroidSdkVersionIncrease,
172+ ApiChangeOperation .minIosSdkVersionDecrease,
173+ ApiChangeOperation .minIosSdkVersionIncrease,
146174 };
147175
148176 factory MetaApiChange .dependencyVersionChange ({
@@ -177,6 +205,143 @@ class MetaApiChange extends ApiChange {
177205 description: 'removed' ,
178206 );
179207 }
208+
209+ factory MetaApiChange .minDartSdkVersionDecrease ({
210+ required String version,
211+ required String previousVersion,
212+ }) {
213+ return MetaApiChange (
214+ operation: ApiChangeOperation .minDartSdkVersionDecrease,
215+ title: "Minimum Dart SDK version decreased" ,
216+ description: 'from `$previousVersion ` to `$version `' ,
217+ );
218+ }
219+
220+ factory MetaApiChange .minDartSdkVersionIncrease ({
221+ required String version,
222+ required String previousVersion,
223+ }) {
224+ return MetaApiChange (
225+ operation: ApiChangeOperation .minDartSdkVersionIncrease,
226+ title: "Minimum Dart SDK version increased" ,
227+ description: 'from `$previousVersion ` to `$version `' ,
228+ );
229+ }
230+
231+ factory MetaApiChange .maxDartSdkVersionDecrease ({
232+ required String version,
233+ required String previousVersion,
234+ }) {
235+ return MetaApiChange (
236+ operation: ApiChangeOperation .maxDartSdkVersionDecrease,
237+ title: "Maximum Dart SDK version decreased" ,
238+ description: 'from `$previousVersion ` to `$version `' ,
239+ );
240+ }
241+
242+ factory MetaApiChange .maxDartSdkVersionIncrease ({
243+ required String version,
244+ required String previousVersion,
245+ }) {
246+ return MetaApiChange (
247+ operation: ApiChangeOperation .maxDartSdkVersionIncrease,
248+ title: "Maximum Dart SDK version increased" ,
249+ description: 'from `$previousVersion ` to `$version `' ,
250+ );
251+ }
252+
253+ factory MetaApiChange .minFlutterSdkVersionDecrease ({
254+ required String version,
255+ required String previousVersion,
256+ }) {
257+ return MetaApiChange (
258+ operation: ApiChangeOperation .minFlutterSdkVersionDecrease,
259+ title: "Minimum Flutter SDK version decreased" ,
260+ description: 'from `$previousVersion ` to `$version `' ,
261+ );
262+ }
263+
264+ factory MetaApiChange .minFlutterSdkVersionIncrease ({
265+ required String version,
266+ required String previousVersion,
267+ }) {
268+ return MetaApiChange (
269+ operation: ApiChangeOperation .minFlutterSdkVersionIncrease,
270+ title: "Minimum Flutter SDK version increased" ,
271+ description: 'from `$previousVersion ` to `$version `' ,
272+ );
273+ }
274+
275+ factory MetaApiChange .maxFlutterSdkVersionDecrease ({
276+ required String version,
277+ required String previousVersion,
278+ }) {
279+ return MetaApiChange (
280+ operation: ApiChangeOperation .maxFlutterSdkVersionDecrease,
281+ title: "Maximum Flutter SDK version decreased" ,
282+ description: 'from `$previousVersion ` to `$version `' ,
283+ );
284+ }
285+
286+ factory MetaApiChange .maxFlutterSdkVersionIncrease ({
287+ required String version,
288+ required String previousVersion,
289+ }) {
290+ return MetaApiChange (
291+ operation: ApiChangeOperation .maxFlutterSdkVersionIncrease,
292+ title: "Maximum Flutter SDK version increased" ,
293+ description: 'from `$previousVersion ` to `$version `' ,
294+ );
295+ }
296+
297+ factory MetaApiChange .minAndroidSdkVersionDecrease ({
298+ required int version,
299+ required int previousVersion,
300+ }) {
301+ return MetaApiChange (
302+ operation: ApiChangeOperation .minAndroidSdkVersionDecrease,
303+ title: "Minimum Android SDK version decreased" ,
304+ description: 'from `$previousVersion ` to `$version `' ,
305+ );
306+ }
307+
308+ factory MetaApiChange .minAndroidSdkVersionIncrease ({
309+ required int version,
310+ required int previousVersion,
311+ }) {
312+ return MetaApiChange (
313+ operation: ApiChangeOperation .minAndroidSdkVersionIncrease,
314+ title: "Minimum Android SDK version increased" ,
315+ description: 'from `$previousVersion ` to `$version `' ,
316+ );
317+ }
318+
319+ factory MetaApiChange .minIosSdkVersionDecrease ({
320+ required num version,
321+ required num previousVersion,
322+ }) {
323+ return MetaApiChange (
324+ operation: ApiChangeOperation .minIosSdkVersionDecrease,
325+ title: "Minimum iOS SDK version decreased" ,
326+ description: 'from `$previousVersion ` to `$version `' ,
327+ );
328+ }
329+
330+ factory MetaApiChange .minIosSdkVersionIncrease ({
331+ required num version,
332+ required num previousVersion,
333+ }) {
334+ return MetaApiChange (
335+ operation: ApiChangeOperation .minIosSdkVersionIncrease,
336+ title: "Minimum iOS SDK version increased" ,
337+ description: 'from `$previousVersion ` to `$version `' ,
338+ );
339+ }
340+
341+ @override
342+ toString () {
343+ return 'MetaApiChange(component: ${component .name }, operation: $operation , annotation: $annotation , changedValue: $changedValue )' ;
344+ }
180345}
181346
182347/// A change that belongs to a specific component.
@@ -206,6 +371,11 @@ class ComponentApiChange extends ApiChange {
206371 ApiChangeOperation .mixinRemoval,
207372 ApiChangeOperation .superClassChange,
208373 };
374+
375+ @override
376+ toString () {
377+ return 'ComponentApiChange(component: ${component .name }, operation: $operation , annotation: $annotation , changedValue: $changedValue )' ;
378+ }
209379}
210380
211381/// A change that belongs to a specific property of a component.
@@ -259,6 +429,11 @@ class PropertyApiChange extends ApiChange {
259429
260430 return super .getMagnitude ();
261431 }
432+
433+ @override
434+ toString () {
435+ return 'PropertyApiChange(component: ${component .name }, operation: $operation , annotation: $annotation , changedValue: $changedValue , property: ${property .name })' ;
436+ }
262437}
263438
264439/// A change that belongs to a specific method of a component or a top-level function.
@@ -319,6 +494,11 @@ class MethodApiChange extends ApiChange {
319494 bool isFunctionChange () {
320495 return component.type == DocComponentType .functionType;
321496 }
497+
498+ @override
499+ toString () {
500+ return 'MethodApiChange(component: ${component .name }, operation: $operation , annotation: $annotation , changedValue: $changedValue , method: ${method .name })' ;
501+ }
322502}
323503
324504/// Base class for parameter changes to share magnitude logic
@@ -395,6 +575,11 @@ abstract class ParameterApiChange extends ApiChange {
395575 }
396576 return super .getMagnitude ();
397577 }
578+
579+ @override
580+ toString () {
581+ return 'ParameterApiChange(component: ${component .name }, operation: $operation , annotation: $annotation , changedValue: $changedValue , parameter: ${parameter .name }, parentName: $parentName , oldName: $oldName , newType: $newType )' ;
582+ }
398583}
399584
400585class MethodParameterApiChange extends ParameterApiChange {
@@ -433,7 +618,6 @@ class ConstructorApiChange extends ApiChange {
433618 ApiChangeOperation .dependencyAddition,
434619 ApiChangeOperation .dependencyRemoval,
435620 ApiChangeOperation .dependencyVersionChange,
436- ApiChangeOperation .platformConstraintChange,
437621 };
438622
439623 @override
@@ -458,6 +642,11 @@ class ConstructorApiChange extends ApiChange {
458642
459643 return super .getMagnitude ();
460644 }
645+
646+ @override
647+ toString () {
648+ return 'ConstructorApiChange(component: ${component .name }, operation: $operation , annotation: $annotation , changedValue: $changedValue , constructor: ${constructor .name })' ;
649+ }
461650}
462651
463652class ConstructorParameterApiChange extends ParameterApiChange {
@@ -472,4 +661,9 @@ class ConstructorParameterApiChange extends ParameterApiChange {
472661 super .newType,
473662 super .annotation,
474663 }) : super (parentName: constructor.name);
664+
665+ @override
666+ toString () {
667+ return 'ConstructorParameterApiChange(component: ${component .name }, operation: $operation , annotation: $annotation , changedValue: $changedValue , constructor: ${constructor .name }, parameter: ${parameter .name }, oldName: $oldName , newType: $newType )' ;
668+ }
475669}
0 commit comments