Skip to content

Commit 2d6d1e6

Browse files
authored
Merge pull request #36 from sfaqer/feature/macOS-arm
feat: Обновление версии OVM до 1.5.0 и добавление поддержки osx-arm64
2 parents 5a8563b + f1a6f92 commit 2d6d1e6

File tree

4 files changed

+64
-16
lines changed

4 files changed

+64
-16
lines changed

.github/workflows/release.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Release OVM
2+
3+
on:
4+
release:
5+
types: [published]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- name: Set up OneScript 1.9.2
17+
uses: otymko/setup-onescript@v1.5
18+
with:
19+
version: 1.9.2
20+
21+
- name: Update opm
22+
run: opm install opm@1.3.0
23+
24+
- name: Install local dependencies
25+
run: opm install -l
26+
27+
- name: Build ovm.exe
28+
run: oscript -make src/cmd/ovm.os ovm.exe
29+
30+
- name: Upload ovm.exe to release assets
31+
uses: AButler/upload-release-assets@v2.0.2
32+
with:
33+
files: ovm.exe
34+
repo-token: ${{ secrets.GITHUB_TOKEN }}

packagedef

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
Описание.Имя("ovm")
2-
.Версия("1.4.0")
2+
.Версия("1.5.0")
33
.Автор("Nikita Gryzlov")
44
.АдресАвтора("nixel2007@gmail.com")
55
.Описание("OneScript Version Manager")
6-
.ВерсияСреды("1.0.20")
6+
.ВерсияСреды("1.9.2")
77
.ЗависитОт("json")
88
.ЗависитОт("1commands", "1.3.2")
99
.ЗависитОт("fluent", "0.6.1")
@@ -14,6 +14,7 @@
1414
.ЗависитОт("autumn-logos", "1.1.1")
1515
.ЗависитОт("autumn-cli", "1.0.5")
1616
.ЗависитОт("collectionos", "0.3.0")
17+
.ЗависитОт("cpuinfo", "1.1.0")
1718
.РазработкаЗависитОт("1bdd", "1.13.0")
1819
.ИсполняемыйФайл("src/cmd/ovm.os", "ovm")
1920
;

src/core/Классы/ПараметрыПриложения.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
КонецФункции
1313

1414
Функция ВерсияПриложения() Экспорт
15-
Возврат "1.4.0";
15+
Возврат "1.5.0";
1616
КонецФункции

src/core/Классы/УстановщикOneScript.os

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#Использовать fs
33
#Использовать tempfiles
44
#Использовать strings
5+
#Использовать cpuinfo
56

67
Перем ЭтоWindows;
78

@@ -341,8 +342,7 @@
341342
Если ЭтоВерсия2 И ИспользоватьFDD Тогда
342343
ИмяФайла = "fdd";
343344
ИначеЕсли ЭтоВерсия2 Тогда
344-
СистемнаяИнформация = Новый СистемнаяИнформация;
345-
ИмяФайла = ТипДистрибутиваПоТипуПлатформы().Получить(СистемнаяИнформация.ТипПлатформы);
345+
ИмяФайла = ТипДистрибутиваТекущейПлатформы();
346346
Иначе
347347
ИмяФайла = "zip";
348348
КонецЕсли;
@@ -357,23 +357,36 @@
357357

358358
Ресурс = СтрСоединить(ЧастиПути, "/");
359359
Возврат Ресурс;
360-
360+
361361
КонецФункции
362362

363-
Функция ТипДистрибутиваПоТипуПлатформы()
363+
Функция ТипДистрибутиваТекущейПлатформы()
364364

365-
Результат = Новый Соответствие;
365+
СистемнаяИнформация = Новый СистемнаяИнформация;
366+
ТекущаяПлатформа = СистемнаяИнформация.ТипПлатформы;
366367

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 Тогда
373376

374-
// TODO: Как определить что это MacOS_ARM? osx-arm64
377+
ИнформацияОПроцессоре = Новый ИнформацияОПроцессоре;
378+
АрхитектураПроцессора = ИнформацияОПроцессоре.Архитектура;
375379

376-
Возврат Результат;
380+
Если АрхитектураПроцессора = АрхитектурыПроцессоров.ARM
381+
Или АрхитектураПроцессора = АрхитектурыПроцессоров.ARM64 Тогда
382+
Возврат "osx-arm64";
383+
Иначе
384+
Возврат "osx-x64";
385+
КонецЕсли;
386+
387+
Иначе
388+
ВызватьИсключение "Не удалось определить текущую операционную систему";
389+
КонецЕсли;
377390

378391
КонецФункции
379392

0 commit comments

Comments
 (0)