|
2 | 2 | #Использовать fs |
3 | 3 | #Использовать tempfiles |
4 | 4 | #Использовать strings |
| 5 | +#Использовать cpuinfo |
5 | 6 |
|
6 | 7 | Перем ЭтоWindows; |
7 | 8 |
|
|
341 | 342 | Если ЭтоВерсия2 И ИспользоватьFDD Тогда |
342 | 343 | ИмяФайла = "fdd"; |
343 | 344 | ИначеЕсли ЭтоВерсия2 Тогда |
344 | | - СистемнаяИнформация = Новый СистемнаяИнформация; |
345 | | - ИмяФайла = ТипДистрибутиваПоТипуПлатформы().Получить(СистемнаяИнформация.ТипПлатформы); |
| 345 | + ИмяФайла = ТипДистрибутиваТекущейПлатформы(); |
346 | 346 | Иначе |
347 | 347 | ИмяФайла = "zip"; |
348 | 348 | КонецЕсли; |
|
357 | 357 |
|
358 | 358 | Ресурс = СтрСоединить(ЧастиПути, "/"); |
359 | 359 | Возврат Ресурс; |
360 | | - |
| 360 | + |
361 | 361 | КонецФункции |
362 | 362 |
|
363 | | -Функция ТипДистрибутиваПоТипуПлатформы() |
| 363 | +Функция ТипДистрибутиваТекущейПлатформы() |
364 | 364 |
|
365 | | - Результат = Новый Соответствие; |
| 365 | + СистемнаяИнформация = Новый СистемнаяИнформация; |
| 366 | + ТекущаяПлатформа = СистемнаяИнформация.ТипПлатформы; |
366 | 367 |
|
367 | | - Результат.Вставить(ТипПлатформы.Windows_x86_64, "scd-win"); |
368 | | - Результат.Вставить(ТипПлатформы.Windows_x86, "scd-win"); |
369 | | - Результат.Вставить(ТипПлатформы.Linux_x86_64, "scd-lin"); |
370 | | - Результат.Вставить(ТипПлатформы.Linux_x86, "scd-lin"); |
371 | | - Результат.Вставить(ТипПлатформы.MacOS_x86_64, "osx-x64"); |
372 | | - Результат.Вставить(ТипПлатформы.MacOS_x86, "osx-x64"); |
| 368 | + Если ТекущаяПлатформа = ТипПлатформы.Windows_x86_64 |
| 369 | + Или ТекущаяПлатформа = ТипПлатформы.Windows_x86 Тогда |
| 370 | + Возврат "scd-win"; |
| 371 | + ИначеЕсли ТекущаяПлатформа = ТипПлатформы.Linux_x86_64 |
| 372 | + Или ТекущаяПлатформа = ТипПлатформы.Linux_x86 Тогда |
| 373 | + Возврат "scd-lin"; |
| 374 | + ИначеЕсли ТекущаяПлатформа = ТипПлатформы.MacOS_x86_64 |
| 375 | + Или ТекущаяПлатформа = ТипПлатформы.MacOS_x86 Тогда |
373 | 376 |
|
374 | | - // TODO: Как определить что это MacOS_ARM? osx-arm64 |
| 377 | + ИнформацияОПроцессоре = Новый ИнформацияОПроцессоре; |
| 378 | + АрхитектураПроцессора = ИнформацияОПроцессоре.Архитектура; |
375 | 379 |
|
376 | | - Возврат Результат; |
| 380 | + Если АрхитектураПроцессора = АрхитектурыПроцессоров.ARM |
| 381 | + Или АрхитектураПроцессора = АрхитектурыПроцессоров.ARM64 Тогда |
| 382 | + Возврат "osx-arm64"; |
| 383 | + Иначе |
| 384 | + Возврат "osx-x64"; |
| 385 | + КонецЕсли; |
| 386 | + |
| 387 | + Иначе |
| 388 | + ВызватьИсключение "Не удалось определить текущую операционную систему"; |
| 389 | + КонецЕсли; |
377 | 390 |
|
378 | 391 | КонецФункции |
379 | 392 |
|
|
0 commit comments