From adc96372b11d9f7c5ce1271b89ee1eedee471c46 Mon Sep 17 00:00:00 2001 From: dmedvedev01 Date: Thu, 9 Sep 2021 17:04:20 +0300 Subject: [PATCH 1/5] #ONECICD-500 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. ИСправлено поведение, когда описание типа параметра занимает несколько строк. 2. Уточнен блок примеров т.к. бывает ФП на слово 'пример' в описании метода --- .../ЧтениеОписаний/Модули/ЧтениеМодулей.os | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os index b4dbfce..98c64e8 100644 --- a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os +++ b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os @@ -609,6 +609,8 @@ ИмяПараметра = Неопределено; ОписаниеПараметра = ""; ТипПараметра = ""; + Дочитывание = Ложь; + ПрошлаяСтрока = ""; Для Ит = НомерСтрокиПараметры + 1 По ПоследнийБлокКомментария.КонечнаяСтрока Цикл СтрокаКомментария = Файл.ПолучитьСтроку(Ит); @@ -618,17 +620,22 @@ НомерСтрокиВозвращаемоеЗначение = Ит; Прервать; - ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда + ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") Тогда НомерСтрокиПример = Ит; Прервать; Иначе + Если Дочитывание Тогда + СтрокаКомментария = ПрошлаяСтрока + СтрокаКомментария; + ПрошлаяСтрока = ""; + Дочитывание = Ложь; + КонецЕсли; + // шаблон параметра // 'Имя' - 'Тип' - 'Описание' // 'продолжение описания' - СоставСтрокиКомментария = СтрРазделить(СтрокаКомментария, "-"); Если СоставСтрокиКомментария.Количество() >= 3 Тогда @@ -652,6 +659,16 @@ ПозицияДефис = СтрНайти(СтрокаКомментария, "-",, ПозицияДефис + 1); ОписаниеПараметра = СокрЛП(Сред(СтрокаКомментария, ПозицияДефис + 1)); + + ИначеЕсли СоставСтрокиКомментария.Количество() = 2 и СтрЗаканчиваетсяНа(СокрЛП(СоставСтрокиКомментария[1]), ",") Тогда + // шаблон параметра + // 'Имя' - 'Тип','Тип', + // 'Тип' - 'Описание' + // 'продолжение описания' + ПрошлаяСтрока = СтрокаКомментария; + Дочитывание = Истина; + Продолжить; + Иначе // продолжение описания параметра либо косячное описание From 069caa65d2daf89d2ac70ba07f35d2196f38ddb0 Mon Sep 17 00:00:00 2001 From: dmedvedev01 Date: Fri, 17 Sep 2021 19:44:26 +0300 Subject: [PATCH 2/5] #ORAIS-502 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавил чтение в объект режима совместимости расрширений, Внутри парсера версии EDT и Конфигуратора имеют теперь одираковый формат Сделал обратное преобразование в версию Конфигуратора --- .../ГенераторОписаний/Модули/ГенераторОписанийEDT.os | 12 ++++++ .../Модули/ГенераторОписанийКонфигуратор.os | 40 +++++++++++++++++++ src/Внутренние/Макеты/СвойстваОбъектов.md | 10 +++-- .../ЧтениеОписаний/Модули/ЧтениеОписанийEDT.os | 17 ++++++++ .../ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os | 35 ++++++++++++++++ 5 files changed, 110 insertions(+), 4 deletions(-) diff --git a/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийEDT.os b/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийEDT.os index 0b62aac..eec8d20 100644 --- a/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийEDT.os +++ b/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийEDT.os @@ -203,6 +203,18 @@ КонецПроцедуры +// Записывает значение версии совместимости +// +// Параметры: +// Запись - ЗаписьXML - Поток записи +// Значение - Строка - Записываемое значение формата 8.3.10 +// +Процедура ВерсияСовместимости(Запись, Значение) Экспорт + + Запись.ЗаписатьТекст(XMLСтрока(Значение)); + +КонецПроцедуры + // Записывает логическое значение // // Параметры: diff --git a/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийКонфигуратор.os b/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийКонфигуратор.os index 4530052..538decf 100644 --- a/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийКонфигуратор.os +++ b/src/Внутренние/ГенераторОписаний/Модули/ГенераторОписанийКонфигуратор.os @@ -223,6 +223,46 @@ КонецПроцедуры + +// Записывает значение версии совместимости +// +// Параметры: +// Запись - ЗаписьXML - Поток записи +// Значение - Строка - Записываемое значение +// +Процедура ВерсияСовместимости(Запись, Значение) Экспорт + + Если НЕ ЗначениеЗаполнено(Значение) Тогда + + Возврат; + + КонецЕсли; + + Запись.ЗаписатьТекст(XMLСтрока(ВерсияСовместимостиСтрокой(Значение))); + + +КонецПроцедуры + +// Записывает значение версии совместимости +// +// Параметры: +// Запись - ЗаписьXML - Поток записи +// Значение - Строка - Записываемое значение +// +Функция ВерсияСовместимостиСтрокой(Значение) Экспорт + + НачалоСтроки = "Version"; // Version8_3_10 + + Если СтрНачинаетсяС(Значение, НачалоСтроки) Тогда + + Возврат Значение; + КонецЕсли; + + Версия = СтрРазделить(Значение, ".", Ложь); + Возврат СтрШаблон("%1%2_%3_%4", НачалоСтроки, Версия[0], Версия[1], Версия[2]); + +КонецФункции + // Записывает логическое значение // // Параметры: diff --git a/src/Внутренние/Макеты/СвойстваОбъектов.md b/src/Внутренние/Макеты/СвойстваОбъектов.md index b3fd1bf..c1d6e6b 100644 --- a/src/Внутренние/Макеты/СвойстваОбъектов.md +++ b/src/Внутренние/Макеты/СвойстваОбъектов.md @@ -81,10 +81,12 @@ ## Реквизиты Extension -| Наименование | Реквизит | МетодПреобразования | -| ------------ | ----------------------------- | ------------------- | -| ПрефиксИмен | NamePrefix | | -| Назначение | ConfigurationExtensionPurpose | | +| Наименование | Реквизит | МетодПреобразования | +| ----------------------------------------- | --------------------------------------- | ------------------- | +| РежимСовместимостиРасширенияКонфигурации | ConfigurationExtensionCompatibilityMode | ВерсияСовместимости | +| ПрефиксИмен | NamePrefix | | +| Назначение | ConfigurationExtensionPurpose | | + ## Реквизиты Subsystem diff --git a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийEDT.os b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийEDT.os index c8b44eb..681be90 100644 --- a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийEDT.os +++ b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийEDT.os @@ -52,6 +52,23 @@ КонецФункции +// Читает Версию совместимости +// +// Параметры: +// ЧтениеXML - ЧтениеXML - Читатель данных +// +// Возвращаемое значение: +// Строка - Данные строки, версия формата 8.3.10 +// +Функция ВерсияСовместимости(Знач ЧтениеXML) Экспорт + + ЧтениеXML.Прочитать(); + + Возврат ЧтениеXML.Значение; + +КонецФункции + + // Читает описание типа // // Параметры: diff --git a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os index 6dbb8a0..c644b82 100644 --- a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os +++ b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os @@ -47,11 +47,46 @@ // Строка - Данные строки // Функция МногоязычнаяСтрока(Знач ЧтениеXML) Экспорт + Яз = ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:lang"); + Кон= ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:content"); Возврат ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:content"); КонецФункции +// Читает версию совместимости +// Версия приводится к единному с EDT виду внутри инструмента +// Параметры: +// ЧтениеXML - ЧтениеXML - Читатель данных +// +// Возвращаемое значение: +// Строка - Данные строки +// +Функция ВерсияСовместимости(Знач ЧтениеXML) Экспорт + + ЧтениеXML.Прочитать(); + + Возврат ВерсияСовместимостиСтрокой(ЧтениеXML.Значение); + +КонецФункции + +// Удаляет лишние символы из строки версии +// +// Параметры: +// ЧтениеXML - ЧтениеXML - Читатель данных +// +// Возвращаемое значение: +// Строка - Данные строки, версия формата 8.3.10 +// +Функция ВерсияСовместимостиСтрокой(Значение) + + Версия = СтрРазделить(СтрЗаменить(Значение, "Version", ""), "_", Ложь); + + Возврат СтрШаблон("%1.%2.%3", Версия[0], Версия[1], Версия[2]); + + +КонецФункции + // Читает описание типа // // Параметры: From c6c837a9baefc5b9379fd516ed2547f63bff09f0 Mon Sep 17 00:00:00 2001 From: dmedvedev01 Date: Mon, 20 Sep 2021 13:05:45 +0300 Subject: [PATCH 3/5] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BB=D0=B8=D1=88=D0=BD=D0=B5=D0=B5=20+=20=D0=B7=D0=B0=D0=BA?= =?UTF-8?q?=D0=B8=D0=BD=D1=83=D0=BB=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D1=83=20=D0=B2=20=D1=82=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os | 2 -- tests/ТестСозданияРасширения.os | 9 ++++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os index c644b82..e052e4a 100644 --- a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os +++ b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os @@ -47,8 +47,6 @@ // Строка - Данные строки // Функция МногоязычнаяСтрока(Знач ЧтениеXML) Экспорт - Яз = ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:lang"); - Кон= ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:content"); Возврат ЧтениеОписанийБазовый.ЗначениеВложенногоТэга(ЧтениеXML, "v8:content"); diff --git a/tests/ТестСозданияРасширения.os b/tests/ТестСозданияРасширения.os index 105447e..6a942b8 100644 --- a/tests/ТестСозданияРасширения.os +++ b/tests/ТестСозданияРасширения.os @@ -11,6 +11,7 @@ #Использовать logos #Использовать asserts #Использовать fs +#Использовать 1testrunner /////////////////////////////////////////////////////////////////////////////// @@ -52,7 +53,7 @@ СвойстваРасширения.Наименование = "Simple"; СвойстваРасширения.Синоним = "Простое расширение"; СвойстваРасширения.ПрефиксИмен = "smpl_"; - + СвойстваРасширения.РежимСовместимостиРасширенияКонфигурации = "8.3.9"; Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл Если Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() ИЛИ Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда @@ -67,7 +68,13 @@ КонецЦикла; Расширение.Зафиксировать(); + + ТекстОписаниеКонфигурации = Утилиты.ПрочитатьФайл(Расширение.СтруктураКаталогов().ИмяФайлаОписанияКонфигурации()); + Ожидаем.Что(ТекстОписаниеКонфигурации, "Файл configuration содержит верный режим совместимости").Содержит("Version8_3_9"); + + ТекстКонфигаРасширения = Новый Файл(ОбъединитьПути(КаталогРасширения, "Configuration.xml")); + КонецПроцедуры Процедура ТестСоздатьПростоеРасширениеВИерархическомФорматеEDT() Экспорт From 077b03ab843607b73fe7d180820284374ee7964a Mon Sep 17 00:00:00 2001 From: dmedvedev01 Date: Wed, 22 Sep 2021 12:51:05 +0300 Subject: [PATCH 4/5] =?UTF-8?q?#ONECICD-500=20=D0=9D=D0=B0=D1=88=D0=B5?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D1=81=D1=8F=D0=BA=20=D0=B2=20=D0=B1=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA=D0=B5=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os index 98c64e8..50678a2 100644 --- a/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os +++ b/src/Внутренние/ЧтениеОписаний/Модули/ЧтениеМодулей.os @@ -591,7 +591,7 @@ НомерСтрокиВозвращаемоеЗначение = Ит; Прервать; - ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда + ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда НомерСтрокиПример = Ит; Прервать; @@ -620,7 +620,7 @@ НомерСтрокиВозвращаемоеЗначение = Ит; Прервать; - ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") Тогда + ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда НомерСтрокиПример = Ит; Прервать; From 30c0055d4f2e8be9be72866ca8981263e985c7d7 Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Wed, 22 Sep 2021 13:41:11 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=B2=D1=8B=D0=BF=D1=83=D1=81=D0=BA=D0=B0?= =?UTF-8?q?=20=D1=80=D0=B5=D0=BB=D0=B8=D0=B7=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ .vscode/tasks.json | 46 ++++++++++++++++----------------- LICENSE | 2 +- src/Модули/ПараметрыПродукта.os | 2 +- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index 75d90ab..2a190e0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ exec.log ignore/** tests/common-fixtures/** tests.xml + +*.old diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 9677b0e..aecdd38 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,55 +1,52 @@ { - "version": "0.1.0", + "version": "2.0.0", "command": "oscript", - "isShellCommand": true, - "showOutput": "silent", "args": [ "-encoding=utf-8" ], "tasks": [ { - "taskName": "OneScript: compile", + "label": "OneScript: compile", + "type": "shell", + "command": "oscript", "args": [ + "-encoding=utf-8", "-compile", "${file}" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false + "problemMatcher": [] }, { - "taskName": "OneScript: check", + "label": "OneScript: check", + "type": "shell", + "command": "oscript", "args": [ + "-encoding=utf-8", "-check", "${file}" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false + "problemMatcher": [] }, { - "taskName": "OneScript: make", + "label": "OneScript: make", + "type": "shell", + "command": "oscript", "args": [ + "-encoding=utf-8", "-make", "${file}", "${fileBasename}.exe" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false + "problemMatcher": [] }, { - "taskName": "OneScript: run", + "label": "OneScript: run", + "type": "shell", + "command": "oscript", "args": [ + "-encoding=utf-8", "${file}" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": true, "problemMatcher": { "fileLocation": "absolute", "pattern": { @@ -58,7 +55,8 @@ "location": 2, "message": 3 } - } + }, + "group": "build" } ] } \ No newline at end of file diff --git a/LICENSE b/LICENSE index fe1311c..91810f9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2019 BIA Technologies, LLC +Copyright (c) 2019-2021 BIA Technologies, LLC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/Модули/ПараметрыПродукта.os b/src/Модули/ПараметрыПродукта.os index a7081c7..dbc1348 100644 --- a/src/Модули/ПараметрыПродукта.os +++ b/src/Модули/ПараметрыПродукта.os @@ -33,7 +33,7 @@ // Функция ВерсияПродукта() Экспорт - Возврат "1.3"; + Возврат "21.09"; КонецФункции