Skip to content

использование новых версий библиотек supportconf и common library#529

Merged
theshadowco merged 1 commit into
developfrom
feature/settings
Oct 9, 2025
Merged

использование новых версий библиотек supportconf и common library#529
theshadowco merged 1 commit into
developfrom
feature/settings

Conversation

@theshadowco

Copy link
Copy Markdown
Member

Описание

  1. использование новых версий библиотек supportconf и common library

Связанные задачи

Closes

Чеклист

Общие

  • Ветка PR обновлена из develop
  • Отладочные, закомментированные и прочие, не имеющие смысла участки кода удалены
  • Изменения покрыты тестами
  • Обязательные действия перед коммитом выполнены (запускал команду gradlew precommit)

Дополнительно

@coderabbitai

coderabbitai Bot commented Oct 9, 2025

Copy link
Copy Markdown

Walkthrough

Обновлены версии зависимостей. В логике чтения поддержки заменены вызовы ParseSupportData: вместо getSupportVariantByMDO()/readSimple теперь используются get()/read с проверками на null и существование файла. Добавлены условия: пропуск чтения при отсутствии UUID и при отсутствии ParentConfigurations.bin. Изменены импорты без изменения логики.

Changes

Cohort / File(s) Summary
Dependencies
build.gradle.kts
Обновлены артефакты io.github.1c-syntax: bsl-common-library до 0.9.0.18-SNAPSHOT; supportconf до 0.15.0.7-SNAPSHOT (с исключением bsl-common-library).
Reader context (MDC/MD)
src/main/java/.../context/MDCReaderContext.java, src/main/java/.../context/MDReaderContext.java
Замена получения варианта поддержки: на ParseSupportData.get(uuid, path); в MDReaderContext добавлена null-проверка UUID с дефолтом SupportVariant.NONE.
Readers (Designer/EDT)
src/main/java/.../designer/DesignerReader.java, src/main/java/.../edt/EDTReader.java
Перед чтением ParentConfigurations.bin добавлена проверка существования файла; заменён вызов readSimple(...) на read(...).
Converters
src/main/java/.../converter/AbstractReadConverter.java
Уточнены импорты; функциональная логика метода read не изменена.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Caller
  participant MDReaderContext
  participant ParseSupportData

  Caller->>MDReaderContext: new(..., uuid, currentPath)
  alt uuid != null
    MDReaderContext->>ParseSupportData: get(uuid, currentPath)
    ParseSupportData-->>MDReaderContext: SupportVariant
  else uuid == null
    note right of MDReaderContext: SupportVariant.NONE
  end
  MDReaderContext-->>Caller: instance initialized
Loading
sequenceDiagram
  autonumber
  actor Client
  participant Reader as DesignerReader/EDTReader
  participant FS as FileSystem
  participant ParseSupportData

  Client->>Reader: read(skipSupport=false)
  Reader->>FS: check ParentConfigurations.bin exists
  alt exists
    Reader->>ParseSupportData: read(ParentConfigurations.bin)
    ParseSupportData-->>Reader: support data loaded
  else not exists
    note right of Reader: пропуск чтения поддержки
  end
  Reader-->>Client: result
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

Прыжок по веткам версий — хоп!
Bin нашёл — читаю. Нету? Стоп.
UUID шепнёт: «Нет — NONE».
Поток прямой, а лишний звон —
Сняли. Хомут обнов — чуток,
И код бодрее рвётся в слог. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed Заголовок чётко отражает основное изменение в пулл-реквесте — обновление версий библиотек supportconf и common library, при этом сформулирован лаконично и конкретно, без лишнего «шума».
Description Check ✅ Passed Описание пулл-реквеста прямо связано с изменениями в коде, так как оно сообщает об использовании новых версий библиотек supportconf и common library, что соответствует обновлению зависимостей в проекте.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/settings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f4a7007 and 3c5e282.

📒 Files selected for processing (6)
  • build.gradle.kts (1 hunks)
  • src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDCReaderContext.java (1 hunks)
  • src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java (2 hunks)
  • src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/AbstractReadConverter.java (1 hunks)
  • src/main/java/com/github/_1c_syntax/bsl/reader/designer/DesignerReader.java (1 hunks)
  • src/main/java/com/github/_1c_syntax/bsl/reader/edt/EDTReader.java (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
  • GitHub Check: build (17, ubuntu-latest)
  • GitHub Check: build (23, ubuntu-latest)
  • GitHub Check: build (17, windows-latest)
  • GitHub Check: build (23, macOS-latest)
  • GitHub Check: build (23, windows-latest)
  • GitHub Check: build (21, windows-latest)
  • GitHub Check: build (17, macOS-latest)
  • GitHub Check: build (21, ubuntu-latest)
  • GitHub Check: QA
  • GitHub Check: build (23, ubuntu-latest)
  • GitHub Check: build (23, windows-latest)
  • GitHub Check: build (21, windows-latest)
  • GitHub Check: build (17, macOS-latest)
  • GitHub Check: build (23, macOS-latest)
  • GitHub Check: build (17, ubuntu-latest)
  • GitHub Check: build (17, windows-latest)
  • GitHub Check: build (21, macOS-latest)
  • GitHub Check: build (21, ubuntu-latest)
🔇 Additional comments (5)
build.gradle.kts (1)

62-66: LGTM! Обновление версий зависимостей выглядит корректным.

Версии библиотек обновлены согласно целям PR:

  • bsl-common-library: 0.9.0.16-SNAPSHOT → 0.9.0.18-SNAPSHOT
  • supportconf: 0.14.3 → 0.15.0.7-SNAPSHOT

Исключение bsl-common-library из supportconf сохранено, что предотвращает конфликты зависимостей.

Примечание: Использование SNAPSHOT-версий допустимо для ветки develop.

src/main/java/com/github/_1c_syntax/bsl/reader/edt/EDTReader.java (1)

117-120: LGTM! Добавлена проверка существования файла.

Код теперь проверяет наличие ParentConfigurations.bin перед чтением, что предотвращает ошибки при отсутствии файла. Использование ParseSupportData.read() соответствует обновлённому API библиотеки.

src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/AbstractReadConverter.java (1)

23-37: LGTM! Явные импорты улучшают читаемость.

Импорты сделаны явными без изменения функциональности класса.

src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java (1)

97-101: LGTM! Корректная обработка null-значения uuid.

Добавлена проверка на null перед вызовом ParseSupportData.get(), с безопасным значением по умолчанию SupportVariant.NONE. Это предотвращает потенциальные ошибки при отсутствии UUID.

src/main/java/com/github/_1c_syntax/bsl/reader/designer/DesignerReader.java (1)

113-116: LGTM! Добавлена проверка существования файла.

Реализован тот же защитный паттерн, что и в EDTReader: проверка существования ParentConfigurations.bin перед чтением. Это обеспечивает согласованность между читателями и повышает надёжность кода.

Comment on lines 79 to +80
var uuid = reader.getAttribute(UUID_FIELD_NAME);
supportVariant = ParseSupportData.getSupportVariantByMDO(uuid, currentPath);
supportVariant = ParseSupportData.get(uuid, currentPath);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Добавьте проверку на null для uuid.

В методе reader.getAttribute(UUID_FIELD_NAME) может вернуться null. При вызове ParseSupportData.get(uuid, currentPath) с null-значением uuid может возникнуть ошибка или некорректное поведение.

В MDReaderContext (строки 97-101) реализована null-safe обработка uuid. Рекомендуется применить аналогичный подход здесь для согласованности и надёжности.

Примените этот diff:

 var uuid = reader.getAttribute(UUID_FIELD_NAME);
-supportVariant = ParseSupportData.get(uuid, currentPath);
+if (uuid != null) {
+  supportVariant = ParseSupportData.get(uuid, currentPath);
+} else {
+  supportVariant = SupportVariant.NONE;
+}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
var uuid = reader.getAttribute(UUID_FIELD_NAME);
supportVariant = ParseSupportData.getSupportVariantByMDO(uuid, currentPath);
supportVariant = ParseSupportData.get(uuid, currentPath);
var uuid = reader.getAttribute(UUID_FIELD_NAME);
if (uuid != null) {
supportVariant = ParseSupportData.get(uuid, currentPath);
} else {
supportVariant = SupportVariant.NONE;
}
🤖 Prompt for AI Agents
In
src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDCReaderContext.java
around lines 79-80, add a null-check for the uuid returned by
reader.getAttribute(UUID_FIELD_NAME) before calling ParseSupportData.get(uuid,
currentPath); if uuid is null replace it with an empty string (or otherwise use
the same null-safe handling implemented in MDReaderContext at lines 97-101) and
then call ParseSupportData.get with the non-null value to avoid potential NPEs
or incorrect behavior.

@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2025

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Oct 9, 2025

Copy link
Copy Markdown
Contributor

Test Results

  522 files  ±0    522 suites  ±0   7m 24s ⏱️ +14s
  225 tests ±0    225 ✅ ±0  0 💤 ±0  0 ❌ ±0 
2 043 runs  ±0  2 043 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 3c5e282. ± Comparison against base commit f4a7007.

♻️ This comment has been updated with latest results.

@theshadowco
theshadowco merged commit 6c8e081 into develop Oct 9, 2025
25 checks passed
@theshadowco
theshadowco deleted the feature/settings branch October 9, 2025 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant