-
Notifications
You must be signed in to change notification settings - Fork 4
/
package-build.os
68 lines (56 loc) · 4.18 KB
/
package-build.os
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Процедура ВыполнитьОбработку(ПутьКТекущемуКаталогу)
Сообщить("-----------------------------------");
Сообщить("НАЧАЛО ВЫПОЛНЕНИЯ ОБРАБОТКИ ""package-build""");
Сообщить("-----------------------------------");
// Получим версию библиотек
ФайлНастроек = Новый Файл(ОбъединитьПути(ПутьКТекущемуКаталогу,"packagedef"));
Если Не ФайлНастроек.Существует() Тогда
Сообщить("ОШИБКА: Не найден файл packagedef");
Возврат;
КонецЕсли;
ЧтениеТекста = Новый ЧтениеТекста(ФайлНастроек.ПолноеИмя);
ТекущаяСтрока = ЧтениеТекста.ПрочитатьСтроку();
Версия = 0;
Пока ТекущаяСтрока <> Неопределено Цикл
ТекущаяСтрока = СокрЛП(ТекущаяСтрока);
Если Лев(ТекущаяСтрока,7) = ".Версия" Тогда
Версия = Сред(ТекущаяСтрока,10);
Версия = Лев(Версия,СтрДлина(Версия)- 2);
ИначеЕсли Лев(ТекущаяСтрока,13) = ".Версия" Тогда
Версия = Сред(ТекущаяСтрока,16);
Версия = Лев(Версия,СтрДлина(Версия)- 2);
КонецЕсли;
ТекущаяСтрока = ЧтениеТекста.ПрочитатьСтроку();
КонецЦикла;
Если Версия = 0 Тогда
Сообщить("ОШИБКА: Не удалость получить версию библиотек");
Возврат;
КонецЕсли;
Сообщить("Версия пакета для установки: " + Версия);
// Удалим старые файлы
ПутьККаталогуСДистрибутивами = ОбъединитьПути(ПутьКТекущемуКаталогу,"Distr");
ФайлыУстановки = НайтиФайлы(ПутьККаталогуСДистрибутивами,"*.ospx",Ложь);
Для Каждого ФайлУстановки ИЗ ФайлыУстановки Цикл
УдалитьФайлы(ФайлУстановки.ПолноеИмя);
Сообщить("Удален старый файл поставки: " + ФайлУстановки.ПолноеИмя);
КонецЦикла;
ПутьККаталогуСБиблиотеками = СокрЛП(ОбъединитьПути(ПутьКТекущемуКаталогу,"Tlib"));
КодВозврата = 0;
Команда = "oscript ""C:\Program Files (x86)\OneScript\lib\opm\src\opm.os"" build """ + ПутьККаталогуСБиблиотеками + """ -mf """ + ФайлНастроек.ПолноеИмя + """ -out """ + СокрЛП(ПутьККаталогуСДистрибутивами) + """";
ЗапуститьПриложение(Команда,,Истина,КодВозврата);
Если КодВозврата <> 0 Тогда
Сообщить("ОШИБКА: Не сформирован файл поставки, код ошибки: " + КодВозврата);
Возврат;
КонецЕсли;
ФайлУстановки = Новый файл(ОбъединитьПути(ПутьККаталогуСДистрибутивами,"Tlib-" + Версия + ".ospx"));
Если Не ФайлУстановки.Существует() Тогда
Сообщить("ОШИБКА: Не сформирован файл поставки");
Возврат;
КонецЕсли;
Сообщить("Сформирован файл поставки: " + ФайлУстановки.ПолноеИмя);
Сообщить("-----------------------------------");
Сообщить("УСПЕШНОЕ ВЫПОЛНЕНИЕ ОБРАБОТКИ ""package-build!""");
Сообщить("-----------------------------------");
КонецПроцедуры
ПутьКТекущемуКаталогу = ТекущийСценарий().Каталог;
ВыполнитьОбработку(ПутьКТекущемуКаталогу);