{"id":26786940,"url":"https://github.com/bia-technologies/edt_ripper","last_synced_at":"2026-01-08T04:49:19.122Z","repository":{"id":60484943,"uuid":"543467898","full_name":"bia-technologies/edt_ripper","owner":"bia-technologies","description":"Консольная утилита для работы с замечаниями ЕДТ и файлами правил для SQ","archived":false,"fork":false,"pushed_at":"2024-09-12T06:51:51.000Z","size":136,"stargazers_count":13,"open_issues_count":3,"forks_count":4,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-09-12T16:37:08.299Z","etag":null,"topics":["1script","edt","oscript","sonarqube"],"latest_commit_sha":null,"homepage":"","language":"1C Enterprise","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bia-technologies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-30T06:54:57.000Z","updated_at":"2024-09-12T06:51:56.000Z","dependencies_parsed_at":"2024-03-25T14:45:51.669Z","dependency_job_id":null,"html_url":"https://github.com/bia-technologies/edt_ripper","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bia-technologies%2Fedt_ripper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bia-technologies%2Fedt_ripper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bia-technologies%2Fedt_ripper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bia-technologies%2Fedt_ripper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bia-technologies","download_url":"https://codeload.github.com/bia-technologies/edt_ripper/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246180890,"owners_count":20736460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1script","edt","oscript","sonarqube"],"created_at":"2025-03-29T12:17:21.787Z","updated_at":"2026-01-08T04:49:19.093Z","avatar_url":"https://github.com/bia-technologies.png","language":"1C Enterprise","funding_links":[],"categories":[],"sub_categories":[],"readme":"# edt-ripper\n\nКонсольная утилита для работы с замечаниями ЕДТ и файлами правил для SQ. выполняет разбор EDT отчета анализа проекта. Формирует результат в формате bsl-ls.\nМапит обнаруженные замечания с правилами (внутренний файл правил, внешний файл правил)\n\n## Возможности (команды)\n\n 1. Команда `parse` - преобразует файл с результатом анализа проекта из ЕДТ в отчет формата BSL LS. Если замечание будет новое, для которого еще нет правила, оно будет добавлено в хранилище правил.\n\n 2. Команда `publish` - удалит всю служебную информацию из хранилища правил. Итоговый файл готов к загрузке в SQ.\n\n## Ограничения\n\n+ Версия EDT \u003e 2021.2\n\n## Предварительные настройки проекта SonarQube\n\nДействия выполняются через UI SQ или через sonar.properties\n\n+ Активировать в SQ свойство `sonar.bsl.edt.enabled`\n+ Активировать в SQ свойство `sonar.bsl.edt.createExternalIssues` - опционально, но количество внешних замечаний позволит замечать необходимость обновить правила.\n+ Заполнить в SQ свойство `sonar.bsl.edt.rulesPaths` и положить ваш файл с правилами (или экспортированный командой `publish`) по этому пути в SQ.\n+ Перезагрузить SQ чтобы правила отобразились в связанных с EDT профилях качества.\n+ Проверить что правила появились. Ввиду особенности работы SQ может потребоваться удалить и установить плагин sonar-bsl чтобыправила обновились в профиле качества.\n+ Путь к файлу с результатом работы программы указывается в свойстве `sonar.bsl.languageserver.reportPaths` сканера SQ\n\n## Использование\n\n### Ключи\n\nКлюч `--help` покажет справку по глобальным параметрам\n\nКлюч `--version` используется для вывода на экран текущей версии программы.\u003cbr\u003eПри использовании этого ключа программа выведет на экран информацию о текущей версии и затем завершит свою работу.\n\nКлюч `-v / --verbose` используется для включения режима подробного вывода.\n\u003cbr\u003eПри использовании этого ключа программа будет выводить дополнительную информацию в процессе своей работы, чтоб может быть полезно при отладке.\n\nКлюч `-f / --file` позволяет указать внешний путь к файлу с правилами. По-умолчанию (если не указано) будет использоваться внутренний путь до файла с правилами, расположенный в каталоге с программой.\n\nКлюч `--export-rule-errors` указывает, следует ли сохранять ошибки, обнаруженные в процессе анализа (парсинга) замечаний в отдельный файл `custom-rules-errors.json`.\n\nКлюч `--nexus-rules-url` указывает URL-адрес до внешнего файла правил в репозитории Nexus. Если используется этот ключ, то ключ `-f / --file` - игнорируется.\n\nКлюч `--nexus-auth-username` указывает имя пользователя, используемое для аутентификации в Nexus. Имя пользователя обычно используется в паре с ключом `--nexus-auth-password`.\n\nКлюч `--nexus-auth-password` указывает пароль пользователя, используемый для аутентификации в Nexus. Аналогично ключу выше, также используется в паре с ключом `--nexus-auth-username`.\n\nКлюч `-c / --config` позволяет указать внешний путь к файлу настроек проверки.\n\n### Переменные окружения\n\nПеременные окружения служат в качестве альтернативы для большинства ключей.\n|Переменная окружения|Тип|Ключ|\n|-|-|-|\n|`EDT_RIPPER_VERBOSE`|Булево|`verbose`|\n|`EDT_RIPPER_RULES_FILE`|Строка|`file`|\n|`EDT_RIPPER_EXPORT_RULES_ERRORS`|Булево|`export-rule-errors`|\n|`EDT_RIPPER_NEXUS_RULES_URL`|Строка|`nexus-rules-url`|\n|`EDT_RIPPER_NEXUS_AUTH_USERNAME`|Строка|`nexus-auth-username`|\n|`EDT_RIPPER_NEXUS_AUTH_PASSWORD`|Строка|`nexus-auth-password`|\n|`EDT_RIPPER_CONFIG`|Строка|`config`|\n\n## Файл настроек проверки\n\nФайл настроек проверки представляет собой json файл.\n\nНа текущий момент содержит настройки для отключения ошибок. При совместном использовании с настройками \".bsl-language-server.json\" позволяет полностью использовать \"профиль качества\" из настроек репозитория.\n\n### Раздел: diagnostics:filter_id\n\nИспользуется для отключения ошибок по внутреннему коду правил EDT.\n\n### Раздел: diagnostics:filter_code\n\nИспользуется для отключения ошибок по коду правил EDT из файла правил.\n\nПример:\n```json\n {\n    \"diagnostics\":{\n        \"filter_id\":[\n            \"com.e1c.v8codestyle.bsl:doc-comment-field-in-description-suggestion\",\n            \"com.e1c.v8codestyle.bsl:method-optional-parameter-before-required\",\n            \"com.e1c.v8codestyle.bsl:doc-comment-return-section-type\"\n        ],\n        \"filter_code\":[\n            \"EDT-137\",\n            \"EDT-216\"\n        ]\n    }\n}\n```\n\n## Примеры использования\n\n### 1. Анализ замечаний (команда \"parse\")\n\nЭта команда используется в качестве \"первичной\" и готовит выходной файл для публикации.\n\n\u003c/br\u003e\u003cb\u003eИспользование ключей\u003c/b\u003e\n\n+ Разобрать замечания ЕДТ для проекта *configuration* в репозитории *my_awersome_rep* с \u003cu\u003eвнешним файлом правил\u003c/u\u003e и создать отчет *out.json*.\n\n```shell\nedt-ripper -f /mnt/share/custom-rules.json parse ./edt-validate-results ./my_awersome_rep/ configuration ./out.json\n```\n\n+ Разобрать замечания ЕДТ для проекта *configuration* в репозитории *my_awersome_rep* с \u003cu\u003eвнутренним файлом правил\u003c/u\u003e и создать отчет *out.json*\n\n```shell\n edt-ripper parse ./edt-validate-results ./my_awersome_rep/ configuration ./out.json\n```\n\n\u003c/br\u003e\u003cb\u003eИспользование переменных окружения\u003c/b\u003e\n\n```shell\nexport EDT_RIPPER_RULES_FILE=/mnt/share/custom-rules.json\n\nedt-ripper parse ./edt-validate-results ./my_awersome_rep/ configuration ./out.json\n```\n\n\u003c/br\u003e\u003cb\u003eИспользование записи ошибок\u003c/b\u003e\n\n```shell\nexport EDT_RIPPER_EXPORT_RULES_ERRORS=\"Истина\"\nexport EDT_RIPPER_RULES_FILE=/mnt/share/custom-rules.json\n\nedt-ripper parse ./edt-validate-results ./my_awersome_rep/ configuration ./out.json\n\n```\n\n\u003c/br\u003e\u003cb\u003eИспользование \"ЗагрузчикаПравил\" (взаимодействие с [Sonatype Nexus Repository](https://www.sonatype.com/products/sonatype-nexus-repository))\u003c/b\u003e\n\n```shell\nexport EDT_RIPPER_EXPORT_RULES_ERRORS=\"Истина\"\nexport EDT_RIPPER_NEXUS_RULES_URL=\"http://localhost:8080/repository/test/edt-ripper/custom-rules.json\",\nexport EDT_RIPPER_NEXUS_AUTH_USERNAME=\"adm1n\",\nexport EDT_RIPPER_NEXUS_AUTH_PASSWORD=\"P@SSw0rd256\",\n\nedt-ripper parse ./edt-validate-results ./my_awersome_rep/ configuration ./out.json\n\n```\n\n### 2. Публикация подготовленного файла замечаний для SQ (команда \"publish\")\n\nЭта команда используется в качестве \"завершающей\". Готовит локально публикацию файла замечаний для SQ.\n\n\u003c/br\u003e\u003cb\u003eИспользование переменных окружения\u003c/b\u003e\n\n```shell\nexport EDT_RIPPER_NEXUS_RULES_URL=\"http://localhost:8080/repository/test/edt-ripper/custom-rules.json\",\nexport EDT_RIPPER_NEXUS_AUTH_USERNAME=\"adm1n\",\nexport EDT_RIPPER_NEXUS_AUTH_PASSWORD=\"P@SSw0rd256\",\n\nedt-ripper \"publish\" \"./.report/out.json\"\n```\n\n---\n\n## todo\n\n+ Поддержка файла исключений\n+ Хранение и обновление файла custom-rules на Nexus\n+ Команда для мержа n разных файлов правил\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbia-technologies%2Fedt_ripper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbia-technologies%2Fedt_ripper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbia-technologies%2Fedt_ripper/lists"}