mirror of
https://github.com/bia-technologies/bsl-parser.git
synced 2025-02-16 19:47:28 +02:00
Merge branch 'release/21.09'
This commit is contained in:
commit
70ac2343fb
2
.gitignore
vendored
2
.gitignore
vendored
@ -5,3 +5,5 @@ exec.log
|
|||||||
ignore/**
|
ignore/**
|
||||||
tests/common-fixtures/**
|
tests/common-fixtures/**
|
||||||
tests.xml
|
tests.xml
|
||||||
|
|
||||||
|
*.old
|
||||||
|
46
.vscode/tasks.json
vendored
46
.vscode/tasks.json
vendored
@ -1,55 +1,52 @@
|
|||||||
{
|
{
|
||||||
"version": "0.1.0",
|
"version": "2.0.0",
|
||||||
"command": "oscript",
|
"command": "oscript",
|
||||||
"isShellCommand": true,
|
|
||||||
"showOutput": "silent",
|
|
||||||
"args": [
|
"args": [
|
||||||
"-encoding=utf-8"
|
"-encoding=utf-8"
|
||||||
],
|
],
|
||||||
"tasks": [
|
"tasks": [
|
||||||
{
|
{
|
||||||
"taskName": "OneScript: compile",
|
"label": "OneScript: compile",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "oscript",
|
||||||
"args": [
|
"args": [
|
||||||
|
"-encoding=utf-8",
|
||||||
"-compile",
|
"-compile",
|
||||||
"${file}"
|
"${file}"
|
||||||
],
|
],
|
||||||
"echoCommand": true,
|
"problemMatcher": []
|
||||||
"showOutput": "always",
|
|
||||||
"suppressTaskName": true,
|
|
||||||
"isBuildCommand": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"taskName": "OneScript: check",
|
"label": "OneScript: check",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "oscript",
|
||||||
"args": [
|
"args": [
|
||||||
|
"-encoding=utf-8",
|
||||||
"-check",
|
"-check",
|
||||||
"${file}"
|
"${file}"
|
||||||
],
|
],
|
||||||
"echoCommand": true,
|
"problemMatcher": []
|
||||||
"showOutput": "always",
|
|
||||||
"suppressTaskName": true,
|
|
||||||
"isBuildCommand": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"taskName": "OneScript: make",
|
"label": "OneScript: make",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "oscript",
|
||||||
"args": [
|
"args": [
|
||||||
|
"-encoding=utf-8",
|
||||||
"-make",
|
"-make",
|
||||||
"${file}",
|
"${file}",
|
||||||
"${fileBasename}.exe"
|
"${fileBasename}.exe"
|
||||||
],
|
],
|
||||||
"echoCommand": true,
|
"problemMatcher": []
|
||||||
"showOutput": "always",
|
|
||||||
"suppressTaskName": true,
|
|
||||||
"isBuildCommand": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"taskName": "OneScript: run",
|
"label": "OneScript: run",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "oscript",
|
||||||
"args": [
|
"args": [
|
||||||
|
"-encoding=utf-8",
|
||||||
"${file}"
|
"${file}"
|
||||||
],
|
],
|
||||||
"echoCommand": true,
|
|
||||||
"showOutput": "always",
|
|
||||||
"suppressTaskName": true,
|
|
||||||
"isBuildCommand": true,
|
|
||||||
"problemMatcher": {
|
"problemMatcher": {
|
||||||
"fileLocation": "absolute",
|
"fileLocation": "absolute",
|
||||||
"pattern": {
|
"pattern": {
|
||||||
@ -58,7 +55,8 @@
|
|||||||
"location": 2,
|
"location": 2,
|
||||||
"message": 3
|
"message": 3
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"group": "build"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
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
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -203,6 +203,18 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Записывает значение версии совместимости
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Запись - ЗаписьXML - Поток записи
|
||||||
|
// Значение - Строка - Записываемое значение формата 8.3.10
|
||||||
|
//
|
||||||
|
Процедура ВерсияСовместимости(Запись, Значение) Экспорт
|
||||||
|
|
||||||
|
Запись.ЗаписатьТекст(XMLСтрока(Значение));
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// Записывает логическое значение
|
// Записывает логическое значение
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
|
@ -223,6 +223,46 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
|
// Записывает значение версии совместимости
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Запись - ЗаписьXML - Поток записи
|
||||||
|
// Значение - Строка - Записываемое значение
|
||||||
|
//
|
||||||
|
Процедура ВерсияСовместимости(Запись, Значение) Экспорт
|
||||||
|
|
||||||
|
Если НЕ ЗначениеЗаполнено(Значение) Тогда
|
||||||
|
|
||||||
|
Возврат;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Запись.ЗаписатьТекст(XMLСтрока(ВерсияСовместимостиСтрокой(Значение)));
|
||||||
|
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Записывает значение версии совместимости
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Запись - ЗаписьXML - Поток записи
|
||||||
|
// Значение - Строка - Записываемое значение
|
||||||
|
//
|
||||||
|
Функция ВерсияСовместимостиСтрокой(Значение) Экспорт
|
||||||
|
|
||||||
|
НачалоСтроки = "Version"; // Version8_3_10
|
||||||
|
|
||||||
|
Если СтрНачинаетсяС(Значение, НачалоСтроки) Тогда
|
||||||
|
|
||||||
|
Возврат Значение;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Версия = СтрРазделить(Значение, ".", Ложь);
|
||||||
|
Возврат СтрШаблон("%1%2_%3_%4", НачалоСтроки, Версия[0], Версия[1], Версия[2]);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Записывает логическое значение
|
// Записывает логическое значение
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
|
@ -81,10 +81,12 @@
|
|||||||
|
|
||||||
## Реквизиты Extension
|
## Реквизиты Extension
|
||||||
|
|
||||||
| Наименование | Реквизит | МетодПреобразования |
|
| Наименование | Реквизит | МетодПреобразования |
|
||||||
| ------------ | ----------------------------- | ------------------- |
|
| ----------------------------------------- | --------------------------------------- | ------------------- |
|
||||||
| ПрефиксИмен | NamePrefix | |
|
| РежимСовместимостиРасширенияКонфигурации | ConfigurationExtensionCompatibilityMode | ВерсияСовместимости |
|
||||||
| Назначение | ConfigurationExtensionPurpose | |
|
| ПрефиксИмен | NamePrefix | |
|
||||||
|
| Назначение | ConfigurationExtensionPurpose | |
|
||||||
|
|
||||||
|
|
||||||
## Реквизиты Subsystem
|
## Реквизиты Subsystem
|
||||||
|
|
||||||
|
@ -591,7 +591,7 @@
|
|||||||
НомерСтрокиВозвращаемоеЗначение = Ит;
|
НомерСтрокиВозвращаемоеЗначение = Ит;
|
||||||
Прервать;
|
Прервать;
|
||||||
|
|
||||||
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда
|
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда
|
||||||
|
|
||||||
НомерСтрокиПример = Ит;
|
НомерСтрокиПример = Ит;
|
||||||
Прервать;
|
Прервать;
|
||||||
@ -609,6 +609,8 @@
|
|||||||
ИмяПараметра = Неопределено;
|
ИмяПараметра = Неопределено;
|
||||||
ОписаниеПараметра = "";
|
ОписаниеПараметра = "";
|
||||||
ТипПараметра = "";
|
ТипПараметра = "";
|
||||||
|
Дочитывание = Ложь;
|
||||||
|
ПрошлаяСтрока = "";
|
||||||
Для Ит = НомерСтрокиПараметры + 1 По ПоследнийБлокКомментария.КонечнаяСтрока Цикл
|
Для Ит = НомерСтрокиПараметры + 1 По ПоследнийБлокКомментария.КонечнаяСтрока Цикл
|
||||||
|
|
||||||
СтрокаКомментария = Файл.ПолучитьСтроку(Ит);
|
СтрокаКомментария = Файл.ПолучитьСтроку(Ит);
|
||||||
@ -618,17 +620,22 @@
|
|||||||
НомерСтрокиВозвращаемоеЗначение = Ит;
|
НомерСтрокиВозвращаемоеЗначение = Ит;
|
||||||
Прервать;
|
Прервать;
|
||||||
|
|
||||||
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда
|
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда
|
||||||
|
|
||||||
НомерСтрокиПример = Ит;
|
НомерСтрокиПример = Ит;
|
||||||
Прервать;
|
Прервать;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
|
Если Дочитывание Тогда
|
||||||
|
СтрокаКомментария = ПрошлаяСтрока + СтрокаКомментария;
|
||||||
|
ПрошлаяСтрока = "";
|
||||||
|
Дочитывание = Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
// шаблон параметра
|
// шаблон параметра
|
||||||
// 'Имя' - 'Тип' - 'Описание'
|
// 'Имя' - 'Тип' - 'Описание'
|
||||||
// 'продолжение описания'
|
// 'продолжение описания'
|
||||||
|
|
||||||
СоставСтрокиКомментария = СтрРазделить(СтрокаКомментария, "-");
|
СоставСтрокиКомментария = СтрРазделить(СтрокаКомментария, "-");
|
||||||
Если СоставСтрокиКомментария.Количество() >= 3 Тогда
|
Если СоставСтрокиКомментария.Количество() >= 3 Тогда
|
||||||
|
|
||||||
@ -652,6 +659,16 @@
|
|||||||
ПозицияДефис = СтрНайти(СтрокаКомментария, "-",, ПозицияДефис + 1);
|
ПозицияДефис = СтрНайти(СтрокаКомментария, "-",, ПозицияДефис + 1);
|
||||||
ОписаниеПараметра = СокрЛП(Сред(СтрокаКомментария, ПозицияДефис + 1));
|
ОписаниеПараметра = СокрЛП(Сред(СтрокаКомментария, ПозицияДефис + 1));
|
||||||
|
|
||||||
|
|
||||||
|
ИначеЕсли СоставСтрокиКомментария.Количество() = 2 и СтрЗаканчиваетсяНа(СокрЛП(СоставСтрокиКомментария[1]), ",") Тогда
|
||||||
|
// шаблон параметра
|
||||||
|
// 'Имя' - 'Тип','Тип',
|
||||||
|
// 'Тип' - 'Описание'
|
||||||
|
// 'продолжение описания'
|
||||||
|
ПрошлаяСтрока = СтрокаКомментария;
|
||||||
|
Дочитывание = Истина;
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
// продолжение описания параметра либо косячное описание
|
// продолжение описания параметра либо косячное описание
|
||||||
|
@ -52,6 +52,23 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Читает Версию совместимости
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ЧтениеXML - ЧтениеXML - Читатель данных
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Строка - Данные строки, версия формата 8.3.10
|
||||||
|
//
|
||||||
|
Функция ВерсияСовместимости(Знач ЧтениеXML) Экспорт
|
||||||
|
|
||||||
|
ЧтениеXML.Прочитать();
|
||||||
|
|
||||||
|
Возврат ЧтениеXML.Значение;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
|
||||||
// Читает описание типа
|
// Читает описание типа
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
|
@ -52,6 +52,39 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Читает версию совместимости
|
||||||
|
// Версия приводится к единному с EDT виду внутри инструмента
|
||||||
|
// Параметры:
|
||||||
|
// ЧтениеXML - ЧтениеXML - Читатель данных
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Строка - Данные строки
|
||||||
|
//
|
||||||
|
Функция ВерсияСовместимости(Знач ЧтениеXML) Экспорт
|
||||||
|
|
||||||
|
ЧтениеXML.Прочитать();
|
||||||
|
|
||||||
|
Возврат ВерсияСовместимостиСтрокой(ЧтениеXML.Значение);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Удаляет лишние символы из строки версии
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ЧтениеXML - ЧтениеXML - Читатель данных
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Строка - Данные строки, версия формата 8.3.10
|
||||||
|
//
|
||||||
|
Функция ВерсияСовместимостиСтрокой(Значение)
|
||||||
|
|
||||||
|
Версия = СтрРазделить(СтрЗаменить(Значение, "Version", ""), "_", Ложь);
|
||||||
|
|
||||||
|
Возврат СтрШаблон("%1.%2.%3", Версия[0], Версия[1], Версия[2]);
|
||||||
|
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Читает описание типа
|
// Читает описание типа
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
//
|
//
|
||||||
Функция ВерсияПродукта() Экспорт
|
Функция ВерсияПродукта() Экспорт
|
||||||
|
|
||||||
Возврат "1.3";
|
Возврат "21.09";
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#Использовать logos
|
#Использовать logos
|
||||||
#Использовать asserts
|
#Использовать asserts
|
||||||
#Использовать fs
|
#Использовать fs
|
||||||
|
#Использовать 1testrunner
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -52,7 +53,7 @@
|
|||||||
СвойстваРасширения.Наименование = "Simple";
|
СвойстваРасширения.Наименование = "Simple";
|
||||||
СвойстваРасширения.Синоним = "Простое расширение";
|
СвойстваРасширения.Синоним = "Простое расширение";
|
||||||
СвойстваРасширения.ПрефиксИмен = "smpl_";
|
СвойстваРасширения.ПрефиксИмен = "smpl_";
|
||||||
|
СвойстваРасширения.РежимСовместимостиРасширенияКонфигурации = "8.3.9";
|
||||||
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
|
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
|
||||||
|
|
||||||
Если Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() ИЛИ Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда
|
Если Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() ИЛИ Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда
|
||||||
@ -67,7 +68,13 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Расширение.Зафиксировать();
|
Расширение.Зафиксировать();
|
||||||
|
|
||||||
|
ТекстОписаниеКонфигурации = Утилиты.ПрочитатьФайл(Расширение.СтруктураКаталогов().ИмяФайлаОписанияКонфигурации());
|
||||||
|
|
||||||
|
Ожидаем.Что(ТекстОписаниеКонфигурации, "Файл configuration содержит верный режим совместимости").Содержит("Version8_3_9");
|
||||||
|
|
||||||
|
ТекстКонфигаРасширения = Новый Файл(ОбъединитьПути(КаталогРасширения, "Configuration.xml"));
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ТестСоздатьПростоеРасширениеВИерархическомФорматеEDT() Экспорт
|
Процедура ТестСоздатьПростоеРасширениеВИерархическомФорматеEDT() Экспорт
|
||||||
|
Loading…
x
Reference in New Issue
Block a user