1
0
mirror of https://github.com/bia-technologies/bsl-parser.git synced 2024-11-27 08:20:55 +02:00

Merge branch 'release/21.09'

This commit is contained in:
Maximov Valery 2021-09-22 13:46:05 +03:00
commit 70ac2343fb
11 changed files with 162 additions and 34 deletions

2
.gitignore vendored
View File

@ -5,3 +5,5 @@ exec.log
ignore/**
tests/common-fixtures/**
tests.xml
*.old

46
.vscode/tasks.json vendored
View File

@ -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"
}
]
}

View File

@ -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

View File

@ -203,6 +203,18 @@
КонецПроцедуры
// Записывает значение версии совместимости
//
// Параметры:
// Запись - ЗаписьXML - Поток записи
// Значение - Строка - Записываемое значение формата 8.3.10
//
Процедура ВерсияСовместимости(Запись, Значение) Экспорт
Запись.ЗаписатьТекст(XMLСтрока(Значение));
КонецПроцедуры
// Записывает логическое значение
//
// Параметры:

View File

@ -223,6 +223,46 @@
КонецПроцедуры
// Записывает значение версии совместимости
//
// Параметры:
// Запись - ЗаписьXML - Поток записи
// Значение - Строка - Записываемое значение
//
Процедура ВерсияСовместимости(Запись, Значение) Экспорт
Если НЕ ЗначениеЗаполнено(Значение) Тогда
Возврат;
КонецЕсли;
Запись.ЗаписатьТекст(XMLСтрока(ВерсияСовместимостиСтрокой(Значение)));
КонецПроцедуры
// Записывает значение версии совместимости
//
// Параметры:
// Запись - ЗаписьXML - Поток записи
// Значение - Строка - Записываемое значение
//
Функция ВерсияСовместимостиСтрокой(Значение) Экспорт
НачалоСтроки = "Version"; // Version8_3_10
Если СтрНачинаетсяС(Значение, НачалоСтроки) Тогда
Возврат Значение;
КонецЕсли;
Версия = СтрРазделить(Значение, ".", Ложь);
Возврат СтрШаблон("%1%2_%3_%4", НачалоСтроки, Версия[0], Версия[1], Версия[2]);
КонецФункции
// Записывает логическое значение
//
// Параметры:

View File

@ -82,10 +82,12 @@
## Реквизиты Extension
| Наименование | Реквизит | МетодПреобразования |
| ------------ | ----------------------------- | ------------------- |
| ----------------------------------------- | --------------------------------------- | ------------------- |
| РежимСовместимостиРасширенияКонфигурации | ConfigurationExtensionCompatibilityMode | ВерсияСовместимости |
| ПрефиксИмен | NamePrefix | |
| Назначение | ConfigurationExtensionPurpose | |
## Реквизиты Subsystem
| Наименование | Реквизит | МетодПреобразования | ТипЗначения | ЗначениеПоУмолчанию |

View File

@ -591,7 +591,7 @@
НомерСтрокиВозвращаемоеЗначение = Ит;
Прервать;
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда
НомерСтрокиПример = Ит;
Прервать;
@ -609,6 +609,8 @@
ИмяПараметра = Неопределено;
ОписаниеПараметра = "";
ТипПараметра = "";
Дочитывание = Ложь;
ПрошлаяСтрока = "";
Для Ит = НомерСтрокиПараметры + 1 По ПоследнийБлокКомментария.КонечнаяСтрока Цикл
СтрокаКомментария = Файл.ПолучитьСтроку(Ит);
@ -618,17 +620,22 @@
НомерСтрокиВозвращаемоеЗначение = Ит;
Прервать;
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда
НомерСтрокиПример = Ит;
Прервать;
Иначе
Если Дочитывание Тогда
СтрокаКомментария = ПрошлаяСтрока + СтрокаКомментария;
ПрошлаяСтрока = "";
Дочитывание = Ложь;
КонецЕсли;
// шаблон параметра
// 'Имя' - 'Тип' - 'Описание'
// 'продолжение описания'
СоставСтрокиКомментария = СтрРазделить(СтрокаКомментария, "-");
Если СоставСтрокиКомментария.Количество() >= 3 Тогда
@ -652,6 +659,16 @@
ПозицияДефис = СтрНайти(СтрокаКомментария, "-",, ПозицияДефис + 1);
ОписаниеПараметра = СокрЛП(Сред(СтрокаКомментария, ПозицияДефис + 1));
ИначеЕсли СоставСтрокиКомментария.Количество() = 2 и СтрЗаканчиваетсяНа(СокрЛП(СоставСтрокиКомментария[1]), ",") Тогда
// шаблон параметра
// 'Имя' - 'Тип','Тип',
// 'Тип' - 'Описание'
// 'продолжение описания'
ПрошлаяСтрока = СтрокаКомментария;
Дочитывание = Истина;
Продолжить;
Иначе
// продолжение описания параметра либо косячное описание

View File

@ -52,6 +52,23 @@
КонецФункции
// Читает Версию совместимости
//
// Параметры:
// ЧтениеXML - ЧтениеXML - Читатель данных
//
// Возвращаемое значение:
// Строка - Данные строки, версия формата 8.3.10
//
Функция ВерсияСовместимости(Знач ЧтениеXML) Экспорт
ЧтениеXML.Прочитать();
Возврат ЧтениеXML.Значение;
КонецФункции
// Читает описание типа
//
// Параметры:

View File

@ -52,6 +52,39 @@
КонецФункции
// Читает версию совместимости
// Версия приводится к единному с EDT виду внутри инструмента
// Параметры:
// ЧтениеXML - ЧтениеXML - Читатель данных
//
// Возвращаемое значение:
// Строка - Данные строки
//
Функция ВерсияСовместимости(Знач ЧтениеXML) Экспорт
ЧтениеXML.Прочитать();
Возврат ВерсияСовместимостиСтрокой(ЧтениеXML.Значение);
КонецФункции
// Удаляет лишние символы из строки версии
//
// Параметры:
// ЧтениеXML - ЧтениеXML - Читатель данных
//
// Возвращаемое значение:
// Строка - Данные строки, версия формата 8.3.10
//
Функция ВерсияСовместимостиСтрокой(Значение)
Версия = СтрРазделить(СтрЗаменить(Значение, "Version", ""), "_", Ложь);
Возврат СтрШаблон("%1.%2.%3", Версия[0], Версия[1], Версия[2]);
КонецФункции
// Читает описание типа
//
// Параметры:

View File

@ -33,7 +33,7 @@
//
Функция ВерсияПродукта() Экспорт
Возврат "1.3";
Возврат "21.09";
КонецФункции

View File

@ -11,6 +11,7 @@
#Использовать logos
#Использовать asserts
#Использовать fs
#Использовать 1testrunner
///////////////////////////////////////////////////////////////////////////////
@ -52,7 +53,7 @@
СвойстваРасширения.Наименование = "Simple";
СвойстваРасширения.Синоним = "Простое расширение";
СвойстваРасширения.ПрефиксИмен = "smpl_";
СвойстваРасширения.РежимСовместимостиРасширенияКонфигурации = "8.3.9";
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
Если Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() ИЛИ Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда
@ -68,6 +69,12 @@
Расширение.Зафиксировать();
ТекстОписаниеКонфигурации = Утилиты.ПрочитатьФайл(Расширение.СтруктураКаталогов().ИмяФайлаОписанияКонфигурации());
Ожидаем.Что(ТекстОписаниеКонфигурации, "Файл configuration содержит верный режим совместимости").Содержит("Version8_3_9");
ТекстКонфигаРасширения = Новый Файл(ОбъединитьПути(КаталогРасширения, "Configuration.xml"));
КонецПроцедуры
Процедура ТестСоздатьПростоеРасширениеВИерархическомФорматеEDT() Экспорт