Skip to content

Commit

Permalink
Merge branch 'release/v0.15.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Sep 30, 2018
2 parents e38219d + 1947399 commit 39a7b3a
Show file tree
Hide file tree
Showing 9 changed files with 363 additions and 218 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ src/oscript.cfg
src/cmd/oscript\.cfg
exec.log
test-reports/tests.xml
tests.xml
45 changes: 45 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
// "_runner": "terminal",
"windows": {
"command": "cmd",
"args": ["/c", "chcp 65001 && "]
},
"linux": {
"command": "sh",
"args": ["-c"]
},
"type": "shell",
"suppressTaskName": true,
"tasks": [
{
"label": "Full testing",
"args": [
"oscript",
"${workspaceRoot}/tasks/test.os"
],
"group": {
"kind": "build",
"isDefault": true
},
// "presentation": {
// "echo": true,
// "reveal": "always",
// "focus": false,
// "panel": "shared",
// "showReuseMessage": true
// },
"problemMatcher": {
"fileLocation": "absolute",
"pattern": {
"regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
"file": 1,
"location": 2,
"message": 3
}
}
}
]
}
55 changes: 46 additions & 9 deletions packagedef
Original file line number Diff line number Diff line change
@@ -1,4 +1,32 @@

////////////////////////////////////////////////////////////
// Описание пакета для сборки и установки
// Полную документацию см. на hub.oscript.io/packaging
//

///////////////////////////////////////////////////////////////////
// Процедуры установки пакета с клиентской машины
///////////////////////////////////////////////////////////////////

// Вызывается пакетным менеджером перед установкой пакета на клиентскую машину.
//
// Параметры:
// КаталогУстановкиПакета - строка. Путь в который пакетный менеджер устанавливает текущий пакет.
// ЧтениеZipФайла - ЧтениеZipФайла. Архив пакета.
//
Процедура ПередУстановкой(Знач КаталогУстановкиПакета, Знач ЧтениеZipФайла) Экспорт

КонецПроцедуры

// Вызывается пакетным менеджером после распаковки пакета на клиентскую машину.
//
// Параметры:
// КаталогУстановкиПакета - строка. Путь в который пакетный менеджер устанавливает текущий пакет.
//
Процедура ПриУстановке(Знач КаталогУстановкиПакета, СтандартнаяОбработка) Экспорт

КонецПроцедуры

Процедура ПередСборкой(Знач РабочийКаталог) Экспорт

КаталогМодулей = ОбъединитьПути(РабочийКаталог, "oscript_modules");
Expand All @@ -14,37 +42,46 @@

СтрокаЗапуска = СтрШаблон("%1 install -l", ИмяУтилиты);
ВыполнитьОбязательныйШаг(СтрокаЗапуска, РабочийКаталог);

СобираемаяВерсия = Описание.Свойства().Версия;
Если СобираемаяВерсия = "0.14.4" Тогда
УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "gitrunner"));
СтрокаЗапуска = "oscript src/cmd/opm.os install -l";
ВыполнитьОбязательныйШаг(СтрокаЗапуска, РабочийКаталог);

// Подчищаем за 1bdd
// TODO: сделать зависимости этапа разработки
УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "bin"));
УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "1bdd"));

КонецЕсли;

КонецПроцедуры

Процедура ВыполнитьОбязательныйШаг(Знач СтрокаЗапуска, Знач РабочийКаталог)
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог);
Процесс.Запустить();
Процесс.ОжидатьЗавершения();

Если Процесс.КодВозврата <> 0 Тогда
ВызватьИсключение "Ошибка сборки пакета";
КонецЕсли;
КонецПроцедуры

ПутьКСценариюКонстант = ОбъединитьПути(ТекущийСценарий().Каталог, "src/core", "Модули", "КонстантыOpm.os");
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);

// специальная заглушка для правильной компиляции packagedef при первых действий при установке пакета,
// когда еще не извлечено никаких файлов пакет
ФайлКонстант = Новый Файл(ПутьКСценариюКонстант);
Если ФайлКонстант.Существует() Тогда
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);
ВерсияПродукта = Константы_ЛокальнаяВерсия.ВерсияПродукта;
Иначе
ВерсияПродукта = "1.0.0";
КонецЕсли;

Описание.Имя("opm")
.Версия(Константы_ЛокальнаяВерсия.ВерсияПродукта)
.Версия(ВерсияПродукта)
.ВерсияСреды("1.0.19")
.ЗависитОт("fs", "0.5.0")
.ЗависитОт("asserts", "0.4.0")
Expand All @@ -54,9 +91,9 @@
.ЗависитОт("cli", "0.9.10")
.ЗависитОт("tempfiles", "0.2.2")
.ЗависитОт("gitrunner", "1.5.1")
.ВключитьФайл("packagedef")
.ВключитьФайл("src")
.ВключитьФайл("oscript_modules")
.ВключитьФайл("packagedef")
.ОпределяетКласс("КэшУстановленныхПакетов", "src/core/Классы/КэшУстановленныхПакетов.os")
.ОпределяетКласс("МенеджерПолученияПакетов", "src/core/Классы/МенеджерПолученияПакетов.os")
.ОпределяетКласс("МенеджерУстановкиПакетов", "src/core/Классы/МенеджерУстановкиПакетов.os")
Expand All @@ -71,4 +108,4 @@
.ОпределяетМодуль("РаботаСОписаниемПакета", "src/core/Модули/РаботаСОписаниемПакета.os")
.ОпределяетМодуль("РаботаСПакетами", "src/core/Модули/РаботаСПакетами.os")
.ОпределяетМодуль("РежимУстановкиПакетов", "src/core/Модули/РежимУстановкиПакетов.os")
.ИсполняемыйФайл("src/cmd/opm.os");
.ИсполняемыйФайл("src/cmd/opm.os");
Loading

0 comments on commit 39a7b3a

Please sign in to comment.