-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Загрузка расширений в конфигурацию для прогона тестов. #104
Conversation
…, а не относительный
…, а не относительный
src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy
Outdated
Show resolved
Hide resolved
src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy
Outdated
Show resolved
Hide resolved
src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy
Outdated
Show resolved
Hide resolved
src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy
Outdated
Show resolved
Hide resolved
src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy
Show resolved
Hide resolved
commit df9515f Merge: d79e367 0899819 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Feb 13 16:55:11 2024 +0000 Merge pull request firstBitMarksistskaya#109 from firstBitMarksistskaya/dependabot/github_actions/actions/checkout-4 commit 0899819 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Feb 13 16:53:45 2024 +0000 Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> commit d79e367 Merge: 1cfefc2 5bdca69 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Feb 13 16:53:11 2024 +0000 Merge pull request firstBitMarksistskaya#108 from firstBitMarksistskaya/dependabot/github_actions/actions/setup-java-4 commit 5bdca69 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Feb 13 16:51:29 2024 +0000 Bump actions/setup-java from 3 to 4 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@v3...v4) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> commit 1cfefc2 Author: Nikita Fedkin <[email protected]> Date: Tue Feb 13 17:51:01 2024 +0100 Create dependabot.yml commit 3a1c9fb Merge: be33515 494f9b9 Author: Nikita Fedkin <[email protected]> Date: Tue Feb 13 17:43:26 2024 +0100 Merge pull request firstBitMarksistskaya#107 from ivanmolodec/file-exist-bug commit 494f9b9 Merge: 8c9a702 be33515 Author: Ivan Smirnov <[email protected]> Date: Tue Feb 13 19:38:25 2024 +0300 Merge branch 'firstBitMarksistskaya:develop' into file-exist-bug commit be33515 Author: Nikita Fedkin <[email protected]> Date: Tue Feb 13 17:29:25 2024 +0100 Fix dependencies download commit 8c9a702 Author: Ivan Smirnov <[email protected]> Date: Tue Feb 13 19:05:26 2024 +0300 Внесены правки в yaml файл для ci commit 7fb7fa1 Author: Ivan Smirnov <[email protected]> Date: Tue Feb 13 18:29:56 2024 +0300 Возвращено создание папки build/out commit bd943e9 Author: Ivan Smirnov <[email protected]> Date: Tue Feb 13 15:07:44 2024 +0300 Добавлена проверка на существование файла 1Cv8.1CD.zip, удален дубль создания папки build/out
Обзор измененийWalkthrough: Обновления вносят новую функциональность загрузки расширений в информационную базу, улучшают настройки Dependabot и GitHub Actions для Gradle, обновляют зависимости в Изменения:
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 4
Configuration used: CodeRabbit UI
Files ignored due to path filters (3)
resources/globalConfiguration.json
is excluded by:!**/*.json
resources/schema.json
is excluded by:!**/*.json
test/integration/resources/jobConfiguration.json
is excluded by:!**/*.json
Files selected for processing (18)
- .github/dependabot.yml (1 hunks)
- .github/workflows/gradle.yml (1 hunks)
- README.md (2 hunks)
- build.gradle.kts (3 hunks)
- jenkinsResources/core-version.txt (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/InitMethod.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy (4 hunks)
- src/ru/pulsar/jenkins/library/steps/GetExtensions.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (1 hunks)
- test/integration/groovy/jobConfigurationTest.groovy (1 hunks)
- vars/getExtensions.groovy (1 hunks)
- vars/loadExtensions.groovy (1 hunks)
- vars/pipeline1C.groovy (2 hunks)
- vars/zipInfobase.groovy (1 hunks)
Files skipped from review due to trivial changes (1)
- jenkinsResources/core-version.txt
Additional comments: 6
src/ru/pulsar/jenkins/library/configuration/InitMethod.groovy (1)
- 1-12: Изменения в файле
InitMethod.groovy
корректны и соответствуют лучшим практикам программирования. Использование аннотаций@JsonProperty
для указания имен свойств JSON является правильным подходом.vars/zipInfobase.groovy (1)
- 2-4: Добавление условной проверки для удаления существующего файла '1Cv8.1CD.zip' перед созданием нового архива и его сохранением улучшает надёжность скрипта, предотвращая потенциальные конфликты или ошибки.
vars/getExtensions.groovy (1)
- 1-10: Изменения в файле
getExtensions.groovy
корректны. Скрипт правильно использует зависимости и разделение ответственности, создавая новый экземплярGetExtensions
и запуская его с предоставленной конфигурацией.vars/loadExtensions.groovy (1)
- 1-10: Изменения в файле
loadExtensions.groovy
корректны. Скрипт аналогиченgetExtensions.groovy
, но создаёт и запускает экземплярLoadExtensions
. Подход правильный и соответствует лучшим практикам Groovy.vars/pipeline1C.groovy (2)
- 79-90: Добавлен этап "Сборка из исходников" корректно использует условие для выполнения, основанное на необходимости загрузки расширений. Использование таймаута и создание директории выглядят адекватно задачам этапа. Убедитесь, что логика внутри этапа оптимизирована и соответствует лучшим практикам.
- 122-132: Этап "Загрузка расширений в конфигурацию" также корректно реализован с учетом условия выполнения, зависящего от необходимости загрузки расширений. Применение таймаута соответствует ожиданиям. Рекомендуется проверить интеграцию и функциональность этого этапа в контексте всего пайплайна.
src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy
Outdated
Show resolved
Hide resolved
src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files selected for processing (1)
- src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy (4 hunks)
Additional comments: 4
src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy (4)
- 7-7: Добавлен импорт класса
InitMethod
, что соответствует описанию изменений.- 20-22: Добавлены константы для работы с расширениями. Это улучшает читаемость и поддерживаемость кода, позволяя легко изменять пути к расширениям в одном месте.
- 42-50: Переменные для работы с директориями и путями организованы логично. Однако, стоит обратить внимание на использование метода
getFilePath
изFileUtils
, который, судя по всему, предназначен для упрощения работы с путями. Убедитесь, что этот метод корректно обрабатывает различные операционные системы, особенно в контексте разделителей путей.- 56-58: Методы
transformConfiguration
иtransformExtensions
вызываются для трансформации конфигурации и расширений соответственно. Важно, что оба метода учитывают версию EDT, что позволяет гибко настраивать процесс трансформации. Убедитесь, что в документации четко описано, как определяется версия EDT и какие версии поддерживаются.
Добавил значения по умолчанию. Убрал из ридми инфу по синтакс контролю расширений.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 2
Configuration used: CodeRabbit UI
Files selected for processing (6)
- README.md (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/configuration/InitExtentionMethod.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy (4 hunks)
Files skipped from review as they are similar to previous changes (4)
- README.md
- src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy
- src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy
Additional comments: 3
src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy (3)
- 7-7: Добавлен импорт
InitMethod
, который необходим для работы с методами инициализации расширений. Это улучшает читаемость и поддерживаемость кода, позволяя явно указывать метод инициализации.- 20-22: Добавлены константы для работы с директориями и zip-файлами расширений. Это улучшает читаемость кода и облегчает его поддержку, делая пути к файлам и директориям более предсказуемыми.
- 60-63: Метод
transformConfiguration
обновлен для обработки проектного рабочего каталога. Это ключевое изменение, позволяющее корректно трансформировать конфигурацию из формата EDT в формат Конфигуратора.
src/ru/pulsar/jenkins/library/configuration/InitExtentionMethod.groovy
Outdated
Show resolved
Hide resolved
src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy
Outdated
Show resolved
Hide resolved
…, а не относительный
…, а не относительный
Добавил значения по умолчанию. Убрал из ридми инфу по синтакс контролю расширений.
…s.groovy Co-authored-by: Nikita Fedkin <[email protected]>
Co-authored-by: Nikita Fedkin <[email protected]>
…s.groovy Co-authored-by: Nikita Fedkin <[email protected]>
Убрал лишний перенос строки. Добавил функционал для скачивания по локальному пути.
…rmation.groovy Ребейз из девелопа
# Conflicts: # src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files selected for processing (10)
- src/ru/pulsar/jenkins/library/IStepExecutor.groovy (4 hunks)
- src/ru/pulsar/jenkins/library/StepExecutor.groovy (4 hunks)
- src/ru/pulsar/jenkins/library/steps/Cmd.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/steps/DesignerToEdtFormatTransformation.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy (3 hunks)
- src/ru/pulsar/jenkins/library/steps/EdtValidate.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/RingCommand.groovy (1 hunks)
- test/unit/groovy/ru/pulsar/jenkins/library/steps/CmdTest.java (4 hunks)
- vars/cmd.groovy (1 hunks)
- vars/ringCommand.groovy (1 hunks)
Additional comments: 14
vars/ringCommand.groovy (1)
- 4-8: Изменения в файле
vars/ringCommand.groovy
выглядят корректно. Не обнаружено проблем с точки зрения синтаксиса, логики или производительности.vars/cmd.groovy (1)
- 4-7: Добавление параметра
returnStdout
в функциюcall
улучшает гибкость использования. Убедитесь, что все вызовы этой функции в кодовой базе были обновлены с учетом нового параметра.Verification successful
Изменения в сигнатуре функции
cmd
, включая добавление параметраreturnStdout
, корректно отражены в кодовой базе. Вызовы этой функции в проекте соответствуют новой сигнатуре, и новый параметр используется с учетом значений по умолчанию, где это необходимо. Это подтверждает, что изменения были успешно интегрированы в проект.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Поиск вызовов функции cmd в проекте для проверки обновления параметров rg --type groovy 'cmd\('Length of output: 1462
src/ru/pulsar/jenkins/library/steps/RingCommand.groovy (1)
- 19-28: Обработка ошибок в методе
run
классаRingCommand
может привести к прерыванию выполнения, если сообщение содержит "error". Убедитесь, что это ожидаемое поведение в данном контексте.src/ru/pulsar/jenkins/library/steps/EdtToDesignerFormatTransformation.groovy (7)
- 7-7: Добавлен импорт
InitExtensionMethod
. Это изменение соответствует целям PR по улучшению механизма обработки расширений.- 19-21: Добавлены константы для директории расширений, zip-файла и stash. Эти константы улучшают читаемость и поддерживаемость кода, позволяя избежать "магических строк".
- 41-47: Переменные
srcDir
,workspaceDir
,projectWorkspaceDir
,projectDir
иconfigurationRoot
объявлены и инициализированы для использования в процессе трансформации. Это изменение упрощает понимание логики работы с файловой системой.- 49-49: Добавлена переменная
extensionRoot
для указания корневой директории расширений. Это улучшение поддерживает новую функциональность по обработке расширений.- 52-56: Вызовы методов
deleteDir
,transformConfiguration
иtransformExtensions
обеспечивают очистку рабочих директорий и трансформацию конфигурации и расширений. Важно убедиться, что обработка ошибок и логирование в этих методах реализованы корректно.- 58-65: Метод
transformConfiguration
отвечает за трансформацию конфигурации из формата EDT в формат Конфигуратора. Важно, чтобы в этом методе была реализована корректная обработка ошибок и детальное логирование для упрощения диагностики и устранения возможных проблем.- 71-92: Метод
transformExtensions
отвечает за трансформацию расширений. Важно проверить, что для каждого расширения, инициализируемого из исходного кода, происходит корректная трансформация и обработка ошибок. Также следует убедиться в наличии детального логирования.src/ru/pulsar/jenkins/library/StepExecutor.groovy (4)
- 3-3: Добавлен импорт
hudson.FilePath
. Это изменение необходимо для работы с файловой системой Jenkins и поддерживает добавление новых методов в класс.- 26-32: Изменены сигнатуры методов
sh
иbat
для добавления параметраreturnStdout
. Это улучшение позволяет получать вывод команды напрямую, что может быть полезно для дальнейшей обработки результатов выполнения команд.- 61-67: Добавлен новый метод
ringCommand
. Это упрощает выполнение командring
, используемых для работы с 1С:Enterprise Development Tools, и способствует централизации логики выполнения команд.- 129-133: Добавлен новый метод
deleteDir
, принимающий параметрFilePath
. Это расширение функциональности позволяет более гибко управлять удалением директорий, используя объектыFilePath
, что улучшает интеграцию с Jenkins API.
if (returnStatus & returnStdout) { | ||
steps.error("returnStatus and returnStdout are not supported at the same time") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Проверка в методе run
, которая не позволяет одновременно использовать returnStatus
и returnStdout
, может ограничивать некоторые сценарии использования. Рассмотрите возможность пересмотра этой логики.
Вот примерное видение того, как можно загружать расширения.
Реализовано:
Summary by CodeRabbit
Новые функции
jenkinsResources/core-version.txt
.Исправления ошибок
Тесты