mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-09 21:13:22 +03:00
fix(epf-init,erf-init,form-add): CRLF в разделителях строк модуля
Скелетные генераторы писали Module.bsl с LF, а платформа пишет модули с CRLF: в выгрузке БП 2643 CRLF и чисто-LF 0 из 3001 модуля (358 «смешанных» — LF внутри строковых литералов кода), BOM 2001/2001. По тому же доводу сходимости, что и для XML: платформа перепишет модуль в CRLF при первой выгрузке, значит наш LF — дифф, созданный нами. В репозитории уже была встречная конвенция: meta-compile (модуль команды) и cfe-patch-method (base/local/remote.bsl) пишут .bsl явным CRLF в обоих портах. Выбивались только эти три скелета. Хвостовой перевод строки НЕ трогаем: у платформы он неканоничен — 1235 модулей с ним, 766 без; это след автора кода, а не правило. Меняем только разделители. Правка в точке записи, а не в шаблоне: так одна строка на скрипт и не трогаются \u-экранированные кириллические литералы в py (Edit по ним переэкранирует). Снэпшоты нормализуют EOL и увидеть это не могут — добавлен preserves на модуль в epf-init/basic, erf-init/basic, form-add/basic. Windows 641/641 обоими портами, мак 590/0/51, дрейфа снэпшотов нет. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
caf038a192
commit
d05c91be03
@@ -1,4 +1,4 @@
|
||||
# epf-init v1.2 — Init 1C external data processor scaffold
|
||||
# epf-init v1.3 — Init 1C external data processor scaffold
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
@@ -92,6 +92,11 @@ $moduleBsl = @"
|
||||
"@
|
||||
|
||||
$modulePath = Join-Path $extDir "ObjectModule.bsl"
|
||||
# Модуль пишем в каноне платформы: CRLF в разделителях строк (корпус: 2643 CRLF,
|
||||
# чисто-LF 0 из 3001). Хвостовой перевод НЕ навязываем — у платформы он
|
||||
# неканоничен (1235 модулей с ним, 766 без). Шаблон берёт переводы строк из
|
||||
# самого скрипта, а он в репозитории хранится с LF.
|
||||
$moduleBsl = ($moduleBsl -replace "`r`n", "`n") -replace "`n", "`r`n"
|
||||
[System.IO.File]::WriteAllText($modulePath, $moduleBsl, $enc)
|
||||
|
||||
Write-Host "[OK] Создана обработка: $rootFile"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# epf-init v1.2 — Init 1C external data processor scaffold
|
||||
# epf-init v1.3 — Init 1C external data processor scaffold
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
"""Generates minimal XML source files for a 1C external data processor."""
|
||||
import sys, os, argparse, uuid
|
||||
@@ -96,7 +96,10 @@ def main():
|
||||
#КонецОбласти"""
|
||||
|
||||
module_path = os.path.join(ext_dir, "ObjectModule.bsl")
|
||||
write_utf8_bom(module_path, module_bsl)
|
||||
# Модуль пишем в каноне платформы: CRLF в разделителях строк (корпус: 2643 CRLF,
|
||||
# чисто-LF 0 из 3001). Хвостовой перевод НЕ навязываем — у платформы он
|
||||
# неканоничен (1235 модулей с ним, 766 без).
|
||||
write_utf8_bom(module_path, module_bsl.replace('\r\n', '\n').replace('\n', '\r\n'))
|
||||
|
||||
print(f"[OK] Создана обработка: {root_file}")
|
||||
print(f" Каталог: {processor_dir}")
|
||||
|
||||
Reference in New Issue
Block a user