eas-cli 0.57.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -44
- package/build/build/android/build.js +17 -3
- package/build/build/android/graphql.js +2 -0
- package/build/build/android/prepareJob.js +5 -0
- package/build/build/android/syncProjectConfiguration.d.ts +3 -4
- package/build/build/android/syncProjectConfiguration.js +2 -3
- package/build/build/android/version.d.ts +11 -0
- package/build/build/android/version.js +71 -1
- package/build/build/build.js +1 -1
- package/build/build/context.d.ts +4 -0
- package/build/build/createContext.d.ts +2 -1
- package/build/build/createContext.js +7 -1
- package/build/build/ios/build.js +17 -1
- package/build/build/ios/graphql.js +2 -0
- package/build/build/ios/prepareJob.js +5 -0
- package/build/build/ios/syncProjectConfiguration.d.ts +3 -4
- package/build/build/ios/syncProjectConfiguration.js +2 -3
- package/build/build/ios/version.d.ts +13 -0
- package/build/build/ios/version.js +72 -1
- package/build/build/local.d.ts +2 -2
- package/build/build/local.js +7 -7
- package/build/build/metadata.js +18 -2
- package/build/build/runBuildAndSubmit.js +25 -3
- package/build/build/utils/printBuildInfo.d.ts +1 -1
- package/build/build/utils/printBuildInfo.js +7 -13
- package/build/commands/build/version/set.d.ts +0 -1
- package/build/commands/build/version/set.js +2 -3
- package/build/commands/build/version/sync.d.ts +0 -1
- package/build/commands/build/version/sync.js +2 -3
- package/build/commands/submit.js +4 -1
- package/build/commands/update/index.js +12 -2
- package/build/graphql/generated.d.ts +240 -4
- package/build/graphql/generated.js +2 -0
- package/build/graphql/mutations/PublishMutation.d.ts +2 -4
- package/build/graphql/queries/BuildQuery.d.ts +4 -1
- package/build/graphql/queries/BuildQuery.js +19 -0
- package/build/graphql/queries/PublishQuery.d.ts +2 -1
- package/build/graphql/queries/PublishQuery.js +16 -0
- package/build/graphql/types/Build.d.ts +1 -0
- package/build/graphql/types/Build.js +16 -1
- package/build/metadata/apple/config/reader.d.ts +3 -2
- package/build/metadata/apple/config/reader.js +22 -5
- package/build/metadata/apple/config/writer.d.ts +3 -2
- package/build/metadata/apple/config/writer.js +22 -6
- package/build/metadata/apple/tasks/app-version.d.ts +5 -1
- package/build/metadata/apple/tasks/app-version.js +109 -8
- package/build/metadata/apple/tasks/index.d.ts +6 -1
- package/build/metadata/apple/tasks/index.js +7 -2
- package/build/metadata/apple/types.d.ts +3 -7
- package/build/metadata/upload.js +6 -1
- package/build/project/projectUtils.d.ts +1 -0
- package/build/project/projectUtils.js +18 -1
- package/build/project/publish.d.ts +3 -1
- package/build/project/publish.js +17 -8
- package/build/project/remoteVersionSource.d.ts +5 -3
- package/build/project/remoteVersionSource.js +18 -9
- package/build/submit/submit.d.ts +2 -1
- package/build/submit/submit.js +3 -2
- package/build/vcs/clients/gitNoCommit.d.ts +1 -0
- package/build/vcs/clients/gitNoCommit.js +14 -0
- package/oclif.manifest.json +1 -1
- package/package.json +26 -25
- package/schema/metadata-0.json +38 -233
package/README.md
CHANGED
|
@@ -49,6 +49,8 @@ eas --help COMMAND
|
|
|
49
49
|
* [`eas build:inspect`](#eas-buildinspect)
|
|
50
50
|
* [`eas build:list`](#eas-buildlist)
|
|
51
51
|
* [`eas build:submit`](#eas-buildsubmit)
|
|
52
|
+
* [`eas build:version:set`](#eas-buildversionset)
|
|
53
|
+
* [`eas build:version:sync`](#eas-buildversionsync)
|
|
52
54
|
* [`eas build:view [BUILD_ID]`](#eas-buildview-build_id)
|
|
53
55
|
* [`eas channel:create [NAME]`](#eas-channelcreate-name)
|
|
54
56
|
* [`eas channel:edit [NAME]`](#eas-channeledit-name)
|
|
@@ -100,7 +102,7 @@ ALIASES
|
|
|
100
102
|
$ eas login
|
|
101
103
|
```
|
|
102
104
|
|
|
103
|
-
_See code: [src/commands/account/login.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
105
|
+
_See code: [src/commands/account/login.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/account/login.ts)_
|
|
104
106
|
|
|
105
107
|
## `eas account:logout`
|
|
106
108
|
|
|
@@ -117,7 +119,7 @@ ALIASES
|
|
|
117
119
|
$ eas logout
|
|
118
120
|
```
|
|
119
121
|
|
|
120
|
-
_See code: [src/commands/account/logout.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
122
|
+
_See code: [src/commands/account/logout.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/account/logout.ts)_
|
|
121
123
|
|
|
122
124
|
## `eas account:view`
|
|
123
125
|
|
|
@@ -134,7 +136,7 @@ ALIASES
|
|
|
134
136
|
$ eas whoami
|
|
135
137
|
```
|
|
136
138
|
|
|
137
|
-
_See code: [src/commands/account/view.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
139
|
+
_See code: [src/commands/account/view.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/account/view.ts)_
|
|
138
140
|
|
|
139
141
|
## `eas analytics [STATUS]`
|
|
140
142
|
|
|
@@ -148,7 +150,7 @@ DESCRIPTION
|
|
|
148
150
|
display or change analytics settings
|
|
149
151
|
```
|
|
150
152
|
|
|
151
|
-
_See code: [src/commands/analytics.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
153
|
+
_See code: [src/commands/analytics.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/analytics.ts)_
|
|
152
154
|
|
|
153
155
|
## `eas autocomplete [SHELL]`
|
|
154
156
|
|
|
@@ -197,7 +199,7 @@ DESCRIPTION
|
|
|
197
199
|
create a branch
|
|
198
200
|
```
|
|
199
201
|
|
|
200
|
-
_See code: [src/commands/branch/create.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
202
|
+
_See code: [src/commands/branch/create.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/branch/create.ts)_
|
|
201
203
|
|
|
202
204
|
## `eas branch:delete [NAME]`
|
|
203
205
|
|
|
@@ -217,7 +219,7 @@ DESCRIPTION
|
|
|
217
219
|
delete a branch
|
|
218
220
|
```
|
|
219
221
|
|
|
220
|
-
_See code: [src/commands/branch/delete.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
222
|
+
_See code: [src/commands/branch/delete.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/branch/delete.ts)_
|
|
221
223
|
|
|
222
224
|
## `eas branch:list`
|
|
223
225
|
|
|
@@ -238,7 +240,7 @@ DESCRIPTION
|
|
|
238
240
|
list all branches
|
|
239
241
|
```
|
|
240
242
|
|
|
241
|
-
_See code: [src/commands/branch/list.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
243
|
+
_See code: [src/commands/branch/list.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/branch/list.ts)_
|
|
242
244
|
|
|
243
245
|
## `eas branch:rename`
|
|
244
246
|
|
|
@@ -257,7 +259,7 @@ DESCRIPTION
|
|
|
257
259
|
rename a branch
|
|
258
260
|
```
|
|
259
261
|
|
|
260
|
-
_See code: [src/commands/branch/rename.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
262
|
+
_See code: [src/commands/branch/rename.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/branch/rename.ts)_
|
|
261
263
|
|
|
262
264
|
## `eas branch:view [NAME]`
|
|
263
265
|
|
|
@@ -281,7 +283,7 @@ DESCRIPTION
|
|
|
281
283
|
view a branch
|
|
282
284
|
```
|
|
283
285
|
|
|
284
|
-
_See code: [src/commands/branch/view.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
286
|
+
_See code: [src/commands/branch/view.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/branch/view.ts)_
|
|
285
287
|
|
|
286
288
|
## `eas build`
|
|
287
289
|
|
|
@@ -311,7 +313,7 @@ DESCRIPTION
|
|
|
311
313
|
start a build
|
|
312
314
|
```
|
|
313
315
|
|
|
314
|
-
_See code: [src/commands/build/index.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
316
|
+
_See code: [src/commands/build/index.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/index.ts)_
|
|
315
317
|
|
|
316
318
|
## `eas build:cancel [BUILD_ID]`
|
|
317
319
|
|
|
@@ -325,7 +327,7 @@ DESCRIPTION
|
|
|
325
327
|
cancel a build
|
|
326
328
|
```
|
|
327
329
|
|
|
328
|
-
_See code: [src/commands/build/cancel.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
330
|
+
_See code: [src/commands/build/cancel.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/cancel.ts)_
|
|
329
331
|
|
|
330
332
|
## `eas build:configure`
|
|
331
333
|
|
|
@@ -342,7 +344,7 @@ DESCRIPTION
|
|
|
342
344
|
configure the project to support EAS Build
|
|
343
345
|
```
|
|
344
346
|
|
|
345
|
-
_See code: [src/commands/build/configure.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
347
|
+
_See code: [src/commands/build/configure.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/configure.ts)_
|
|
346
348
|
|
|
347
349
|
## `eas build:inspect`
|
|
348
350
|
|
|
@@ -377,7 +379,7 @@ DESCRIPTION
|
|
|
377
379
|
inspect the state of the project at specific build stages, useful for troubleshooting
|
|
378
380
|
```
|
|
379
381
|
|
|
380
|
-
_See code: [src/commands/build/inspect.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
382
|
+
_See code: [src/commands/build/inspect.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/inspect.ts)_
|
|
381
383
|
|
|
382
384
|
## `eas build:list`
|
|
383
385
|
|
|
@@ -410,7 +412,7 @@ DESCRIPTION
|
|
|
410
412
|
list all builds for your project
|
|
411
413
|
```
|
|
412
414
|
|
|
413
|
-
_See code: [src/commands/build/list.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
415
|
+
_See code: [src/commands/build/list.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/list.ts)_
|
|
414
416
|
|
|
415
417
|
## `eas build:submit`
|
|
416
418
|
|
|
@@ -440,6 +442,44 @@ ALIASES
|
|
|
440
442
|
$ eas build:submit
|
|
441
443
|
```
|
|
442
444
|
|
|
445
|
+
## `eas build:version:set`
|
|
446
|
+
|
|
447
|
+
Update version of an app.
|
|
448
|
+
|
|
449
|
+
```
|
|
450
|
+
USAGE
|
|
451
|
+
$ eas build:version:set [-p android|ios] [--profile <value>]
|
|
452
|
+
|
|
453
|
+
FLAGS
|
|
454
|
+
-p, --platform=(android|ios)
|
|
455
|
+
--profile=PROFILE_NAME Name of the build profile from eas.json. Defaults to "production" if defined in
|
|
456
|
+
eas.json.
|
|
457
|
+
|
|
458
|
+
DESCRIPTION
|
|
459
|
+
Update version of an app.
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
_See code: [src/commands/build/version/set.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/version/set.ts)_
|
|
463
|
+
|
|
464
|
+
## `eas build:version:sync`
|
|
465
|
+
|
|
466
|
+
Update a version in native code with a value stored on EAS servers
|
|
467
|
+
|
|
468
|
+
```
|
|
469
|
+
USAGE
|
|
470
|
+
$ eas build:version:sync [-p android|ios|all] [--profile <value>]
|
|
471
|
+
|
|
472
|
+
FLAGS
|
|
473
|
+
-p, --platform=(android|ios|all)
|
|
474
|
+
--profile=PROFILE_NAME Name of the build profile from eas.json. Defaults to "production" if defined in
|
|
475
|
+
eas.json.
|
|
476
|
+
|
|
477
|
+
DESCRIPTION
|
|
478
|
+
Update a version in native code with a value stored on EAS servers
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
_See code: [src/commands/build/version/sync.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/version/sync.ts)_
|
|
482
|
+
|
|
443
483
|
## `eas build:view [BUILD_ID]`
|
|
444
484
|
|
|
445
485
|
view a build for your project
|
|
@@ -455,7 +495,7 @@ DESCRIPTION
|
|
|
455
495
|
view a build for your project
|
|
456
496
|
```
|
|
457
497
|
|
|
458
|
-
_See code: [src/commands/build/view.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
498
|
+
_See code: [src/commands/build/view.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/build/view.ts)_
|
|
459
499
|
|
|
460
500
|
## `eas channel:create [NAME]`
|
|
461
501
|
|
|
@@ -475,7 +515,7 @@ DESCRIPTION
|
|
|
475
515
|
create a channel
|
|
476
516
|
```
|
|
477
517
|
|
|
478
|
-
_See code: [src/commands/channel/create.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
518
|
+
_See code: [src/commands/channel/create.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/channel/create.ts)_
|
|
479
519
|
|
|
480
520
|
## `eas channel:edit [NAME]`
|
|
481
521
|
|
|
@@ -496,7 +536,7 @@ DESCRIPTION
|
|
|
496
536
|
point a channel at a new branch
|
|
497
537
|
```
|
|
498
538
|
|
|
499
|
-
_See code: [src/commands/channel/edit.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
539
|
+
_See code: [src/commands/channel/edit.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/channel/edit.ts)_
|
|
500
540
|
|
|
501
541
|
## `eas channel:list`
|
|
502
542
|
|
|
@@ -513,7 +553,7 @@ DESCRIPTION
|
|
|
513
553
|
list all channels
|
|
514
554
|
```
|
|
515
555
|
|
|
516
|
-
_See code: [src/commands/channel/list.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
556
|
+
_See code: [src/commands/channel/list.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/channel/list.ts)_
|
|
517
557
|
|
|
518
558
|
## `eas channel:view [NAME]`
|
|
519
559
|
|
|
@@ -533,7 +573,7 @@ DESCRIPTION
|
|
|
533
573
|
view a channel
|
|
534
574
|
```
|
|
535
575
|
|
|
536
|
-
_See code: [src/commands/channel/view.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
576
|
+
_See code: [src/commands/channel/view.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/channel/view.ts)_
|
|
537
577
|
|
|
538
578
|
## `eas config`
|
|
539
579
|
|
|
@@ -551,7 +591,7 @@ DESCRIPTION
|
|
|
551
591
|
display project configuration (app.json + eas.json)
|
|
552
592
|
```
|
|
553
593
|
|
|
554
|
-
_See code: [src/commands/config.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
594
|
+
_See code: [src/commands/config.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/config.ts)_
|
|
555
595
|
|
|
556
596
|
## `eas credentials`
|
|
557
597
|
|
|
@@ -565,7 +605,7 @@ DESCRIPTION
|
|
|
565
605
|
manage credentials
|
|
566
606
|
```
|
|
567
607
|
|
|
568
|
-
_See code: [src/commands/credentials.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
608
|
+
_See code: [src/commands/credentials.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/credentials.ts)_
|
|
569
609
|
|
|
570
610
|
## `eas device:create`
|
|
571
611
|
|
|
@@ -579,7 +619,7 @@ DESCRIPTION
|
|
|
579
619
|
register new Apple Devices to use for internal distribution
|
|
580
620
|
```
|
|
581
621
|
|
|
582
|
-
_See code: [src/commands/device/create.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
622
|
+
_See code: [src/commands/device/create.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/device/create.ts)_
|
|
583
623
|
|
|
584
624
|
## `eas device:delete`
|
|
585
625
|
|
|
@@ -597,7 +637,7 @@ DESCRIPTION
|
|
|
597
637
|
remove a registered device from your account
|
|
598
638
|
```
|
|
599
639
|
|
|
600
|
-
_See code: [src/commands/device/delete.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
640
|
+
_See code: [src/commands/device/delete.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/device/delete.ts)_
|
|
601
641
|
|
|
602
642
|
## `eas device:list`
|
|
603
643
|
|
|
@@ -614,7 +654,7 @@ DESCRIPTION
|
|
|
614
654
|
list all registered devices for your account
|
|
615
655
|
```
|
|
616
656
|
|
|
617
|
-
_See code: [src/commands/device/list.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
657
|
+
_See code: [src/commands/device/list.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/device/list.ts)_
|
|
618
658
|
|
|
619
659
|
## `eas device:view [UDID]`
|
|
620
660
|
|
|
@@ -628,7 +668,7 @@ DESCRIPTION
|
|
|
628
668
|
view a device for your project
|
|
629
669
|
```
|
|
630
670
|
|
|
631
|
-
_See code: [src/commands/device/view.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
671
|
+
_See code: [src/commands/device/view.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/device/view.ts)_
|
|
632
672
|
|
|
633
673
|
## `eas diagnostics`
|
|
634
674
|
|
|
@@ -642,7 +682,7 @@ DESCRIPTION
|
|
|
642
682
|
display environment info
|
|
643
683
|
```
|
|
644
684
|
|
|
645
|
-
_See code: [src/commands/diagnostics.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
685
|
+
_See code: [src/commands/diagnostics.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/diagnostics.ts)_
|
|
646
686
|
|
|
647
687
|
## `eas help [COMMAND]`
|
|
648
688
|
|
|
@@ -724,7 +764,7 @@ DESCRIPTION
|
|
|
724
764
|
generate the local store configuration from the app stores
|
|
725
765
|
```
|
|
726
766
|
|
|
727
|
-
_See code: [src/commands/metadata/pull.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
767
|
+
_See code: [src/commands/metadata/pull.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/metadata/pull.ts)_
|
|
728
768
|
|
|
729
769
|
## `eas metadata:push`
|
|
730
770
|
|
|
@@ -741,7 +781,7 @@ DESCRIPTION
|
|
|
741
781
|
sync the local store configuration to the app stores
|
|
742
782
|
```
|
|
743
783
|
|
|
744
|
-
_See code: [src/commands/metadata/push.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
784
|
+
_See code: [src/commands/metadata/push.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/metadata/push.ts)_
|
|
745
785
|
|
|
746
786
|
## `eas project:info`
|
|
747
787
|
|
|
@@ -755,7 +795,7 @@ DESCRIPTION
|
|
|
755
795
|
information about the current project
|
|
756
796
|
```
|
|
757
797
|
|
|
758
|
-
_See code: [src/commands/project/info.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
798
|
+
_See code: [src/commands/project/info.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/project/info.ts)_
|
|
759
799
|
|
|
760
800
|
## `eas project:init`
|
|
761
801
|
|
|
@@ -772,7 +812,7 @@ ALIASES
|
|
|
772
812
|
$ eas init
|
|
773
813
|
```
|
|
774
814
|
|
|
775
|
-
_See code: [src/commands/project/init.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
815
|
+
_See code: [src/commands/project/init.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/project/init.ts)_
|
|
776
816
|
|
|
777
817
|
## `eas secret:create`
|
|
778
818
|
|
|
@@ -792,7 +832,7 @@ DESCRIPTION
|
|
|
792
832
|
create an environment secret on the current project or owner account
|
|
793
833
|
```
|
|
794
834
|
|
|
795
|
-
_See code: [src/commands/secret/create.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
835
|
+
_See code: [src/commands/secret/create.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/secret/create.ts)_
|
|
796
836
|
|
|
797
837
|
## `eas secret:delete`
|
|
798
838
|
|
|
@@ -809,7 +849,7 @@ DESCRIPTION
|
|
|
809
849
|
delete an environment secret by ID
|
|
810
850
|
```
|
|
811
851
|
|
|
812
|
-
_See code: [src/commands/secret/delete.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
852
|
+
_See code: [src/commands/secret/delete.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/secret/delete.ts)_
|
|
813
853
|
|
|
814
854
|
## `eas secret:list`
|
|
815
855
|
|
|
@@ -823,7 +863,7 @@ DESCRIPTION
|
|
|
823
863
|
list environment secrets available for your current app
|
|
824
864
|
```
|
|
825
865
|
|
|
826
|
-
_See code: [src/commands/secret/list.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
866
|
+
_See code: [src/commands/secret/list.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/secret/list.ts)_
|
|
827
867
|
|
|
828
868
|
## `eas submit`
|
|
829
869
|
|
|
@@ -853,7 +893,7 @@ ALIASES
|
|
|
853
893
|
$ eas build:submit
|
|
854
894
|
```
|
|
855
895
|
|
|
856
|
-
_See code: [src/commands/submit.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
896
|
+
_See code: [src/commands/submit.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/submit.ts)_
|
|
857
897
|
|
|
858
898
|
## `eas update`
|
|
859
899
|
|
|
@@ -883,7 +923,7 @@ DESCRIPTION
|
|
|
883
923
|
publish an update group
|
|
884
924
|
```
|
|
885
925
|
|
|
886
|
-
_See code: [src/commands/update/index.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
926
|
+
_See code: [src/commands/update/index.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/update/index.ts)_
|
|
887
927
|
|
|
888
928
|
## `eas update:configure`
|
|
889
929
|
|
|
@@ -900,7 +940,7 @@ DESCRIPTION
|
|
|
900
940
|
configure the project to support EAS Update
|
|
901
941
|
```
|
|
902
942
|
|
|
903
|
-
_See code: [src/commands/update/configure.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
943
|
+
_See code: [src/commands/update/configure.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/update/configure.ts)_
|
|
904
944
|
|
|
905
945
|
## `eas update:delete GROUPID`
|
|
906
946
|
|
|
@@ -920,7 +960,7 @@ DESCRIPTION
|
|
|
920
960
|
delete all the updates in an update group
|
|
921
961
|
```
|
|
922
962
|
|
|
923
|
-
_See code: [src/commands/update/delete.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
963
|
+
_See code: [src/commands/update/delete.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/update/delete.ts)_
|
|
924
964
|
|
|
925
965
|
## `eas update:list`
|
|
926
966
|
|
|
@@ -939,7 +979,7 @@ DESCRIPTION
|
|
|
939
979
|
view the recent updates for a branch
|
|
940
980
|
```
|
|
941
981
|
|
|
942
|
-
_See code: [src/commands/update/list.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
982
|
+
_See code: [src/commands/update/list.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/update/list.ts)_
|
|
943
983
|
|
|
944
984
|
## `eas update:view GROUPID`
|
|
945
985
|
|
|
@@ -959,7 +999,7 @@ DESCRIPTION
|
|
|
959
999
|
update group details
|
|
960
1000
|
```
|
|
961
1001
|
|
|
962
|
-
_See code: [src/commands/update/view.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
1002
|
+
_See code: [src/commands/update/view.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/update/view.ts)_
|
|
963
1003
|
|
|
964
1004
|
## `eas webhook:create`
|
|
965
1005
|
|
|
@@ -979,7 +1019,7 @@ DESCRIPTION
|
|
|
979
1019
|
create a webhook
|
|
980
1020
|
```
|
|
981
1021
|
|
|
982
|
-
_See code: [src/commands/webhook/create.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
1022
|
+
_See code: [src/commands/webhook/create.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/webhook/create.ts)_
|
|
983
1023
|
|
|
984
1024
|
## `eas webhook:delete [ID]`
|
|
985
1025
|
|
|
@@ -996,7 +1036,7 @@ DESCRIPTION
|
|
|
996
1036
|
delete a webhook
|
|
997
1037
|
```
|
|
998
1038
|
|
|
999
|
-
_See code: [src/commands/webhook/delete.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
1039
|
+
_See code: [src/commands/webhook/delete.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/webhook/delete.ts)_
|
|
1000
1040
|
|
|
1001
1041
|
## `eas webhook:list`
|
|
1002
1042
|
|
|
@@ -1013,7 +1053,7 @@ DESCRIPTION
|
|
|
1013
1053
|
list webhooks
|
|
1014
1054
|
```
|
|
1015
1055
|
|
|
1016
|
-
_See code: [src/commands/webhook/list.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
1056
|
+
_See code: [src/commands/webhook/list.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/webhook/list.ts)_
|
|
1017
1057
|
|
|
1018
1058
|
## `eas webhook:update`
|
|
1019
1059
|
|
|
@@ -1034,7 +1074,7 @@ DESCRIPTION
|
|
|
1034
1074
|
update a webhook
|
|
1035
1075
|
```
|
|
1036
1076
|
|
|
1037
|
-
_See code: [src/commands/webhook/update.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
1077
|
+
_See code: [src/commands/webhook/update.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/webhook/update.ts)_
|
|
1038
1078
|
|
|
1039
1079
|
## `eas webhook:view ID`
|
|
1040
1080
|
|
|
@@ -1051,7 +1091,7 @@ DESCRIPTION
|
|
|
1051
1091
|
view a webhook
|
|
1052
1092
|
```
|
|
1053
1093
|
|
|
1054
|
-
_See code: [src/commands/webhook/view.ts](https://github.com/expo/eas-cli/blob/v0.
|
|
1094
|
+
_See code: [src/commands/webhook/view.ts](https://github.com/expo/eas-cli/blob/v0.60.0/packages/eas-cli/src/commands/webhook/view.ts)_
|
|
1055
1095
|
|
|
1056
1096
|
## `eas whoami`
|
|
1057
1097
|
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.prepareAndroidBuildAsync = exports.createAndroidContextAsync = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
6
|
+
const eas_json_1 = require("@expo/eas-json");
|
|
6
7
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
8
|
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
|
|
8
9
|
const AndroidCredentialsProvider_1 = tslib_1.__importDefault(require("../../credentials/android/AndroidCredentialsProvider"));
|
|
@@ -19,8 +20,9 @@ const validate_1 = require("../validate");
|
|
|
19
20
|
const graphql_2 = require("./graphql");
|
|
20
21
|
const prepareJob_1 = require("./prepareJob");
|
|
21
22
|
const syncProjectConfiguration_1 = require("./syncProjectConfiguration");
|
|
23
|
+
const version_1 = require("./version");
|
|
22
24
|
async function createAndroidContextAsync(ctx) {
|
|
23
|
-
var _a;
|
|
25
|
+
var _a, _b;
|
|
24
26
|
const { buildProfile } = ctx;
|
|
25
27
|
if (buildProfile.distribution === 'internal' && ((_a = buildProfile.gradleCommand) === null || _a === void 0 ? void 0 : _a.match(/bundle/))) {
|
|
26
28
|
log_1.default.addNewLineIfNone();
|
|
@@ -40,7 +42,16 @@ This means that it will most likely produce an AAB and you will not be able to i
|
|
|
40
42
|
await (0, applicationId_1.ensureApplicationIdIsDefinedForManagedProjectAsync)(ctx.projectDir, ctx.exp);
|
|
41
43
|
}
|
|
42
44
|
const applicationId = await (0, applicationId_1.getApplicationIdAsync)(ctx.projectDir, ctx.exp, gradleContext);
|
|
43
|
-
|
|
45
|
+
const versionCodeOverride = ((_b = ctx.easJsonCliConfig) === null || _b === void 0 ? void 0 : _b.appVersionSource) === eas_json_1.AppVersionSource.REMOTE
|
|
46
|
+
? await (0, version_1.resolveRemoteVersionCodeAsync)({
|
|
47
|
+
projectDir: ctx.projectDir,
|
|
48
|
+
projectId: ctx.projectId,
|
|
49
|
+
exp: ctx.exp,
|
|
50
|
+
applicationId,
|
|
51
|
+
buildProfile,
|
|
52
|
+
})
|
|
53
|
+
: undefined;
|
|
54
|
+
return { applicationId, gradleContext, versionCodeOverride };
|
|
44
55
|
}
|
|
45
56
|
exports.createAndroidContextAsync = createAndroidContextAsync;
|
|
46
57
|
async function prepareAndroidBuildAsync(ctx) {
|
|
@@ -50,10 +61,13 @@ async function prepareAndroidBuildAsync(ctx) {
|
|
|
50
61
|
return await ensureAndroidCredentialsAsync(ctx);
|
|
51
62
|
},
|
|
52
63
|
syncProjectConfigurationAsync: async () => {
|
|
64
|
+
var _a;
|
|
53
65
|
await (0, syncProjectConfiguration_1.syncProjectConfigurationAsync)({
|
|
54
66
|
projectDir: ctx.projectDir,
|
|
55
67
|
exp: ctx.exp,
|
|
56
|
-
|
|
68
|
+
localAutoIncrement: ((_a = ctx.easJsonCliConfig) === null || _a === void 0 ? void 0 : _a.appVersionSource) === eas_json_1.AppVersionSource.REMOTE
|
|
69
|
+
? false
|
|
70
|
+
: ctx.buildProfile.autoIncrement,
|
|
57
71
|
});
|
|
58
72
|
},
|
|
59
73
|
prepareJobAsync: async (ctx, jobData) => {
|
|
@@ -5,6 +5,7 @@ const eas_build_job_1 = require("@expo/eas-build-job");
|
|
|
5
5
|
const generated_1 = require("../../graphql/generated");
|
|
6
6
|
const graphql_1 = require("../graphql");
|
|
7
7
|
function transformJob(job) {
|
|
8
|
+
var _a;
|
|
8
9
|
return {
|
|
9
10
|
type: (0, graphql_1.transformWorkflow)(job.type),
|
|
10
11
|
projectArchive: (0, graphql_1.transformProjectArchive)(job.projectArchive),
|
|
@@ -14,6 +15,7 @@ function transformJob(job) {
|
|
|
14
15
|
secrets: job.secrets,
|
|
15
16
|
builderEnvironment: job.builderEnvironment,
|
|
16
17
|
cache: job.cache,
|
|
18
|
+
version: ((_a = job.version) === null || _a === void 0 ? void 0 : _a.versionCode) ? { versionCode: job.version.versionCode } : undefined,
|
|
17
19
|
gradleCommand: job.gradleCommand,
|
|
18
20
|
artifactPath: job.artifactPath,
|
|
19
21
|
username: job.username,
|
|
@@ -62,6 +62,11 @@ async function prepareJobAsync(ctx, jobData) {
|
|
|
62
62
|
artifactPath: buildProfile.artifactPath,
|
|
63
63
|
buildType,
|
|
64
64
|
username,
|
|
65
|
+
...(ctx.android.versionCodeOverride && {
|
|
66
|
+
version: {
|
|
67
|
+
versionCode: ctx.android.versionCodeOverride,
|
|
68
|
+
},
|
|
69
|
+
}),
|
|
65
70
|
experimental: {
|
|
66
71
|
prebuildCommand: ctx.buildProfile.prebuildCommand,
|
|
67
72
|
},
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { ExpoConfig } from '@expo/config';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export declare function syncProjectConfigurationAsync({ projectDir, exp, buildProfile, }: {
|
|
2
|
+
import { AndroidVersionAutoIncrement } from '@expo/eas-json';
|
|
3
|
+
export declare function syncProjectConfigurationAsync({ projectDir, exp, localAutoIncrement, }: {
|
|
5
4
|
projectDir: string;
|
|
6
5
|
exp: ExpoConfig;
|
|
7
|
-
|
|
6
|
+
localAutoIncrement?: AndroidVersionAutoIncrement;
|
|
8
7
|
}): Promise<void>;
|
|
9
8
|
export declare function cleanUpOldEasBuildGradleScriptAsync(projectDir: string): Promise<void>;
|
|
@@ -12,10 +12,9 @@ const projectUtils_1 = require("../../project/projectUtils");
|
|
|
12
12
|
const workflow_1 = require("../../project/workflow");
|
|
13
13
|
const UpdatesModule_1 = require("../../update/android/UpdatesModule");
|
|
14
14
|
const version_1 = require("./version");
|
|
15
|
-
async function syncProjectConfigurationAsync({ projectDir, exp,
|
|
15
|
+
async function syncProjectConfigurationAsync({ projectDir, exp, localAutoIncrement, }) {
|
|
16
16
|
const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID);
|
|
17
|
-
const
|
|
18
|
-
const versionBumpStrategy = resolveVersionBumpStrategy(autoIncrement !== null && autoIncrement !== void 0 ? autoIncrement : false);
|
|
17
|
+
const versionBumpStrategy = resolveVersionBumpStrategy(localAutoIncrement !== null && localAutoIncrement !== void 0 ? localAutoIncrement : false);
|
|
19
18
|
if (workflow === eas_build_job_1.Workflow.GENERIC) {
|
|
20
19
|
await cleanUpOldEasBuildGradleScriptAsync(projectDir);
|
|
21
20
|
if ((0, projectUtils_1.isExpoUpdatesInstalled)(projectDir)) {
|
|
@@ -25,3 +25,14 @@ export declare function updateNativeVersionsAsync({ projectDir, version, version
|
|
|
25
25
|
version?: string;
|
|
26
26
|
versionCode?: number;
|
|
27
27
|
}): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Returns buildNumber that will be used for the next build. If current build profile
|
|
30
|
+
* has an 'autoIncrement' option set, it increments the version on server.
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveRemoteVersionCodeAsync({ projectDir, projectId, exp, applicationId, buildProfile, }: {
|
|
33
|
+
projectDir: string;
|
|
34
|
+
projectId: string;
|
|
35
|
+
exp: ExpoConfig;
|
|
36
|
+
applicationId: string;
|
|
37
|
+
buildProfile: BuildProfile<Platform.ANDROID>;
|
|
38
|
+
}): Promise<string>;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateNativeVersionsAsync = exports.maybeResolveVersionsAsync = exports.bumpVersionInAppJsonAsync = exports.bumpVersionAsync = exports.BumpStrategy = void 0;
|
|
3
|
+
exports.resolveRemoteVersionCodeAsync = exports.updateNativeVersionsAsync = exports.maybeResolveVersionsAsync = exports.bumpVersionInAppJsonAsync = exports.bumpVersionAsync = exports.BumpStrategy = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const config_plugins_1 = require("@expo/config-plugins");
|
|
6
6
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
7
7
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
8
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
9
|
+
const generated_1 = require("../../graphql/generated");
|
|
10
|
+
const AppVersionMutation_1 = require("../../graphql/mutations/AppVersionMutation");
|
|
11
|
+
const AppVersionQuery_1 = require("../../graphql/queries/AppVersionQuery");
|
|
9
12
|
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
13
|
+
const ora_1 = require("../../ora");
|
|
10
14
|
const gradleUtils_1 = require("../../project/android/gradleUtils");
|
|
11
15
|
const versions_1 = require("../../project/android/versions");
|
|
12
16
|
const workflow_1 = require("../../project/workflow");
|
|
@@ -112,3 +116,69 @@ async function writeBuildGradleAsync({ projectDir, buildGradle, }) {
|
|
|
112
116
|
const buildGradlePath = config_plugins_1.AndroidConfig.Paths.getAppBuildGradleFilePath(projectDir);
|
|
113
117
|
await fs_extra_1.default.writeFile(buildGradlePath, buildGradle);
|
|
114
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Returns buildNumber that will be used for the next build. If current build profile
|
|
121
|
+
* has an 'autoIncrement' option set, it increments the version on server.
|
|
122
|
+
*/
|
|
123
|
+
async function resolveRemoteVersionCodeAsync({ projectDir, projectId, exp, applicationId, buildProfile, }) {
|
|
124
|
+
var _a, _b, _c, _d, _e, _f;
|
|
125
|
+
const remoteVersions = await AppVersionQuery_1.AppVersionQuery.latestVersionAsync(projectId, generated_1.AppPlatform.Android, applicationId);
|
|
126
|
+
const localVersions = await maybeResolveVersionsAsync(projectDir, exp, buildProfile);
|
|
127
|
+
let currentBuildVersion;
|
|
128
|
+
if (remoteVersions === null || remoteVersions === void 0 ? void 0 : remoteVersions.buildVersion) {
|
|
129
|
+
currentBuildVersion = remoteVersions.buildVersion;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
if (localVersions.appBuildVersion) {
|
|
133
|
+
log_1.default.warn('No remote versions are configured for this project, versionCode will be initialized based on the value from the local project.');
|
|
134
|
+
currentBuildVersion = localVersions.appBuildVersion;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
log_1.default.error(`Remote versions are not configured and EAS CLI was not able to read the current version from your project. Use "eas build:version:set" to initialize remote versions.`);
|
|
138
|
+
throw new Error('Remote versions are not configured.');
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (!buildProfile.autoIncrement && (remoteVersions === null || remoteVersions === void 0 ? void 0 : remoteVersions.buildVersion)) {
|
|
142
|
+
return currentBuildVersion;
|
|
143
|
+
}
|
|
144
|
+
else if (!buildProfile.autoIncrement && !(remoteVersions === null || remoteVersions === void 0 ? void 0 : remoteVersions.buildVersion)) {
|
|
145
|
+
const spinner = (0, ora_1.ora)(`Initializing versionCode with ${chalk_1.default.bold(currentBuildVersion)}.`).start();
|
|
146
|
+
try {
|
|
147
|
+
await AppVersionMutation_1.AppVersionMutation.createAppVersionAsync({
|
|
148
|
+
appId: projectId,
|
|
149
|
+
platform: generated_1.AppPlatform.Android,
|
|
150
|
+
applicationIdentifier: applicationId,
|
|
151
|
+
storeVersion: (_b = (_a = localVersions.appVersion) !== null && _a !== void 0 ? _a : exp.version) !== null && _b !== void 0 ? _b : '1.0.0',
|
|
152
|
+
buildVersion: currentBuildVersion,
|
|
153
|
+
runtimeVersion: (_c = config_plugins_1.Updates.getRuntimeVersionNullable(exp, eas_build_job_1.Platform.ANDROID)) !== null && _c !== void 0 ? _c : undefined,
|
|
154
|
+
});
|
|
155
|
+
spinner.succeed(`Initialized versionCode with ${chalk_1.default.bold(currentBuildVersion)}.`);
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
spinner.fail(`Failed to initialize versionCode with ${chalk_1.default.bold(currentBuildVersion)}.`);
|
|
159
|
+
throw err;
|
|
160
|
+
}
|
|
161
|
+
return currentBuildVersion;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const nextBuildVersion = (0, versions_1.getNextVersionCode)(currentBuildVersion);
|
|
165
|
+
const spinner = (0, ora_1.ora)(`Incrementing versionCode from ${chalk_1.default.bold(currentBuildVersion)} to ${chalk_1.default.bold(nextBuildVersion)}.`).start();
|
|
166
|
+
try {
|
|
167
|
+
await AppVersionMutation_1.AppVersionMutation.createAppVersionAsync({
|
|
168
|
+
appId: projectId,
|
|
169
|
+
platform: generated_1.AppPlatform.Android,
|
|
170
|
+
applicationIdentifier: applicationId,
|
|
171
|
+
storeVersion: (_e = (_d = localVersions.appVersion) !== null && _d !== void 0 ? _d : exp.version) !== null && _e !== void 0 ? _e : '1.0.0',
|
|
172
|
+
buildVersion: String(nextBuildVersion),
|
|
173
|
+
runtimeVersion: (_f = config_plugins_1.Updates.getRuntimeVersionNullable(exp, eas_build_job_1.Platform.ANDROID)) !== null && _f !== void 0 ? _f : undefined,
|
|
174
|
+
});
|
|
175
|
+
spinner.succeed(`Incremented versionCode from ${chalk_1.default.bold(currentBuildVersion)} to ${chalk_1.default.bold(nextBuildVersion)}.`);
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
spinner.fail(`Failed to increment versionCode from ${chalk_1.default.bold(currentBuildVersion)} to ${chalk_1.default.bold(nextBuildVersion)}.`);
|
|
179
|
+
throw err;
|
|
180
|
+
}
|
|
181
|
+
return String(nextBuildVersion);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.resolveRemoteVersionCodeAsync = resolveRemoteVersionCodeAsync;
|
package/build/build/build.js
CHANGED
|
@@ -64,7 +64,7 @@ async function prepareBuildRequestForPlatformAsync(builder) {
|
|
|
64
64
|
});
|
|
65
65
|
return async () => {
|
|
66
66
|
if (ctx.localBuildOptions.enable) {
|
|
67
|
-
await (0, local_1.runLocalBuildAsync)(job, ctx.localBuildOptions);
|
|
67
|
+
await (0, local_1.runLocalBuildAsync)(job, metadata, ctx.localBuildOptions);
|
|
68
68
|
return undefined;
|
|
69
69
|
}
|
|
70
70
|
else {
|