mirror of
https://github.com/bia-technologies/bsl-parser.git
synced 2024-11-24 08:12:17 +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/**
|
||||
tests/common-fixtures/**
|
||||
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",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
2
LICENSE
2
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
|
||||
|
@ -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
|
||||
|
||||
| Наименование | Реквизит | МетодПреобразования |
|
||||
| ------------ | ----------------------------- | ------------------- |
|
||||
| ПрефиксИмен | NamePrefix | |
|
||||
| Назначение | ConfigurationExtensionPurpose | |
|
||||
| Наименование | Реквизит | МетодПреобразования |
|
||||
| ----------------------------------------- | --------------------------------------- | ------------------- |
|
||||
| РежимСовместимостиРасширенияКонфигурации | ConfigurationExtensionCompatibilityMode | ВерсияСовместимости |
|
||||
| ПрефиксИмен | NamePrefix | |
|
||||
| Назначение | ConfigurationExtensionPurpose | |
|
||||
|
||||
|
||||
## Реквизиты Subsystem
|
||||
|
||||
|
@ -591,7 +591,7 @@
|
||||
НомерСтрокиВозвращаемоеЗначение = Ит;
|
||||
Прервать;
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда
|
||||
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда
|
||||
|
||||
НомерСтрокиПример = Ит;
|
||||
Прервать;
|
||||
@ -609,6 +609,8 @@
|
||||
ИмяПараметра = Неопределено;
|
||||
ОписаниеПараметра = "";
|
||||
ТипПараметра = "";
|
||||
Дочитывание = Ложь;
|
||||
ПрошлаяСтрока = "";
|
||||
Для Ит = НомерСтрокиПараметры + 1 По ПоследнийБлокКомментария.КонечнаяСтрока Цикл
|
||||
|
||||
СтрокаКомментария = Файл.ПолучитьСтроку(Ит);
|
||||
@ -618,17 +620,22 @@
|
||||
НомерСтрокиВозвращаемоеЗначение = Ит;
|
||||
Прервать;
|
||||
|
||||
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Пример") Тогда
|
||||
ИначеЕсли СтрНачинаетсяС(СтрокаКомментария, "Примеры:") ИЛИ СтрНачинаетсяС(СтрокаКомментария, "Пример:") Тогда
|
||||
|
||||
НомерСтрокиПример = Ит;
|
||||
Прервать;
|
||||
|
||||
Иначе
|
||||
|
||||
Если Дочитывание Тогда
|
||||
СтрокаКомментария = ПрошлаяСтрока + СтрокаКомментария;
|
||||
ПрошлаяСтрока = "";
|
||||
Дочитывание = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
// шаблон параметра
|
||||
// 'Имя' - 'Тип' - 'Описание'
|
||||
// 'продолжение описания'
|
||||
|
||||
СоставСтрокиКомментария = СтрРазделить(СтрокаКомментария, "-");
|
||||
Если СоставСтрокиКомментария.Количество() >= 3 Тогда
|
||||
|
||||
@ -652,6 +659,16 @@
|
||||
ПозицияДефис = СтрНайти(СтрокаКомментария, "-",, ПозицияДефис + 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
|
||||
#Использовать asserts
|
||||
#Использовать fs
|
||||
#Использовать 1testrunner
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -52,7 +53,7 @@
|
||||
СвойстваРасширения.Наименование = "Simple";
|
||||
СвойстваРасширения.Синоним = "Простое расширение";
|
||||
СвойстваРасширения.ПрефиксИмен = "smpl_";
|
||||
|
||||
СвойстваРасширения.РежимСовместимостиРасширенияКонфигурации = "8.3.9";
|
||||
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
|
||||
|
||||
Если Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() ИЛИ Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда
|
||||
@ -68,6 +69,12 @@
|
||||
|
||||
Расширение.Зафиксировать();
|
||||
|
||||
ТекстОписаниеКонфигурации = Утилиты.ПрочитатьФайл(Расширение.СтруктураКаталогов().ИмяФайлаОписанияКонфигурации());
|
||||
|
||||
Ожидаем.Что(ТекстОписаниеКонфигурации, "Файл configuration содержит верный режим совместимости").Содержит("Version8_3_9");
|
||||
|
||||
ТекстКонфигаРасширения = Новый Файл(ОбъединитьПути(КаталогРасширения, "Configuration.xml"));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестСоздатьПростоеРасширениеВИерархическомФорматеEDT() Экспорт
|
||||
|
Loading…
Reference in New Issue
Block a user