Skip to content

Commit bf90864

Browse files
authored
Выпуск 2.0.0-rc.10
Выпуск 2.0.0-rc.10
2 parents 3ef2cfb + 368f95a commit bf90864

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1254
-474
lines changed

.github/workflows/sonar.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ jobs:
1919
with:
2020
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
2121
- name: Cache SonarQube packages
22-
uses: actions/cache@v4
22+
uses: actions/cache@v5
2323
with:
2424
path: ~\sonar\cache
2525
key: ${{ runner.os }}-sonar
2626
restore-keys: ${{ runner.os }}-sonar
2727
- name: Cache SonarQube scanner
2828
id: cache-sonar-scanner
29-
uses: actions/cache@v4
29+
uses: actions/cache@v5
3030
with:
3131
path: .\.sonar\scanner
3232
key: ${{ runner.os }}-sonar-scanner

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ pipeline {
55

66
environment {
77
VersionPrefix = '2.0.0'
8-
VersionSuffix = 'rc.9'
8+
VersionSuffix = 'rc.10'
99
outputEnc = '65001'
1010
}
1111

install/release-notes.md

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,19 @@
1-
# Версия 2.0.0-rc.9
1+
# Версия 2.0.0-rc.10
22

3-
## Новые возможности
4-
5-
- [#1540](https://github.com/EvilBeaver/OneScript/issues/1540) - Добавлено предупреждение о неявных импортах при компиляции для контроля явного объявления зависимостей
6-
- [#1585](https://github.com/EvilBeaver/OneScript/issues/1585) - Добавлен параметр `ИгнорироватьТипДокумента` при чтении XML
7-
- [#1586](https://github.com/EvilBeaver/OneScript/issues/1586) - Добавлена поддержка пропуска пробельных символов после служебных элементов XML
8-
- [#392](https://github.com/EvilBeaver/OneScript/issues/392) - Метод `ЗаписатьТекущий()` для XML теперь корректно копирует декларацию XML и тип документа
9-
- [#1545](https://github.com/EvilBeaver/OneScript/issues/1545) - Разрешено использование комментариев после аннотаций модуля и в строках с директивой `Использовать`
10-
- [#1593](https://github.com/EvilBeaver/OneScript/issues/1593) - Полностью переработан сервер отладки, возможно переподключение к серверу после завершения сессии отладки.
11-
- Улучшена производительность компиляции большого числа модулей
12-
- Добавлена возможность выполнять attach отладчика внутрь контейнера с 1Script. Предусмотрен маппинг локальных путей и путей внутри контейнера.
13-
14-
## Исправления ошибок
3+
## Исправления ошибок, обнаруженных в 2.0.0-rc.10
154

16-
- [#1573](https://github.com/EvilBeaver/OneScript/issues/1573) - Исправлена работа метода `НайтиСтроки()` для таблицы значений по индексированной колонке с указанным типом
17-
- [#1582](https://github.com/EvilBeaver/OneScript/issues/1582),[#1577](https://github.com/EvilBeaver/OneScript/issues/1577) - Исправлена сортировка чисел и типов в таблице значений
18-
- [#1556](https://github.com/EvilBeaver/OneScript/issues/1556), [#1611](https://github.com/EvilBeaver/OneScript/issues/1611) - Исправлен учет перехода на летнее время в функции `УниверсальноеВремя()`, добавлена поддержка временных зон восточно-европейского времени
19-
- [#1567](https://github.com/EvilBeaver/OneScript/issues/1567) - Исправлено некорректное отображение параметров метода в отладчике
20-
- [#1552](https://github.com/EvilBeaver/OneScript/issues/1552) - Исправлена обработка слова `Ждать` вне асинхронного метода
21-
- [#1603](https://github.com/EvilBeaver/OneScript/issues/1603) - Исправлена работа функции `СтрЗаменить()`
22-
- [#1602](https://github.com/EvilBeaver/OneScript/issues/1602) - Исправлено преобразование элемента списка значений в строку
23-
- [#1542](https://github.com/EvilBeaver/OneScript/issues/1542) - Улучшено позиционирование ошибок в исходном коде
24-
- ряд других ошибок
5+
* Изменено поведение по умолчанию для опции lang.explicitImports под отладкой. Теперь неявные импорты не считаются критичной ошибкой
6+
* #1627: Исправлена ошибка несрабатывания отладчика на коротких скриптах
257

26-
## Устаревание
8+
## Исправление текущих ошибок
279

28-
- [#1544](https://github.com/EvilBeaver/OneScript/issues/1544) - Английский вариант перечисления `StreamPosition` объявлен устаревшим в пользу `PositionInStream`
10+
* #1580, #1626: Улучшено соответствие поведения ТаблицыЗначений поведению 1С
11+
* Исправлена медленная вставка строк в индексированную таблицу значений
12+
*
2913

30-
## Технические изменения
31-
32-
- Выполнен переход на .NET 8.
33-
34-
## Благодарности
14+
## Новые возможности
3515

36-
Большое спасибо @Mr-Rm, @dmpas, @asosnoviy, @nixel2007, @Bayselonarrend за участие в этом релизе!
16+
* Доступ к сырому сетевому потоку при вызове http-метода. Позволяет организовать http-streaming
17+
* Использование аннотаций внутри параметров аннотаций
18+
19+
Большое спасибо @Mr-Rm, @dmpas, @asosnoviy, @nixel2007, @Bayselonarrend за участие в этом релизе!

src/1Script.sln

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OneScript.Web.Server", "One
6565
EndProject
6666
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumenterTests", "Tests\DocumenterTests\DocumenterTests.csproj", "{BD385142-E9B4-43C1-8F88-067F24E5AF6D}"
6767
EndProject
68-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSCode.DebugAdapter.Tests", "Tests\VSCode.DebugAdapter.Tests\VSCode.DebugAdapter.Tests.csproj", "{861F70F4-B10D-4E4E-865C-B8E900391424}"
69-
EndProject
7068
Global
7169
GlobalSection(SolutionConfigurationPlatforms) = preSolution
7270
Debug|Any CPU = Debug|Any CPU
@@ -189,8 +187,8 @@ Global
189187
{76F2521D-44D7-48C9-A678-074E22B46092}.LinuxDebug|x86.ActiveCfg = LinuxDebug|Any CPU
190188
{76F2521D-44D7-48C9-A678-074E22B46092}.LinuxDebug|x86.Build.0 = LinuxDebug|Any CPU
191189
{76F2521D-44D7-48C9-A678-074E22B46092}.Release|Any CPU.ActiveCfg = Release|Any CPU
192-
{76F2521D-44D7-48C9-A678-074E22B46092}.Release|x86.ActiveCfg = Release|Any CPU
193190
{76F2521D-44D7-48C9-A678-074E22B46092}.Release|Any CPU.Build.0 = Release|Any CPU
191+
{76F2521D-44D7-48C9-A678-074E22B46092}.Release|x86.ActiveCfg = Release|Any CPU
194192
{4FF7C82D-BFEF-415E-81FF-5C0337E99845}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
195193
{4FF7C82D-BFEF-415E-81FF-5C0337E99845}.Debug|Any CPU.Build.0 = Debug|Any CPU
196194
{4FF7C82D-BFEF-415E-81FF-5C0337E99845}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -333,18 +331,6 @@ Global
333331
{BD385142-E9B4-43C1-8F88-067F24E5AF6D}.Release|Any CPU.Build.0 = Release|Any CPU
334332
{BD385142-E9B4-43C1-8F88-067F24E5AF6D}.Release|x86.ActiveCfg = Release|Any CPU
335333
{BD385142-E9B4-43C1-8F88-067F24E5AF6D}.Release|x86.Build.0 = Release|Any CPU
336-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
337-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Debug|Any CPU.Build.0 = Debug|Any CPU
338-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Debug|x86.ActiveCfg = Debug|Any CPU
339-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Debug|x86.Build.0 = Debug|Any CPU
340-
{861F70F4-B10D-4E4E-865C-B8E900391424}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU
341-
{861F70F4-B10D-4E4E-865C-B8E900391424}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU
342-
{861F70F4-B10D-4E4E-865C-B8E900391424}.LinuxDebug|x86.ActiveCfg = Debug|Any CPU
343-
{861F70F4-B10D-4E4E-865C-B8E900391424}.LinuxDebug|x86.Build.0 = Debug|Any CPU
344-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Release|Any CPU.ActiveCfg = Release|Any CPU
345-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Release|Any CPU.Build.0 = Release|Any CPU
346-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Release|x86.ActiveCfg = Release|Any CPU
347-
{861F70F4-B10D-4E4E-865C-B8E900391424}.Release|x86.Build.0 = Release|Any CPU
348334
EndGlobalSection
349335
GlobalSection(SolutionProperties) = preSolution
350336
HideSolutionNode = FALSE
@@ -357,7 +343,6 @@ Global
357343
{0F5E6099-39BA-41CF-B55F-357F7DF4DE00} = {91059C5B-526C-4B81-B106-99DEFF542D1F}
358344
{2F264379-B3B4-44B3-9CBA-A4B0AF3D8785} = {91059C5B-526C-4B81-B106-99DEFF542D1F}
359345
{BD385142-E9B4-43C1-8F88-067F24E5AF6D} = {91059C5B-526C-4B81-B106-99DEFF542D1F}
360-
{861F70F4-B10D-4E4E-865C-B8E900391424} = {91059C5B-526C-4B81-B106-99DEFF542D1F}
361346
EndGlobalSection
362347
GlobalSection(ExtensibilityGlobals) = postSolution
363348
SolutionGuid = {A4A871EF-C5A7-478F-907E-31C69A869973}
@@ -376,7 +361,4 @@ Global
376361
$3.inheritsSet = null
377362
$3.scope = application/xaml+xml
378363
EndGlobalSection
379-
GlobalSection(Performance) = preSolution
380-
HasPerformanceSessions = true
381-
EndGlobalSection
382364
EndGlobal

src/OneScript.Core/Commons/Utils.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,20 @@ public static void ForEach<T>(this IEnumerable<T> input, Action<T> action)
3535
action(data);
3636
}
3737
}
38-
38+
public static string NameAndValuePresentation(string name, object value)
39+
{
40+
var list = new List<string>();
41+
if (!string.IsNullOrEmpty(name))
42+
{
43+
list.Add(name);
44+
}
45+
if (value != null)
46+
{
47+
list.Add(value.ToString());
48+
}
49+
return string.Join("=", list);
50+
}
51+
3952
public static bool IsMonoRuntime => Type.GetType("Mono.Runtime") != null;
4053

4154
}

src/OneScript.Core/Contexts/BslAnnotationAttribute.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ This Source Code Form is subject to the terms of the
55
at http://mozilla.org/MPL/2.0/.
66
----------------------------------------------------------*/
77

8+
using OneScript.Commons;
9+
using OneScript.Values;
810
using System;
911
using System.Collections.Generic;
10-
using OneScript.Values;
1112

1213
namespace OneScript.Contexts
1314
{
@@ -37,7 +38,7 @@ public void SetParameters(IEnumerable<BslAnnotationParameter> parameters)
3738

3839
public class BslAnnotationParameter
3940
{
40-
public BslAnnotationParameter(string name, BslPrimitiveValue value)
41+
public BslAnnotationParameter(string name, BslPrimitiveValue value = null)
4142
{
4243
Name = name;
4344
Value = value;
@@ -47,6 +48,10 @@ public BslAnnotationParameter(string name, BslPrimitiveValue value)
4748

4849
public BslPrimitiveValue Value { get; }
4950

50-
public int ConstantValueIndex { get; set; } = -1;
51+
public override string ToString()
52+
{
53+
return Utils.NameAndValuePresentation(Name, Value);
54+
}
55+
5156
}
5257
}

src/OneScript.Core/Exceptions/RuntimeException.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,22 @@ public static RuntimeException InvalidEncoding(string encoding)
175175
return new RuntimeException(
176176
$"Неправильное имя кодировки '{encoding}'",
177177
$"Invalid encoding name '{encoding}'");
178+
}
179+
180+
public static RuntimeException IncorrectOffset()
181+
{
182+
return new RuntimeException(
183+
"Неправильное смещение внутри коллекции",
184+
"Incorrect offset within collection");
185+
}
186+
187+
public static RuntimeException IndexOutOfRange()
188+
{
189+
return new RuntimeException(
190+
"Значение индекса выходит за пределы диапазона",
191+
"Index is out of range");
178192
}
179-
193+
180194
#endregion
181195
}
182196
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*----------------------------------------------------------
2+
This Source Code Form is subject to the terms of the
3+
Mozilla Public License, v.2.0. If a copy of the MPL
4+
was not distributed with this file, You can obtain one
5+
at http://mozilla.org/MPL/2.0/.
6+
----------------------------------------------------------*/
7+
8+
using System;
9+
using OneScript.Contexts;
10+
using OneScript.Exceptions;
11+
using OneScript.Localization;
12+
using OneScript.Types;
13+
using System.Collections.Generic;
14+
using System.Text;
15+
16+
namespace OneScript.Values
17+
{
18+
public sealed class BslAnnotationValue : BslPrimitiveValue
19+
{
20+
public BslAnnotationValue(string name) {
21+
Name = name;
22+
}
23+
24+
public string Name { get; }
25+
26+
public List<BslAnnotationParameter> Parameters { get; } = new List<BslAnnotationParameter>();
27+
28+
29+
public override int CompareTo(BslValue other) {
30+
var msg = new BilingualString("Сравнение на больше/меньше для данного типа не поддерживается",
31+
"Comparison for less/greater is not supported for this type");
32+
33+
throw new RuntimeException(msg);
34+
}
35+
36+
public override bool Equals(BslValue other) {
37+
return ReferenceEquals(this, other);
38+
}
39+
40+
public override string ToString()
41+
{
42+
var sb = new StringBuilder("&");
43+
sb.Append(Name);
44+
if (Parameters.Count != 0)
45+
{
46+
var prefix = "(";
47+
foreach (var parameter in Parameters)
48+
{
49+
sb.Append(prefix);
50+
sb.Append(parameter);
51+
prefix = ",";
52+
}
53+
sb.Append(")");
54+
}
55+
return sb.ToString();
56+
}
57+
}
58+
}

src/OneScript.Core/Values/BslUndefinedValue.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*----------------------------------------------------------
2-
This Source Code Form is subject to the terms of the
3-
Mozilla Public License, v.2.0. If a copy of the MPL
4-
was not distributed with this file, You can obtain one
2+
This Source Code Form is subject to the terms of the
3+
Mozilla Public License, v.2.0. If a copy of the MPL
4+
was not distributed with this file, You can obtain one
55
at http://mozilla.org/MPL/2.0/.
66
----------------------------------------------------------*/
77

@@ -24,6 +24,11 @@ public override bool Equals(BslValue other)
2424
return ReferenceEquals(Instance, other);
2525
}
2626

27+
public override int GetHashCode()
28+
{
29+
return 42; // Константа для синглтона
30+
}
31+
2732
public override string ToString() => string.Empty;
2833
}
2934
}

src/OneScript.DebugServices/Internal/ConnectableSessionProxy.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ This Source Code Form is subject to the terms of the
55
at http://mozilla.org/MPL/2.0/.
66
----------------------------------------------------------*/
77

8+
using System.Diagnostics;
89
using System.Threading;
910
using ScriptEngine.Machine;
1011
using ScriptEngine.Machine.Debugger;
@@ -53,6 +54,11 @@ public void WaitReadyToRun()
5354
}
5455

5556
_connectionEvent.Wait();
57+
Debug.Assert(_isConnected, "Must be connected");
58+
Debug.Assert(_session is DebugSession, "Session must be DebugSession");
59+
60+
// Делегируем ожидание реальной сессии
61+
_session.WaitReadyToRun();
5662
}
5763

5864
public bool IsActive => _session.IsActive;

0 commit comments

Comments
 (0)