Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
227 commits
Select commit Hold shift + click to select a range
aa145e7
fix #1542: точное позиционирование ошибки
Mr-Rm May 29, 2025
9217227
убрано НЕ из бинарных операторов
Mr-Rm May 29, 2025
65a8d40
уточнение места ошибки препроцессора
Mr-Rm May 29, 2025
5b79c11
опечатки
Mr-Rm May 29, 2025
461e1b8
убран переход к следующему токену и возможное NRE
Mr-Rm May 30, 2025
3d4fb17
Исправлены ошибки в сборке
EvilBeaver Jun 9, 2025
15d7d8e
fix #1552. Слово Ждать вне асинхронного метода не должно иметь специа…
EvilBeaver Jun 12, 2025
6d8e2cb
Некоторая адаптация под нет8 в части указания фреймворка
EvilBeaver Jun 17, 2025
6d0eb1a
Разрешено использование комментариев в строке с директивой Использовать
EvilBeaver Jun 17, 2025
ae53749
Разрешены комментарии после аннотаций модуля
EvilBeaver Jun 17, 2025
5ee6ad0
Ошибочно вкоммитил net8
EvilBeaver Jun 17, 2025
ca6e382
Исправление ошибки в дженкинсфайле
EvilBeaver Jun 19, 2025
90d26e4
Merge remote-tracking branch 'origin/develop' into develop
EvilBeaver Jun 19, 2025
d8dfe79
Правка замечания от кролика
EvilBeaver Jun 19, 2025
e39dee9
Merge pull request #1553 from EvilBeaver/feature/1545-comment-after-d…
EvilBeaver Jun 19, 2025
4999c75
Просочились неявные юсинги
EvilBeaver Jun 19, 2025
6b3bb3d
Существенно ускорена компиляция большого числа модулей
EvilBeaver Jun 19, 2025
6ebb094
изменена отметка позиции ошибки
Mr-Rm Jun 19, 2025
1a8f0b4
Однократное считывание файла исходника, при регистрации
EvilBeaver Jun 19, 2025
28a4a75
Привнес ошибку, вернул правильный код
EvilBeaver Jun 19, 2025
9724e39
Merge pull request #1547 from Mr-Rm/v2/fix-1542
EvilBeaver Jun 20, 2025
ced957e
Удалены файлы из LFS
EvilBeaver Jul 10, 2025
346ab70
Merge branch 'develop' of https://github.com/EvilBeaver/OneScript int…
EvilBeaver Jul 10, 2025
ac66f4c
NRE при отключении отладки от работающего процесса
EvilBeaver Jul 11, 2025
b7e4d2a
Защита от записи в закрытый канал
EvilBeaver Jul 11, 2025
3f99bf2
Отлов исключения при записи события от таргета в закрытый канал
EvilBeaver Jul 11, 2025
5b5dd33
Конфигурирование лога
EvilBeaver Jul 11, 2025
d347910
Изменены уровни логов, исправлены исключения при деструктуризации dto…
EvilBeaver Jul 11, 2025
29f61a2
Обмен версией протокола в части dto
EvilBeaver Jul 13, 2025
50a9147
Грязный хак для попытки выяснить тип сериализатора на той стороне
EvilBeaver Jul 14, 2025
9f00a64
Удалил никогда по факту не работавший метод GetProtocolVersion и пере…
EvilBeaver Jul 14, 2025
9f13926
Вынес обработку событий и контейнер переменных в отдельные классы
EvilBeaver Jul 14, 2025
d4ff53b
Переименовал сервер отладки, убрал слово binary
EvilBeaver Jul 15, 2025
be5c642
Канал обмена json объектами
EvilBeaver Jul 15, 2025
daa0894
Черновик нового протокола с согласованием версий
EvilBeaver Jul 15, 2025
fa8e618
Работающий вариант 2.0-2.0
EvilBeaver Jul 16, 2025
4067562
Фикс лицензий в исходниках
EvilBeaver Jul 16, 2025
2fea7ca
Использование сравнения Ordinal по совету кролика
EvilBeaver Jul 16, 2025
c8e4db1
Кролик сделал косячный suggest
EvilBeaver Jul 16, 2025
d8b4230
Отменил переход на версию языка 8, т.к. net4.8 ее не поддерживает (хо…
EvilBeaver Jul 16, 2025
71836c6
Частичные чтения потока
EvilBeaver Jul 18, 2025
f5368f9
Упрощено чтение и добавлена валидация
EvilBeaver Jul 18, 2025
c2e4469
Упрощение логики проверки от кролика
EvilBeaver Jul 18, 2025
bc90abd
Новый протокол дебаггера, совместимый с net8 и старыми версиями движка
EvilBeaver Jul 18, 2025
da2e218
Create copilot-instructions.md
nixel2007 Jul 18, 2025
46bee4d
Create copilot-setup-steps.yml
nixel2007 Jul 18, 2025
8cf0490
Другой алгоритм согласования для старых версий
EvilBeaver Jul 21, 2025
0aa5494
Передача размера в сообщении JSON
EvilBeaver Jul 21, 2025
196ae54
Отправка подлинного объекта в двоичном виде
EvilBeaver Jul 22, 2025
a74ccf9
Рабочий вариант, совместимый с веткой 1
EvilBeaver Jul 23, 2025
c48dfe2
Избыточное логирование
EvilBeaver Jul 23, 2025
a37efae
Фикс теста лицензий
EvilBeaver Jul 23, 2025
5398789
Поднял уровень сообщения для выбранной версии протокола
EvilBeaver Jul 27, 2025
cb47ba4
Удалил непригодившийся класс
EvilBeaver Jul 27, 2025
53421fa
Merge remote-tracking branch 'origin/develop' into develop
EvilBeaver Jul 27, 2025
5c9d608
Пробую вынести общие куски кода в методы дженкинсфайла
EvilBeaver Jul 27, 2025
0cc0345
Исправления в jenkinsfile
EvilBeaver Jul 27, 2025
e75f33a
Кодировка может выдавать !Equals даже на совпадающей кодовой странице
EvilBeaver Jul 29, 2025
a9dcf84
Добавил вывод пути, по которому ищется прокси-библиотека NativeApi
EvilBeaver Jul 29, 2025
9e92e78
Отключил полностью LFS
EvilBeaver Jul 29, 2025
f69ff53
Адаптация под библиотеку DotNetZip.Original
EvilBeaver Jul 29, 2025
2ab4e87
Original все еще уязвим и имеет незакрытую CVE-2024-48510
EvilBeaver Jul 29, 2025
3972cb8
fix #1514 Замена dotnetzip на другой форк
EvilBeaver Aug 3, 2025
077ea48
Изменения в версии
EvilBeaver Aug 3, 2025
603046f
sudo
EvilBeaver Aug 3, 2025
bd9b7e4
Перевод на net8 (#1562)
EvilBeaver Aug 4, 2025
e17fe9a
Сборка докер-образа v1 на Jenkins
nixel2007 Aug 6, 2025
be55753
Перенос сборки в основной дженкинсфайл
nixel2007 Aug 7, 2025
e6fb819
develop -> dev
nixel2007 Aug 7, 2025
ce7d401
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
5c3d0ca
#1569 Сбрасываем флаг Стандартной обработки при загрузке DLL.
dmpas Aug 18, 2025
1c903a7
#1569 Сбрасываем флаг Стандартной обработки при загрузке DLL.
EvilBeaver Aug 20, 2025
1769fef
Merge pull request #1568 from EvilBeaver/dependabot/github_actions/ac…
EvilBeaver Aug 20, 2025
8c6177b
Bump actions/setup-java from 4 to 5
dependabot[bot] Aug 21, 2025
da9a017
Merge pull request #1574 from EvilBeaver/dependabot/github_actions/ac…
nixel2007 Aug 21, 2025
458a559
fix #1573: добавлен корректный хеш для поиска в таблице по индексу +тест
Mr-Rm Aug 22, 2025
3581fdd
fix #1573: добавлен корректный хеш для поиска в таблице по индексу +тест
EvilBeaver Aug 25, 2025
971d555
fix #1577: сортировка неупорядочиваемых типов +тест
Mr-Rm Sep 1, 2025
04bf949
проверка на сравнимость
Mr-Rm Sep 3, 2025
b048edf
уточнены и расширены тесты
Mr-Rm Sep 3, 2025
15235dc
сравнение по представлениям
Mr-Rm Sep 3, 2025
888250a
Bump actions/setup-dotnet from 4 to 5
dependabot[bot] Sep 4, 2025
14fb358
Merge pull request #1579 from EvilBeaver/dependabot/github_actions/ac…
nixel2007 Sep 4, 2025
e6f553c
Другой подход к устаревшим методам
EvilBeaver Sep 5, 2025
a52aac6
Начал применение DeprecatedName к перечислению
EvilBeaver Sep 5, 2025
ce76736
Механика устаревания для свойств
EvilBeaver Sep 5, 2025
3845405
fix #1577: сортировка неупорядочиваемых типов +тест
EvilBeaver Sep 10, 2025
c9c832f
#392: ЗаписатьТекущий пишет только текущее состояние.
dmpas Sep 10, 2025
43543b9
fix #1582: общий интерфейс для сравнимых
Mr-Rm Sep 10, 2025
b3e8482
тесты сортировки примитивных типов
Mr-Rm Sep 10, 2025
94a5c42
#1585 Параметр чтения XML ИгнорироватьТипДокумента.
dmpas Sep 10, 2025
eaf9822
#1586 Пропуск пробельных символов после служебных элементов XML.
dmpas Sep 10, 2025
ce17020
Сравнение строк без учета регистра в testrunner.
dmpas Sep 10, 2025
8767960
#392 Копирование декларации xml и типа документа.
dmpas Sep 10, 2025
a857ede
добавлен комментарий к интерфейсу
Mr-Rm Sep 11, 2025
e9dd9ec
Переопределение пространств имен при копировании атрибутов.
dmpas Sep 11, 2025
44a55bd
выделено исключение сравнения
Mr-Rm Sep 11, 2025
1d81fcc
CDATA в ЗаписатьТекущий.
dmpas Sep 11, 2025
b06bff4
Комментарии в ЗаписатьТекущий
dmpas Sep 11, 2025
655afbe
Опечатка.
dmpas Sep 11, 2025
ed060af
уточнены сообщения об шибках
Mr-Rm Sep 11, 2025
8d71eee
по coderabbit review: исправлено получение имени типа
Mr-Rm Sep 11, 2025
52c170d
сравнение поднято в базовый класс; уточнены тесты
Mr-Rm Sep 11, 2025
c571c4d
исправлен тест
Mr-Rm Sep 11, 2025
5e4e5a8
Ссылка на сущность в ЗаписатьТекущий.
dmpas Sep 16, 2025
26c189f
Инструкции обработки в ЗаписатьТекущий.
dmpas Sep 16, 2025
be9169a
сортировка несовпадающих типов
Mr-Rm Sep 26, 2025
4c5da55
Initial plan
Copilot Oct 3, 2025
9f47c0f
Initial exploration of debug adapter reconnection issue
Copilot Oct 3, 2025
dc909b3
Fix debug adapter reconnection in attach mode
Copilot Oct 3, 2025
74718db
Add tests for debug adapter reconnection functionality
Copilot Oct 3, 2025
33ce069
Remove accidental opm.ospx file
Copilot Oct 3, 2025
0e44c9b
Addressing PR comments
Copilot Oct 3, 2025
1cf804c
Revert changes to DefaultMessageServer per code review
Copilot Oct 3, 2025
2a24f95
Implement ReconnectableDebugController for Option B
Copilot Oct 3, 2025
53f6518
Address code review feedback: simplify API and revert DelayedConnecti…
Copilot Oct 4, 2025
6458441
ЗаписатьТекущий пишет только текущее состояние
EvilBeaver Oct 12, 2025
dfdc9f4
Реализован доступ к свойствам перечисления через интерфейс свойств
EvilBeaver Oct 27, 2025
c9b35d4
Properly dispose channel in DisposeSession
Copilot Oct 28, 2025
18a1307
Dispose TcpEventCallbackChannel in DisposeSession
Copilot Oct 29, 2025
e4b7c8b
Возможность регистрировать свойства с заданным определением
EvilBeaver Oct 29, 2025
dfc70bf
Make IDebugEventListener extend IDisposable
Copilot Oct 30, 2025
aa512b4
Устаревание для класса перечислений и красный тест для устаревания зн…
EvilBeaver Oct 30, 2025
d9e9068
Устаревание для значений перечислений
EvilBeaver Oct 31, 2025
6e48024
Merge branch 'refs/heads/feature/deprecation-for-enums-1544' into dev…
EvilBeaver Oct 31, 2025
48c895f
Merge pull request #1594 from EvilBeaver/copilot/fix-d5c329b1-521d-4a…
EvilBeaver Nov 2, 2025
e19d539
Небольшие правки оглавления в синтакс-помощнике
EvilBeaver Nov 2, 2025
c450da9
Добавлена первая версия ai-описания проекта
EvilBeaver Nov 4, 2025
381c601
Удалены нерелевантные для v2 файлы из install
EvilBeaver Nov 4, 2025
27bab54
Заголовок-пояснение для package-loader.os
EvilBeaver Nov 4, 2025
c3db3dc
Удалены устаревшие проекты
EvilBeaver Nov 4, 2025
4b5ccea
сортировка значений типа Тип +поправки в тестах
Mr-Rm Nov 4, 2025
cf166f2
Reverted copilot's Reconnectable Debugger task
EvilBeaver Nov 5, 2025
cb99362
добавлены комментарии
Mr-Rm Nov 5, 2025
71d1631
новые правила сортировки внесены в КоллекцияСтрокДереваЗначений
Mr-Rm Nov 5, 2025
25c0e3b
убраны лишние обращения к Linq
Mr-Rm Nov 5, 2025
a0efa72
Вызов документера из скрипта сборки
EvilBeaver Nov 5, 2025
ea739f8
вынесен класс исключений, перевод и уточнение сообщений
Mr-Rm Nov 5, 2025
453425d
Fix typo: extra space in error message
Mr-Rm Nov 5, 2025
0173f7a
Параметр командной строки для запуска без ожидания отладчика
EvilBeaver Nov 6, 2025
6137cee
Переименованы методы контроллера отладки
EvilBeaver Nov 6, 2025
241d438
#1603 strReplace test
asosnoviy Nov 7, 2025
6c323fa
#1603 fix strReplase
asosnoviy Nov 7, 2025
e5188ef
Merge pull request #1604 from asosnoviy/fix/strreplase
EvilBeaver Nov 7, 2025
e3d265d
Удалены использования IDebugController из основного кода
EvilBeaver Nov 7, 2025
9adbea0
#1603 fix strReplase second
asosnoviy Nov 7, 2025
e5ff593
fix #1602: преобразование ЭлементСпискаЗначений в строку +тест
Mr-Rm Nov 7, 2025
e3fcb95
рефакторинг
Mr-Rm Nov 7, 2025
c7d503a
Новая реализация сервера отладки
EvilBeaver Nov 7, 2025
91e191d
Merge pull request #1605 from asosnoviy/fix/strreplase
EvilBeaver Nov 7, 2025
4b3beaa
Merge pull request #1606 from Mr-Rm/v2/fix-1602
EvilBeaver Nov 7, 2025
ed344f0
Merge pull request #1584 from Mr-Rm/v2/fix-1582
EvilBeaver Nov 7, 2025
e6f8137
Заготовки тестов отладчика
EvilBeaver Nov 10, 2025
edb7e77
Тесты старта сессии
EvilBeaver Nov 11, 2025
13bfc5b
Фиксы тестов
EvilBeaver Nov 12, 2025
f181da8
Фикс тестов
EvilBeaver Nov 12, 2025
db88259
Merge branch 'refs/heads/feature/reconnectable-debug' into develop
EvilBeaver Nov 12, 2025
6a9379b
Use ValueIsFilled and short timeout in HTTP tests | files:1 +9 -6
Nov 13, 2025
a12c764
Исправлена ошибка компиляции
EvilBeaver Nov 13, 2025
36fcc51
Merge pull request #1610 Use ValueIsFilled and short timeout in HTTP …
EvilBeaver Nov 13, 2025
fc8c610
Исправление сообщений об устаревшем глобальном свойстве
EvilBeaver Nov 13, 2025
05db705
Все классы вебсервера вынесены в раздел документации
EvilBeaver Nov 13, 2025
3614a2d
Fix DST handling in UniversalTime for EET | files:1 +43 -0
Nov 13, 2025
b71e7a0
fixes #1611 Временные зоны для восточно-европейского времени и починк…
EvilBeaver Nov 13, 2025
50e1f14
Заглушка при отсутствии процесса на attach
Bayselonarrend Nov 14, 2025
3ce09b7
Поправил русскую букву и дополнил комментарий
EvilBeaver Nov 14, 2025
bb8d1c6
Упрощения по совету кролика
EvilBeaver Nov 14, 2025
5897c42
Временное отключение получения fullpath для breakpoint
Bayselonarrend Nov 14, 2025
452e096
Merge pull request #1611 Fix DST handling in UniversalTime for EET cl…
EvilBeaver Nov 14, 2025
ed6cdae
Замена path в source отладки по переменным окружения
Bayselonarrend Nov 14, 2025
b71749d
Перенос переменных в attach, доработка нормализации
Bayselonarrend Nov 14, 2025
9f4d148
Включение нормализации в OscriptDebugSession
Bayselonarrend Nov 14, 2025
716451b
Перенос значений workspace в поля класса
Bayselonarrend Nov 14, 2025
46d1f63
Правка нормализации путей, удаление сообщений консоли
Bayselonarrend Nov 14, 2025
c12dc8d
Перенос замены пути в DebugeeProcess, обработка приема
Bayselonarrend Nov 14, 2025
158c55d
Обновлен английский readme
EvilBeaver Nov 14, 2025
53b21de
Merge branch 'develop' of https://github.com/EvilBeaver/OneScript int…
EvilBeaver Nov 14, 2025
37c237d
Доработка преобразования путей
Bayselonarrend Nov 14, 2025
87f7e43
Добавлены свойства воркспейса
EvilBeaver Nov 14, 2025
c1da60a
fixed #1567 - отображение в отладке параметров метода
EvilBeaver Nov 14, 2025
4561a11
Расширена документация для ai-агента
EvilBeaver Nov 14, 2025
5f1c1b5
Сборка документации добавлена в пайплайн
EvilBeaver Nov 14, 2025
1bc5e29
Доработки по замечаниям
Bayselonarrend Nov 14, 2025
7f659e9
Мелкие правки опечаток
Bayselonarrend Nov 14, 2025
fc7e717
Фикс разбора объекта pathsMapper из launch.json
Bayselonarrend Nov 14, 2025
00a373d
Перенос создание PathsMapper в Attach, проверки на null
Bayselonarrend Nov 14, 2025
1f0fcc5
Фикс HasExited и получения PathsMapper из json
Bayselonarrend Nov 14, 2025
ec54e25
Оптимизация конвертации путей
Bayselonarrend Nov 15, 2025
349cdbb
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 20, 2025
1df0e5c
Merge pull request #1617 from EvilBeaver/dependabot/github_actions/ac…
nixel2007 Nov 21, 2025
5e8ad5d
Apply suggestions from code review
nixel2007 Nov 21, 2025
5ca7d6b
Ошибки в тесте http
EvilBeaver Nov 21, 2025
ff177c5
Merge remote-tracking branch 'origin/develop' into develop
EvilBeaver Nov 21, 2025
55cb65e
Исправлен синтаксис
nixel2007 Nov 21, 2025
fa77edf
Merge pull request #1565 from EvilBeaver/feature/docker-build
EvilBeaver Nov 22, 2025
6d38d8c
Правила курсора
EvilBeaver Nov 22, 2025
0bef9be
Разделение на рантайм модуль и образ модуля
EvilBeaver Nov 22, 2025
9e73492
Заменен тип биндинга в образе модуля
EvilBeaver Nov 22, 2025
cb25ba5
Заменен подход к получению переменных из контекстов, класс IAttachabl…
EvilBeaver Nov 22, 2025
074c56f
Оптимизация обращения к BilingualString.HasName
EvilBeaver Nov 25, 2025
9e47acf
Fix eval scopes binding and tests
Nov 28, 2025
f3f0f32
Корректировка правил курсора и запускалки тестов
Nov 28, 2025
fcab78f
Revert "Оптимизация обращения к BilingualString.HasName"
EvilBeaver Nov 28, 2025
8f71101
Удалена привязка к конкретной версии win sdk
EvilBeaver Nov 30, 2025
b7ca712
Использую ThisScope при компиляции, что более правильно семантически
EvilBeaver Nov 30, 2025
4b8a423
Merge branch 'develop' of https://github.com/EvilBeaver/OneScript int…
EvilBeaver Nov 30, 2025
458a529
Правило курсора о версии языка
EvilBeaver Dec 1, 2025
9ef7b18
fixes #1540 Предупреждение о неявных импортах
EvilBeaver Dec 1, 2025
30e278b
xmldoc для перечисления режима неявных импортов
EvilBeaver Dec 1, 2025
0616f4f
Merge remote-tracking branch 'origin/develop' into develop
EvilBeaver Dec 1, 2025
e8f22b8
Документирован конфиг-файл
EvilBeaver Dec 1, 2025
ab6cb7f
Merge pull request #1613 from Bayselonarrend/featrue/attach-process-c…
EvilBeaver Dec 1, 2025
376a3f1
Новое в версии
EvilBeaver Dec 1, 2025
45fa39d
Merge branch 'develop' of https://github.com/EvilBeaver/OneScript int…
EvilBeaver Dec 1, 2025
cb2171f
Merge branch 'develop' into feture/publish-dev
EvilBeaver Dec 1, 2025
0d6efd2
Некорректный merge, оставлен ненужный файл.
EvilBeaver Dec 1, 2025
ee2df24
к PR #1584: сортировка строк разных алфавитов
Mr-Rm Dec 1, 2025
9cb4a62
Merge pull request #1622 from Mr-Rm/v2/fix-1582a
EvilBeaver Dec 2, 2025
03eb2d4
Merge branch 'develop' into feture/publish-dev
EvilBeaver Dec 2, 2025
ba907e2
Исправлено замечание о двойном dispose канала сеанса отладки
EvilBeaver Dec 2, 2025
0c77bdd
Исправлено хамечание об установке версии в копилот
EvilBeaver Dec 2, 2025
0301fed
Удален устаревший метод OnAttach и массово исправлены неиспользуемые …
EvilBeaver Dec 2, 2025
804a214
Замечание про отсутствие Equals(object)
EvilBeaver Dec 2, 2025
3c5f0c7
Замечания от Сонара
EvilBeaver Dec 2, 2025
39c84f4
Merge branch 'develop' into feture/publish-dev
EvilBeaver Dec 2, 2025
4fd8cdf
Дополнил документацию по pathsMapping
EvilBeaver Dec 2, 2025
57a16fe
Merge branch 'develop' into feture/publish-dev
EvilBeaver Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .cursor/rules/langversion.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
alwaysApply: true
---

Проект использует .net 8.0 и LangVersion 8, поэтому при генерации кода не используй языковые фичи C#, которые отсутствуют в C# 8.
34 changes: 34 additions & 0 deletions .cursor/rules/runbsltests.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
description: When you need to run main tests
alwaysApply: false
---

Когда тебе потребуется запустить приемочные тесты всего проекта, убедиться что ничего не сломано, тебе потребуется запустить bsl тесты. Для этого используются готовые скрипты:

1. **ОБЯЗАТЕЛЬНО** собери консольное приложение oscript из исходников с последними изменениями:

```
dotnet build src/oscript/oscript.csproj
```

После сборки движок будет находиться здесь:
- Windows: `src\oscript\bin\Debug\net8.0\oscript.exe`
- Linux/macOS: `src/oscript/bin/Debug/net8.0/oscript`

**КРИТИЧЕСКИ ВАЖНО**: Тесты должны запускаться только на свежесобранном oscript, а не на версии из системы! Это гарантирует, что тесты валидируют актуальный код после внесённых изменений.

2. Запусти нужный скрипт, **ЯВНО** передав путь к свежесобранному движку:
- Windows: `tests\run-bsl-tests.cmd src\oscript\bin\Debug\net8.0\oscript.exe`
- Linux/macOS: `tests/run-bsl-tests.sh src/oscript/bin/Debug/net8.0/oscript`

**ВАЖНО**: Не полагайся на автоматический поиск oscript в PATH — всегда указывай путь к свежесобранному бинарнику первым параметром!

Оба скрипта автоматически:
- Устанавливают путь к библиотекам OVM через переменную `OVM_LIB_PATH` (по умолчанию `%USERPROFILE%\AppData\Local\ovm\current\lib` для Windows и `$HOME/.local/share/ovm/current/lib` для Linux/macOS)
- Настраивают `OSCRIPT_CONFIG=lib.system=<OVM_LIB_PATH>`, если эта переменная не была задана заранее
- Переходят в каталог `tests` и выполняют `testrunner.os -runAll .`

3. Для запуска одного теста также используй свежесобранный oscript.exe: `<путь\к\собранному\oscript.exe> testrunner.os -run <имя файла теста.os>`.
4. Всегда используй для запуска тестов новую консоль, не переиспользуй консоль от предыдущих запусков.
5. Если ошибка запуска тестов связана с Component.dll или NativeApi (эти dll упоминаются в ошибках тестов), то такие тесты следует игнорировать и смотреть только на другие ошибки тестов.
6. Ошибки теста http.os и "Тест_ДолженПроверитьЧтоПеремещениеФайлаРаботаетПоHTTP" следует игнорировать.
6 changes: 3 additions & 3 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ jobs:
# Setup steps for OneScript development environment
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6

- run: git config --global core.quotepath false

- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
Comment thread
cursor[bot] marked this conversation as resolved.
with:
dotnet-version: '6.0.x'
dotnet-version: '8.0.x'

- name: Установка OneScript
uses: otymko/setup-onescript@v1.5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rebase.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sonar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
if: (github.repository == 'EvilBeaver/OneScript' ) && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.event.repository.full_name)
steps:
- name: Set up JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 17
distribution: temurin
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Cache SonarQube packages
Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"dotnet.defaultSolution": "src/1Script.sln"
}
44 changes: 37 additions & 7 deletions Build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
<Configuration>Release</Configuration>
<Solution>$(MSBuildProjectDirectory)/src/1Script.sln</Solution>

<ActiveFramework>net8.0</ActiveFramework>

</PropertyGroup>

<ItemGroup>
Expand All @@ -30,11 +32,11 @@
<ItemGroup>
<PublishProjects Include="oscript">
<ProjectFile>oscript.csproj</ProjectFile>
<Framework>net6.0</Framework>
<Framework>$(ActiveFramework)</Framework>
</PublishProjects>
<PublishProjects Include="TestApp">
<ProjectFile>TestApp.csproj</ProjectFile>
<Framework>net6.0-windows</Framework>
<Framework>$(ActiveFramework)-windows</Framework>
</PublishProjects>
</ItemGroup>

Expand Down Expand Up @@ -106,7 +108,7 @@
</ItemGroup>

<Exec Command="dotnet publish &quot;src/oscript/oscript.csproj&quot; -r %(RuntimeID.Identity) --self-contained -c $(Configuration) -o &quot;$(ArtifactsRoot)/%(RuntimeID.Identity)/bin&quot;" UseUtf8Encoding="Always"/>
<Exec Command="dotnet publish &quot;src/TestApp/TestApp.csproj&quot; -f net6.0-windows -c $(Configuration) -p:Platform=%(PlatformItem.MSBuildName) -p:UseAppHost=true -o &quot;$(ArtifactsRoot)/win-%(PlatformItem.Identity)/bin&quot;" UseUtf8Encoding="Always"/>
<Exec Command="dotnet publish &quot;src/TestApp/TestApp.csproj&quot; -f $(ActiveFramework)-windows -c $(Configuration) -p:Platform=%(PlatformItem.MSBuildName) -p:UseAppHost=true -o &quot;$(ArtifactsRoot)/win-%(PlatformItem.Identity)/bin&quot;" UseUtf8Encoding="Always"/>

<PropertyGroup>
<CppBinPrefix>$(MSBuildProjectDirectory)/src/ScriptEngine.NativeApi/bin/$(Configuration)</CppBinPrefix>
Expand Down Expand Up @@ -162,11 +164,9 @@
</Target>

<Target Name="BuildWithCpp" DependsOnTargets="CleanAll;MakeCPP;MakeFDD;MakeSCD;BuildDebugger">
<CallTarget Targets="CleanIntermediates"/>
</Target>

<Target Name="BuildWithoutCpp" DependsOnTargets="CleanAll;MakeFDD;MakeSCD;BuildDebugger">
<CallTarget Targets="CleanIntermediates"/>
</Target>

<!-- Используется для поиска первого собранного oscript.exe -->
Expand Down Expand Up @@ -225,7 +225,7 @@

</Target>

<Target Name="ComposeDistributionFolders">
<Target Name="ComposeDistributionFolders" DependsOnTargets="CleanIntermediates">
<ItemGroup>
<TargetDir Include="fdd-x64"/>
<TargetDir Include="fdd-x86"/>
Expand Down Expand Up @@ -261,7 +261,7 @@
<Delete Files="@(TempFiles)"/>
</Target>

<Target Name="PrepareDistributionFiles" DependsOnTargets="CleanAll;BuildAll;GatherLibrary;ComposeDistributionFolders"/>
<Target Name="PrepareDistributionFiles" DependsOnTargets="CleanAll;BuildAll;GatherLibrary;BuildDocumentation;ComposeDistributionFolders"/>

<Target Name="Test">
<CallTarget Targets="UnitTests;ScriptedTests" />
Expand Down Expand Up @@ -373,5 +373,35 @@
Command="dotnet nuget push %(NugetAbleProject.Identity) -k $(NugetToken) -s https://api.nuget.org/v3/index.json" UseUtf8Encoding="Always"/>

</Target>

<Target Name="BuildDocumenter">
<Exec Command="dotnet publish &quot;$(MSBuildProjectDirectory)/src/OneScriptDocumenter/OneScriptDocumenter.csproj&quot; -c Release -o &quot;$(ArtifactsRoot)/tools/documenter&quot;" UseUtf8Encoding="Always"/>
</Target>

<Target Name="BuildDocumentation" DependsOnTargets="MakeSCD;BuildDocumenter">
<PropertyGroup>
<DocInputDir>$(ArtifactsRoot)/win-x64/bin</DocInputDir>
<DocsRoot>$(ArtifactsRoot)/docs</DocsRoot>
<DocumenterToolDir>$(ArtifactsRoot)/tools/documenter</DocumenterToolDir>
</PropertyGroup>
<ItemGroup>
<DocAssemblies Include="$(DocInputDir)/ScriptEngine.HostedScript.dll"/>
<DocAssemblies Include="$(DocInputDir)/ScriptEngine.dll"/>
<DocAssemblies Include="$(DocInputDir)/OneScript.StandardLibrary.dll"/>
<DocAssemblies Include="$(DocInputDir)/OneScript.Web.Server.dll"/>
<DocAssemblies Include="$(DocInputDir)/oscript.dll"/>
</ItemGroup>

<Error Condition="'@(DocAssemblies)' == ''" Text="No input assemblies found in $(DocInputDir) for documentation generation" />

<MakeDir Directories="$(DocsRoot)"/>
<MakeDir Directories="$(DocsRoot)/markdown"/>
<MakeDir Directories="$(DocsRoot)/json"/>
<Exec Command="dotnet &quot;$(DocumenterToolDir)/OneScriptDocumenter.dll&quot; @(DocAssemblies->'%(FullPath)', ' ') -t &quot;$(MSBuildProjectDirectory)/src/OneScriptDocumenter/default_toc.json&quot; -m &quot;$(DocsRoot)/markdown&quot; -j &quot;$(DocsRoot)/json/syntax-helper.json&quot;" UseUtf8Encoding="Always"/>

<RemoveDir Directories="$(DocumenterToolDir)" Condition="Exists($(DocumenterToolDir))"/>

</Target>


</Project>
61 changes: 56 additions & 5 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ pipeline {

environment {
VersionPrefix = '2.0.0'
VersionSuffix = 'rc.8'
VersionSuffix = 'rc.9'
outputEnc = '65001'
}

Expand Down Expand Up @@ -199,8 +199,9 @@ pipeline {
}

stage ('Publishing night-build') {
when { anyOf {
branch 'develop';
when {
anyOf {
branch 'develop';
}
}
agent { label 'master' }
Expand All @@ -217,8 +218,9 @@ pipeline {
}

stage ('Publishing preview') {
when { anyOf {
branch 'release/preview';
when {
anyOf {
branch 'release/preview';
}
}
agent { label 'master' }
Expand Down Expand Up @@ -257,6 +259,46 @@ pipeline {
}
}
}

stage ('Publishing docker-images') {
parallel {
stage('Build v1') {
agent { label 'linux' }
when {
anyOf {
branch 'release/latest'
expression {
return env.TAG_NAME && env.TAG_NAME.startsWith('v1.')
}
}
}
steps {
script {
def codename = env.TAG_NAME ? env.TAG_NAME : 'latest'
publishDockerImage('v1', codename)
}
}
}

stage('Build v2') {
agent { label 'linux' }
when {
anyOf {
branch 'develop'
expression {
return env.TAG_NAME && env.TAG_NAME.startsWith('v2.')
}
}
}
steps {
script {
def codename = env.TAG_NAME ? env.TAG_NAME : 'dev'
publishDockerImage('v2', codename)
}
}
}
}
}
}
}

Expand Down Expand Up @@ -300,3 +342,12 @@ def publishReleaseNotes(codename) {
}
}

def publishDockerImage(flavour, codename) {
def imageName = "evilbeaver/onescript:${codename}"

docker.build(
imageName,
"--load -f install/builders/base-image/Dockerfile_${flavour} ."
).push()
}

Loading