@@ -431,6 +431,9 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService {
431431 const projectRuntimeVersion = platformData . platformProjectService . getFrameworkVersion (
432432 projectData
433433 ) ;
434+ runtimeGradleVersions = await this . getGradleVersions (
435+ projectRuntimeVersion
436+ ) ;
434437 this . $logger . trace (
435438 `Got gradle versions ${ JSON . stringify (
436439 runtimeGradleVersions
@@ -481,15 +484,39 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService {
481484 runtimeVersion : string
482485 ) : Promise < IRuntimeGradleVersions > {
483486 let runtimeGradleVersions : {
484- gradle : { version : string ; android : string } ;
487+ versions : { gradle : string ; gradleAndroid : string } ;
485488 } = null ;
486489
487490 try {
488- const output = await this . $packageManager . view (
491+ let output = await this . $packageManager . view (
489492 `${ SCOPED_ANDROID_RUNTIME_NAME } @${ runtimeVersion } ` ,
490- { gradle : true }
493+ { version_info : true }
491494 ) ;
492- runtimeGradleVersions = { gradle : output } ;
495+
496+ if ( ! output ) {
497+ /**
498+ * fallback to the old 'gradle' key in package.json
499+ *
500+ * format:
501+ *
502+ * gradle: { version: '6.4', android: '3.6.4' }
503+ *
504+ */
505+ output = await this . $packageManager . view (
506+ `${ SCOPED_ANDROID_RUNTIME_NAME } @${ runtimeVersion } ` ,
507+ { gradle : true }
508+ ) ;
509+
510+ const { version, android } = output ;
511+
512+ // covert output to the new format...
513+ output = {
514+ gradle : version ,
515+ gradleAndroid : android ,
516+ } ;
517+ }
518+
519+ runtimeGradleVersions = { versions : output } ;
493520 } catch ( err ) {
494521 this . $logger . trace (
495522 `Error while getting gradle data for android runtime from view command: ${ err } `
@@ -505,17 +532,18 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService {
505532 }
506533
507534 private getGradleVersionsCore ( packageData : {
508- gradle : { version : string ; android : string } ;
535+ versions : { gradle : string ; gradleAndroid : string } ;
509536 } ) : IRuntimeGradleVersions {
510- const packageJsonGradle = packageData && packageData . gradle ;
537+ const packageJsonGradle = packageData && packageData . versions ;
511538 let runtimeVersions : IRuntimeGradleVersions = null ;
512539 if (
513540 packageJsonGradle &&
514- ( packageJsonGradle . version || packageJsonGradle . android )
541+ ( packageJsonGradle . gradle || packageJsonGradle . gradleAndroid )
515542 ) {
516543 runtimeVersions = { } ;
517- runtimeVersions . gradleVersion = packageJsonGradle . version ;
518- runtimeVersions . gradleAndroidPluginVersion = packageJsonGradle . android ;
544+ runtimeVersions . gradleVersion = packageJsonGradle . gradle ;
545+ runtimeVersions . gradleAndroidPluginVersion =
546+ packageJsonGradle . gradleAndroid ;
519547 }
520548
521549 return runtimeVersions ;
0 commit comments