-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from yukon39/develop
Новая версия 0.3.0
- Loading branch information
Showing
9 changed files
with
217 additions
and
56 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"diagnostics": { | ||
"mode": "off" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
|
||
#Использовать fs | ||
|
||
#Область КомандаПриложения | ||
|
||
Процедура ОписаниеКоманды(Команда) Экспорт | ||
|
||
Команда.Опция("o output", "", "XML файл с результатами покрытия") | ||
.ТСтрока() | ||
.Обязательный(); | ||
|
||
Команда.Опция("w workspace", "", "Каталог проекта") | ||
.ТСтрока(); | ||
|
||
Команда.Опция("s sources", "", "Каталог исходных текстов конфигурации") | ||
.ТСтрока(); | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ВыполнитьКоманду(Знач Команда) Экспорт | ||
|
||
КаталогПроекта = Команда.ЗначениеОпции("workspace"); | ||
КаталогИсходниковКонфигурации = Команда.ЗначениеОпции("sources"); | ||
ФайлВывода = Команда.ЗначениеОпции("sources"); | ||
|
||
КаталогПриложения = ПараметрыПриложения.КаталогПриложения(); | ||
|
||
ПутьКлассовBSL = ОбъединитьПути(КаталогПриложения, "vendor", "BSLLSP", "*"); | ||
КонфигурацияАнализа = ОбъединитьПути(КаталогПриложения, "configs", "bsl-lsp-coverage.json"); | ||
|
||
ПараметрыПриложенияJava = УтилитыПриложения.НовыйПараметрыПриложенияJava(); | ||
ПараметрыПриложенияJava.ОсновнойКласс = "com.github._1c_syntax.bsl.languageserver.BSLLSPLauncher"; | ||
ПараметрыПриложенияJava.ПутиКлассов.Добавить(ПутьКлассовBSL); | ||
|
||
КаталогРезультатов = ПолучитьИмяВременногоФайла(); | ||
ФС.ОбеспечитьКаталог(КаталогРезультатов); | ||
|
||
Команда = УтилитыПриложения.КомандаПриложениеJava(ПараметрыПриложенияJava); | ||
Команда.ПоказыватьВыводНемедленно(Истина); | ||
Команда.ДобавитьПараметр("--analyze"); | ||
Команда.ДобавитьПараметр("--reporter genericCoverage"); | ||
Команда.ДобавитьПараметр(СтрШаблон("--srcDir ""%1""", КаталогИсходниковКонфигурации)); | ||
Команда.ДобавитьПараметр(СтрШаблон("--outputDir ""%1""", КаталогРезультатов)); | ||
Команда.ДобавитьПараметр(СтрШаблон("--configuration ""%1""", КонфигурацияАнализа)); | ||
Команда.ДобавитьПараметр("--silent"); | ||
Команда.Исполнить(); | ||
|
||
ФайлПокрытияXML = ОбъединитьПути(КаталогРезультатов, "genericCoverage.xml"); | ||
|
||
КопироватьФайл(ФайлПокрытияXML, ФайлВывода); | ||
|
||
УдалитьФайлы(КаталогРезультатов); | ||
|
||
КонецПроцедуры | ||
|
||
#КонецОбласти |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
|
||
#Область ПрограммныйИнтерфейс | ||
|
||
Функция КомандаПриложениеJava(ПараметрыПриложенияJava) Экспорт | ||
|
||
ПутьКлассов = СтрСоединить(ПараметрыПриложенияJava.ПутиКлассов, ";"); | ||
|
||
Команда = Новый Команда; | ||
Команда.УстановитьКоманду("java"); | ||
Команда.ДобавитьПараметр(СтрШаблон("-cp ""%1""", ПутьКлассов)); | ||
Команда.ДобавитьПараметр(ПараметрыПриложенияJava.ОсновнойКласс); | ||
|
||
Возврат Команда; | ||
|
||
КонецФункции | ||
|
||
Функция НовыйПараметрыПриложенияJava() Экспорт | ||
|
||
ПараметрыПриложенияJava = Новый Структура; | ||
ПараметрыПриложенияJava.Вставить("ОсновнойКласс", ""); | ||
ПараметрыПриложенияJava.Вставить("ПутиКлассов", Новый Массив); | ||
|
||
Возврат ПараметрыПриложенияJava; | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
|
||
#Область ПрограммныйИнтерфейс | ||
|
||
Функция ПрочитатьДанныеПокрытия(ФайлПокрытияJSON) Экспорт | ||
|
||
ДанныеПокрытия = Новый Массив; | ||
|
||
ЧтениеJSON = Новый ЧтениеJSON; | ||
ЧтениеJSON.ОткрытьФайл(ФайлПокрытияJSON, КодировкаТекста.UTF8); | ||
ЧтениеJSON.Прочитать(); | ||
|
||
Пока ЧтениеJSON.Прочитать() И ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.НачалоОбъекта Цикл | ||
|
||
ДанныеПокрытияМодуля = ПрочитатьJSON(ЧтениеJSON); | ||
|
||
НомераСтрок = Новый Соответствие; | ||
Для Каждого СтрокаПокрытия Из ДанныеПокрытияМодуля.LineNo Цикл | ||
НомераСтрок.Вставить(СтрокаПокрытия.lineNumber, СтрокаПокрытия.covered); | ||
КонецЦикла; | ||
ДанныеПокрытияМодуля.LineNo = НомераСтрок; | ||
|
||
КонецЦикла; | ||
|
||
ЧтениеJSON.Закрыть(); | ||
|
||
Возврат ДанныеПокрытия; | ||
|
||
КонецФункции | ||
|
||
Процедура ЗаписатьДанныеПокрытия(ФайлПокрытияJSON, ДанныеПокрытия) Экспорт | ||
|
||
ЗаписьJSON = Новый ЗаписьJSON; | ||
ЗаписьJSON.ОткрытьФайл(ФайлПокрытияJSON); | ||
ЗаписьJSON.ЗаписатьНачалоМассива(); | ||
|
||
Для каждого КлючИЗначение Из ДанныеПокрытия Цикл | ||
|
||
ДанныеПокрытияМодуля = КлючИЗначение.Значение; | ||
НомераСтрок = Новый Массив; | ||
Для Каждого КлючИЗначениеНомерСтроки Из ДанныеПокрытияМодуля.LineNo Цикл | ||
|
||
СтрокаПокрытия = Новый Структура; | ||
СтрокаПокрытия.Вставить("lineNumber", КлючИЗначениеНомерСтроки.Ключ); | ||
СтрокаПокрытия.Вставить("covered", КлючИЗначениеНомерСтроки.Значение); | ||
|
||
НомераСтрок.Добавить(СтрокаПокрытия); | ||
|
||
КонецЦикла; | ||
ДанныеПокрытияМодуля.LineNo = НомераСтрок; | ||
|
||
ЗаписатьJSON(ЗаписьJSON, КлючИЗначение.Значение); | ||
|
||
КонецЦикла; | ||
|
||
ЗаписьJSON.ЗаписатьКонецМассива(); | ||
ЗаписьJSON.Закрыть(); | ||
|
||
КонецПроцедуры | ||
|
||
Функция ПрочитатьДанныеПокрытияXML(ФайлПокрытияXML) Экспорт | ||
|
||
ДанныеПокрытия = Новый Массив; | ||
|
||
ЧтениеXML = Новый ЧтениеXML; | ||
ЧтениеXML.ОткрытьФайл(ФайлПокрытияXML); | ||
ЧтениеXML.ПерейтиКСодержимому(); | ||
|
||
ОписаниеТипаБулево = Новый ОписаниеТипов("Булево"); | ||
Пока ЧтениеXML.Прочитать() И ЧтениеXML.ЛокальноеИмя = "file" Цикл | ||
|
||
ДанныеПокрытияМодуля = НовыйДанныеПокрытияМодуля(); | ||
ДанныеПокрытияМодуля.SourcePath = ЧтениеXML.ПолучитьАтрибут("path"); | ||
|
||
Пока ЧтениеXML.Прочитать() И ЧтениеXML.ЛокальноеИмя = "lineToCover" Цикл | ||
|
||
lineNumber = ЧтениеXML.ПолучитьАтрибут("lineNumber"); | ||
covered = ОписаниеТипаБулево.ПривестиЗначение(ЧтениеXML.ПолучитьАтрибут("covered")); | ||
ДанныеПокрытияМодуля.LineNo.Вставить(lineNumber, covered); | ||
|
||
КонецЦикла; | ||
|
||
ДанныеПокрытия.Добавить(ДанныеПокрытияМодуля); | ||
|
||
КонецЦикла; | ||
|
||
ЧтениеXML.Закрыть(); | ||
|
||
Возврат ДанныеПокрытия; | ||
|
||
КонецФункции | ||
|
||
Функция НовыйДанныеПокрытияМодуля() Экспорт | ||
|
||
ДанныеПокрытияМодуля = Новый Структура; | ||
ДанныеПокрытияМодуля.Вставить("ModuleId", ""); | ||
ДанныеПокрытияМодуля.Вставить("SourcePath", ""); | ||
ДанныеПокрытияМодуля.Вставить("ObjectId", ""); | ||
ДанныеПокрытияМодуля.Вставить("PropertyId", ""); | ||
ДанныеПокрытияМодуля.Вставить("ModuleName", ""); | ||
ДанныеПокрытияМодуля.Вставить("ExtentionName", ""); | ||
ДанныеПокрытияМодуля.Вставить("URL", ""); | ||
ДанныеПокрытияМодуля.Вставить("LineNo", Новый Соответствие); | ||
|
||
Возврат ДанныеПокрытияМодуля; | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти |