private static getRuntimeIdHelper()

in src/models/platform.ts [261:320]


    private static getRuntimeIdHelper(distributionName: string, distributionVersion: string): Runtime {
        switch (distributionName) {
            case 'arch':
            case 'antergos':
                // NOTE: currently Arch Linux seems to be compatible enough with Ubuntu 16 that this works,
                // though in the future this may need to change as Arch follows a rolling release model.
                return Runtime.Ubuntu_16;
            case 'ubuntu':
                if (distributionVersion.startsWith('14')) {
                    // This also works for Linux Mint
                    return Runtime.Ubuntu_14;
                } else if (distributionVersion.startsWith('16')) {
                    return Runtime.Ubuntu_16;
                }

                break;
            case 'elementary':
            case 'elementary OS':
                if (distributionVersion.startsWith('0.3')) {
                    // Elementary OS 0.3 Freya is binary compatible with Ubuntu 14.04
                    return Runtime.Ubuntu_14;
                } else if (distributionVersion.startsWith('0.4')) {
                    // Elementary OS 0.4 Loki is binary compatible with Ubuntu 16.04
                    return Runtime.Ubuntu_16;
                }

                break;
            case 'linuxmint':
                if (distributionVersion.startsWith('18') || distributionVersion.startsWith('19')) {
                    // Linux Mint 18 is binary compatible with Ubuntu 16.04
                    return Runtime.Ubuntu_16;
                }

                break;
            case 'centos':
            case 'ol':
                // Oracle Linux is binary compatible with CentOS
                return Runtime.CentOS_7;
            case 'fedora':
                return Runtime.Fedora_23;
            case 'opensuse':
                return Runtime.OpenSUSE_13_2;
            case 'sles':
                return Runtime.SLES_12_2;
            case 'rhel':
                return Runtime.RHEL_7;
            case 'debian':
            case 'deepin':
                return Runtime.Debian_8;
            case 'galliumos':
                if (distributionVersion.startsWith('2.0')) {
                    return Runtime.Ubuntu_16;
                }
                break;
            default:
                return Runtime.Ubuntu_16;
        }

        return Runtime.Ubuntu_16;
    }