mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-29 02:57:35 +02:00
164 lines
5.1 KiB
Plaintext
164 lines
5.1 KiB
Plaintext
#Использовать "../../src/en/cli/data"
|
|
|
|
Перем Версия;
|
|
Перем ТекущийФайл;
|
|
Перем ТаблицаПараметров;
|
|
Перем Модули;
|
|
|
|
#Область Основа
|
|
|
|
Процедура ПриСозданииОбъекта()
|
|
|
|
ТекущийСоставБиблиотеки = Новый СоставБиблиотеки();
|
|
|
|
ТаблицаПараметров = ТекущийСоставБиблиотеки.ПолучитьПолныйСостав();
|
|
Версия = ТекущийСоставБиблиотеки.ПолучитьВерсию();
|
|
Модули = ТекущийСоставБиблиотеки.ПолучитьСоответствиеКомандМодулей();
|
|
|
|
СоздатьОсновнойФайл();
|
|
|
|
КонецПроцедуры
|
|
|
|
Процедура СоздатьОсновнойФайл()
|
|
|
|
ТекущийФайл = Новый ТекстовыйДокумент();
|
|
|
|
СформироватьОпределения();
|
|
СформироватьПроцесс();
|
|
|
|
Текст = ТекущийФайл.ПолучитьТекст();
|
|
ПолучитьДвоичныеДанныеИзСтроки(Текст).Записать("./ci/clitesten");
|
|
|
|
КонецПроцедуры
|
|
|
|
#КонецОбласти
|
|
|
|
#Область ФормированиеФайлов
|
|
|
|
Процедура СформироватьПроцесс()
|
|
|
|
Язык = "en";
|
|
|
|
ТекущийФайл.ДобавитьСтроку(
|
|
"pipeline {
|
|
| agent any
|
|
| stages {
|
|
| stage('Prepare'){
|
|
| steps{
|
|
| powershell encoding: 'UTF-8', script:'cd ./src/" + Язык + "/OInt; opm build; opm install oint-1.15.1.ospx; del oint-1.15.1.ospx'
|
|
| powershell encoding: 'UTF-8', script:'oscript -make ./src/" + Язык + "/cli/core/Classes/app.os oint.exe'
|
|
| }
|
|
| }
|
|
| stage('Run'){
|
|
| steps{");
|
|
|
|
Для Каждого Модуль Из Модули Цикл
|
|
|
|
ТекущийФайл.ДобавитьСтроку("test_" + Модуль.Ключ + "()");
|
|
|
|
КонецЦикла;
|
|
|
|
ТекущийФайл.ДобавитьСтроку("
|
|
| }
|
|
| }
|
|
| }
|
|
|}
|
|
|
|
|
|");
|
|
|
|
КонецПроцедуры
|
|
|
|
Процедура СформироватьОпределения()
|
|
|
|
Язык = "en";
|
|
|
|
ТекстРаботы = "
|
|
|pipeline {
|
|
| agent any
|
|
| stages {
|
|
| stage('Prepare'){
|
|
| steps{
|
|
| powershell encoding: 'UTF-8', script:'cd ./src/" + Язык + "/OInt; opm build; opm install oint-1.15.1.ospx; del oint-1.15.1.ospx'
|
|
| powershell encoding: 'UTF-8', script:'oscript -make ./src/" + Язык + "/cli/core/Classes/app.os oint.exe'
|
|
| }
|
|
| }
|
|
| stage('Run Tests') {
|
|
| parallel {
|
|
|";
|
|
|
|
Для Каждого Модуль Из Модули Цикл
|
|
|
|
ТекущаяКоманда = Модуль.Ключ;
|
|
|
|
ТекстРаботы = ТекстРаботы + "
|
|
| stage('" + ТекущаяКоманда + "'){
|
|
| steps{
|
|
| test_" + ТекущаяКоманда + "()
|
|
| }
|
|
| }";
|
|
|
|
КонецЦикла;
|
|
|
|
ТекстРаботы = ТекстРаботы + "
|
|
| }
|
|
| }
|
|
| }
|
|
|}
|
|
|";
|
|
|
|
ТекущийФайл.ДобавитьСтроку(ТекстРаботы);
|
|
|
|
Для Каждого Модуль Из Модули Цикл
|
|
|
|
ТекущаяКоманда = Модуль.Ключ;
|
|
|
|
ТекстФункции = "
|
|
|
|
|
|def test_" + ТекущаяКоманда + "(){
|
|
|
|
|
|";
|
|
|
|
Отбор = Новый Структура("Библиотека", ТекущаяКоманда);
|
|
СтрокиБиблиотеки = ТаблицаПараметров.НайтиСтроки(Отбор);
|
|
ТекущийМетод = "";
|
|
|
|
Для Каждого СтрокаПараметра Из СтрокиБиблиотеки Цикл
|
|
|
|
Если ТекущийМетод <> СтрокаПараметра.Метод Тогда
|
|
|
|
ТекущийМетод = СтрокаПараметра.Метод;
|
|
СтрокаЗапуска = ТекущийМетод;
|
|
Отбор.Вставить("Метод", ТекущийМетод);
|
|
|
|
СтрокиМетода = ТаблицаПараметров.НайтиСтроки(Отбор);
|
|
|
|
Для Каждого СтрокаМетода Из СтрокиМетода Цикл
|
|
СтрокаЗапуска = СтрокаЗапуска
|
|
+ " "
|
|
+ СтрокаМетода.Параметр
|
|
+ " ""test"""
|
|
КонецЦикла;
|
|
|
|
ТекстФункции = ТекстФункции + "
|
|
| catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
|
| powershell encoding: 'UTF-8', script:'./oint.exe " + ТекущаяКоманда + " " + СтрокаЗапуска + " --debug --test '
|
|
| }
|
|
|";
|
|
|
|
КонецЕсли;
|
|
|
|
КонецЦикла;
|
|
|
|
ТекстФункции = ТекстФункции + "
|
|
|}
|
|
|";
|
|
|
|
|
|
ТекущийФайл.ДобавитьСтроку(ТекстФункции);
|
|
|
|
КонецЦикла;
|
|
|
|
КонецПроцедуры
|
|
|
|
#КонецОбласти
|