Skip to content

Commit

Permalink
Merge pull request #16 from yukon39/develop
Browse files Browse the repository at this point in the history
Новая версия 0.8.0
  • Loading branch information
yukon39 authored May 4, 2020
2 parents dd4c242 + 3afa4c6 commit 6223eb9
Show file tree
Hide file tree
Showing 12 changed files with 285 additions and 109 deletions.
64 changes: 64 additions & 0 deletions api/convert-config-schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"definitions": {
"SourceFormats": {
"type": "string",
"default": "XML",
"enum": [
"XML",
"EDT"
]
},
"Configuration": {
"type": "object",
"properties": {
"SourcePath": {
"type": "string"
},
"SourceFormat": {
"$ref": "#/definitions/SourceFormats"
}
},
"required": [
"SourcePath"
],
"additionalProperties": false
},
"Extension": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"SourcePath": {
"type": "string"
},
"SourceFormat": {
"$ref": "#/definitions/SourceFormats"
}
},
"required": [
"Name",
"SourcePath"
],
"additionalProperties": false
}
},
"type": "object",
"properties": {
"Configuration": {
"$ref": "#/definitions/Configuration"
},
"Extensions": {
"type": "array",
"items": {
"$ref": "#/definitions/Extension"
}
},
"ExternalReportsAndDataProcessors": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
2 changes: 1 addition & 1 deletion build/package/coverage-cli.packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#КонецОбласти

Описание.Имя("coverage-cli")
.Версия("0.7.0")
.Версия("0.8.0")
.Описание("Консольное приложение для работы с покрытием")
.ВерсияСреды("1.3.0")
.ЗависитОт("cli")
Expand Down
17 changes: 9 additions & 8 deletions examples/convert-config.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{
"Конфигурация": {
"КаталогИсходныхФайлов": "src/cf",
"Формат": "XML"
"$schema": "https://raw.githubusercontent.com/yukon39/coverage-cli/master/api/convert-config-schema.json",
"Configuration": {
"SourcePath": "src/cf",
"SourceFormat": "XML"
},
"Расширения": [
"Extensions": [
{
"Имя": "ModuleTests",
"КаталогИсходныхФайлов": "ModuleTests/src",
"Формат": "EDT"
"Name": "ModuleTests",
"SourcePath": "ModuleTests/src",
"SourceFormat": "EDT"
}
],
"ВнешниеОтчетыИОбработки": []
"ExternalReportsAndDataProcessors": []
}
Original file line number Diff line number Diff line change
Expand Up @@ -79,33 +79,37 @@
МенеджерПараметров.ИспользоватьПровайдерJSON();
МенеджерПараметров.Прочитать();

КаталогИсходниковКонфигурации = МенеджерПараметров.Параметр("Конфигурация.КаталогИсходныхФайлов");
КаталогИсходниковКонфигурации = МенеджерПараметров.Параметр("Configuration.SourcePath");
Если ЗначениеЗаполнено(КаталогИсходниковКонфигурации) Тогда

ФорматИсходныхФайлов = МенеджерПараметров.Параметр("Конфигурация.Формат", ФорматыИсходныхФайлов.XML);
ФорматИсходныхФайлов = МенеджерПараметров.Параметр("Configuration.SourceFormat", ФорматыИсходныхФайлов.XML);

Конвертер.УстановитьКаталогИсходниковКонфигурации(КаталогИсходниковКонфигурации, ФорматИсходныхФайлов);

КонецЕсли;

МассивРасширений = МенеджерПараметров.Параметр("Расширения");
ШаблонИмяРасширения = "Расширения.%1.Имя";
ШаблонКаталогИсходныхФайлов = "Расширения.%1.КаталогИсходныхФайлов";
ШаблонФормат = "Расширения.%1.Формат";
Для Индекс = 0 По МассивРасширений.Количество() - 1 Цикл
Расширения = МенеджерПараметров.Параметр("Extensions");
Если ТипЗнч(Расширения) = Тип("Массив") Тогда

ШаблонИмяРасширения = "Extensions.%1.Name";
ШаблонКаталогИсходныхФайлов = "Extensions.%1.SourcePath";
ШаблонФормат = "Extensions.%1.SourceFormat";
Для Индекс = 0 По Расширения.Количество() - 1 Цикл

ИндексСтрокой = XMLСтрока(Индекс);
ПараметрИмяРасширения = СтрШаблон(ШаблонИмяРасширения, ИндексСтрокой);
ПараметрКаталогИсходныхФайлов = СтрШаблон(ШаблонКаталогИсходныхФайлов, ИндексСтрокой);
ПараметрФормат = СтрШаблон(ШаблонФормат, ИндексСтрокой);
ИндексСтрокой = XMLСтрока(Индекс);
ПараметрИмяРасширения = СтрШаблон(ШаблонИмяРасширения, ИндексСтрокой);
ПараметрКаталогИсходныхФайлов = СтрШаблон(ШаблонКаталогИсходныхФайлов, ИндексСтрокой);
ПараметрФормат = СтрШаблон(ШаблонФормат, ИндексСтрокой);

ИмяРасширения = МенеджерПараметров.Параметр(ПараметрИмяРасширения);
КаталогИсходныхФайлов = МенеджерПараметров.Параметр(ПараметрКаталогИсходныхФайлов);
Формат = МенеджерПараметров.Параметр(ПараметрФормат, ФорматыИсходныхФайлов.XML);
ИмяРасширения = МенеджерПараметров.Параметр(ПараметрИмяРасширения);
КаталогИсходныхФайлов = МенеджерПараметров.Параметр(ПараметрКаталогИсходныхФайлов);
Формат = МенеджерПараметров.Параметр(ПараметрФормат, ФорматыИсходныхФайлов.XML);

Конвертер.ДобавитьИсходныеФайлыРасширения(ИмяРасширения, КаталогИсходныхФайлов, Формат);
Конвертер.ДобавитьИсходныеФайлыРасширения(ИмяРасширения, КаталогИсходныхФайлов, Формат);

КонецЦикла;
КонецЦикла;

КонецЕсли;

КонецПроцедуры

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
// Строка - Текущая версия приложения
//
Функция ВерсияПриложения() Экспорт
Возврат "0.7.0";
Возврат "0.8.0";
КонецФункции

// Возвращает имя приложения
Expand Down
4 changes: 4 additions & 0 deletions internal/converter/Классы/Конвертер.os
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@
ВидПрограммногоМодуля = СтрокаПокрытия.PropertyId;
ИДПрограммногоМодуля = СтрокаПокрытия.ObjectId;

Если КонвертерКонфигурации = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;

Возврат КонвертерКонфигурации.НайтиПрограммныйМодуль(ВидПрограммногоМодуля, ИДПрограммногоМодуля);

КонецФункции
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@
КаталогОбъектаМетаданных = ПолучитьОбъектИзКеша(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля);

Если КаталогОбъектаМетаданных = Неопределено Тогда
КаталогОбъектаМетаданных = НайтиОбъектМетаданных(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля,
"CommonModules");
КаталогиТиповОбъектовМетаданных = ОбработчикиФорматов.СписокКаталоговОбщийМодуль();
КаталогОбъектаМетаданных = НайтиОбъектМетаданныхВКаталогах(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля,
КаталогиТиповОбъектовМетаданных);
КонецЕсли;

Если КаталогОбъектаМетаданных = Неопределено Тогда
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@
ФайлОбъектаМетаданных = ПолучитьОбъектИзКеша(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля);

Если ФайлОбъектаМетаданных = Неопределено Тогда
ФайлОбъектаМетаданных = НайтиОбъектМетаданных(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля,
"CommonModules");
КаталогиТиповОбъектовМетаданных = ОбработчикиФорматов.СписокКаталоговОбщийМодуль();
ФайлОбъектаМетаданных = НайтиОбъектМетаданныхВКаталогах(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля,
КаталогиТиповОбъектовМетаданных);
КонецЕсли;

Если ФайлОбъектаМетаданных = Неопределено Тогда
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,17 @@

#Область СпискиКаталогов

Функция СписокКаталоговОбщийМодуль() Экспорт

СписокКаталогов = Новый Массив;
СписокКаталогов.Добавить("CommonModules");
СписокКаталогов.Добавить("HTTPServices");
СписокКаталогов.Добавить("WebServices");

Возврат СписокКаталогов;

КонецФункции

Функция СписокКаталоговМодульМенеджера() Экспорт

СписокКаталогов = Новый Массив;
Expand Down
7 changes: 7 additions & 0 deletions tests/testdata/configs/configurationEDT.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"$schema": "../../../api/convert-config-schema.json",
"Configuration": {
"SourcePath": "src/edt",
"SourceFormat": "EDT"
}
}
7 changes: 7 additions & 0 deletions tests/testdata/configs/configurationXML.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"$schema": "../../../api/convert-config-schema.json",
"Configuration": {
"SourcePath": "src/xml",
"SourceFormat": "XML"
}
}
Loading

0 comments on commit 6223eb9

Please sign in to comment.