resolveArchitecture method

String resolveArchitecture()

Converts the kernel architecture into one of the architecture names use by: https://dart.cn/tools/sdk/archive

Implementation

String resolveArchitecture() {
  if (Platform.isMacOS) {
    return 'x64';
  } else if (Platform.isWindows) {
    if (SysInfo.kernelBitness == 32) {
      return 'ia32';
    } else {
      return 'x64';
    }
  } else // linux
  {
    final architecture = SysInfo.kernelArchitecture;
    if (architecture == ProcessorArchitecture.arm64) {
      return 'ARMv8';
    } else if (architecture == ProcessorArchitecture.arm) {
      return 'ARMv7';
    } else if (architecture == ProcessorArchitecture.ia64) {
      return 'X64';
    } else if (architecture == ProcessorArchitecture.mips) {
      throw const OSError('Mips is not a supported architecture.');
    } else if (architecture == ProcessorArchitecture.x86) {
      return 'ia32';
    } else if (architecture == ProcessorArchitecture.x86_64) {
      return 'x64';
    }
    throw OSError(
        '${SysInfo.rawKernelArchitecture} is not a supported architecture.');
  }
}