Skip to content

Commit 87a7e00

Browse files
committed
Finish v0.8.0
2 parents de0d911 + ac4b900 commit 87a7e00

File tree

7 files changed

+138
-67
lines changed

7 files changed

+138
-67
lines changed

.github/workflows/check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
strategy:
99
fail-fast: false
1010
matrix:
11-
java_version: [ '17', '20', '21' ]
11+
java_version: [ '17', '21' ]
1212
os: [ ubuntu-latest, windows-latest, macOS-latest ]
1313
steps:
1414
- uses: actions/checkout@v4

build.gradle.kts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ plugins {
88
signing
99
id("org.cadixdev.licenser") version "0.6.1"
1010
id("me.qoomon.git-versioning") version "6.4.4"
11-
id("io.freefair.lombok") version "8.11"
12-
id("io.freefair.javadoc-links") version "8.11"
13-
id("io.freefair.javadoc-utf-8") version "8.11"
11+
id("io.freefair.lombok") version "8.12.1"
12+
id("io.freefair.javadoc-links") version "8.12.1"
13+
id("io.freefair.javadoc-utf-8") version "8.12.1"
1414
id("org.sonarqube") version "6.0.1.5171"
15-
id("io.freefair.maven-central.validate-poms") version "8.11"
16-
id("com.github.ben-manes.versions") version "0.51.0"
15+
id("io.freefair.maven-central.validate-poms") version "8.12.1"
16+
id("com.github.ben-manes.versions") version "0.52.0"
1717
id("ru.vyarus.pom") version "3.0.0"
1818
id("io.codearte.nexus-staging") version "0.30.0"
1919
}
@@ -88,7 +88,7 @@ tasks.check {
8888
tasks.jacocoTestReport {
8989
reports {
9090
xml.required.set(true)
91-
xml.outputLocation.set(layout.buildDirectory.file("reports/jacoco/test/jacoco.xml"))
91+
xml.outputLocation.set(File("${layout.buildDirectory.get()}/reports/jacoco/test/jacoco.xml"))
9292
}
9393
}
9494

@@ -105,7 +105,10 @@ sonarqube {
105105
property("sonar.organization", "1c-syntax")
106106
property("sonar.projectKey", "1c-syntax_bsl-common-library")
107107
property("sonar.projectName", "BSL Common library")
108-
property("sonar.coverage.jacoco.xmlReportPaths", layout.buildDirectory.file("reports/jacoco/test/jacoco.xml"))
108+
property(
109+
"sonar.coverage.jacoco.xmlReportPaths",
110+
"${layout.buildDirectory.get()}/reports/jacoco/test/jacoco.xml"
111+
)
109112
}
110113
}
111114

@@ -206,7 +209,7 @@ tasks.register("precommit") {
206209

207210
tasks.withType<Javadoc> {
208211
(options as StandardJavadocDocletOptions)
209-
.addStringOption("Xdoclint:none", "-quiet")
212+
.addStringOption("Xdoclint:none", "-quiet")
210213
}
211214

212215
nexusStaging {

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

src/main/java/com/github/_1c_syntax/bsl/support/CompatibilityMode.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ public class CompatibilityMode {
3636
private static final String DONT_USE = "DontUse";
3737
private static final int MAX_VERSION = 99;
3838
private static final int THIRD_VERSION = 3;
39+
private static final int SECOND_VERSION = 2;
40+
private static final int FIFTH_VERSION = 5;
3941
private static final int VERSION_POSITION = 2;
4042
private static final Pattern VERSION_SPLITTER = Pattern.compile("([_.])");
4143

@@ -74,6 +76,34 @@ public CompatibilityMode(int minor, int version) {
7476
setVersionComponents(minor, version);
7577
}
7678

79+
/**
80+
* Возвращает признак отношения к семейству версий 8.1
81+
*/
82+
public boolean its81() {
83+
return minor == 1;
84+
}
85+
86+
/**
87+
* Возвращает признак отношения к семейству версий 8.2
88+
*/
89+
public boolean its82() {
90+
return minor == SECOND_VERSION;
91+
}
92+
93+
/**
94+
* Возвращает признак отношения к семейству версий 8.3
95+
*/
96+
public boolean its83() {
97+
return minor == THIRD_VERSION;
98+
}
99+
100+
/**
101+
* Возвращает признак отношения к семейству версий 8.5
102+
*/
103+
public boolean its85() {
104+
return minor == FIFTH_VERSION;
105+
}
106+
77107
/**
78108
* Выполняет сравнение двух режимов совместимости
79109
*

src/main/java/com/github/_1c_syntax/bsl/types/MDOType.java

Lines changed: 72 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
/*
2-
* This file is a part of BSL Common library.
3-
*
4-
* Copyright (c) 2021 - 2025
5-
* Tymko Oleg <olegtymko@yandex.ru>, Maximov Valery <maximovvalery@gmail.com> and contributors
6-
*
7-
* SPDX-License-Identifier: LGPL-3.0-or-later
8-
*
9-
* BSL Common library is free software; you can redistribute it and/or
10-
* modify it under the terms of the GNU Lesser General Public
11-
* License as published by the Free Software Foundation; either
12-
* version 3.0 of the License, or (at your option) any later version.
13-
*
14-
* BSL Common library is distributed in the hope that it will be useful,
15-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17-
* Lesser General Public License for more details.
18-
*
19-
* You should have received a copy of the GNU Lesser General Public
20-
* License along with BSL Common library.
21-
*/
22-
package com.github._1c_syntax.bsl.types;
1+
/*
2+
* This file is a part of BSL Common library.
3+
*
4+
* Copyright (c) 2021 - 2025
5+
* Tymko Oleg <olegtymko@yandex.ru>, Maximov Valery <maximovvalery@gmail.com> and contributors
6+
*
7+
* SPDX-License-Identifier: LGPL-3.0-or-later
8+
*
9+
* BSL Common library is free software; you can redistribute it and/or
10+
* modify it under the terms of the GNU Lesser General Public
11+
* License as published by the Free Software Foundation; either
12+
* version 3.0 of the License, or (at your option) any later version.
13+
*
14+
* BSL Common library is distributed in the hope that it will be useful,
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17+
* Lesser General Public License for more details.
18+
*
19+
* You should have received a copy of the GNU Lesser General Public
20+
* License along with BSL Common library.
21+
*/
22+
package com.github._1c_syntax.bsl.types;
2323

2424
import lombok.Getter;
2525
import org.apache.commons.collections4.map.CaseInsensitiveMap;
@@ -36,13 +36,17 @@
3636
*/
3737
@Getter
3838
public enum MDOType {
39+
ACCOUNTING_FLAG("AccountingFlag", "AccountingFlags", "ПризнакУчета", "ПризнакиУчета"),
3940
ACCOUNTING_REGISTER("AccountingRegister", "AccountingRegisters",
4041
"РегистрБухгалтерии", "РегистрыБухгалтерии"),
4142
ACCUMULATION_REGISTER("AccumulationRegister", "AccumulationRegisters",
4243
"РегистрНакопления", "РегистрыНакопления"),
44+
ATTRIBUTE("Attribute", "Attributes", "Реквизит", "Реквизиты"),
45+
4346
BOT("Bot", "Bots", "Бот", "Боты"),
4447
BUSINESS_PROCESS("BusinessProcess", "BusinessProcesses",
4548
"БизнесПроцесс", "БизнесПроцессы"),
49+
4650
CALCULATION_REGISTER("CalculationRegister", "CalculationRegisters",
4751
"РегистрРасчета", "РегистрыРасчета"),
4852
CATALOG("Catalog", "Catalogs", "Справочник", "Справочники"),
@@ -52,6 +56,8 @@ public enum MDOType {
5256
"ПланВидовРасчета", "ПланыВидовРасчета"),
5357
CHART_OF_CHARACTERISTIC_TYPES("ChartOfCharacteristicTypes", "ChartsOfCharacteristicTypes",
5458
"ПланВидовХарактеристик", "ПланыВидовХарактеристик"),
59+
COLUMN("Column", "Columns", "Колонка", "Колонки"),
60+
COMMAND("Command", "Commands", "Команда", "Команды"),
5561
COMMAND_GROUP("CommandGroup", "CommandGroups", "ГруппаКоманд", "ГруппыКоманд"),
5662
COMMON_ATTRIBUTE("CommonAttribute", "CommonAttributes",
5763
"ОбщийРеквизит", "ОбщиеРеквизиты"),
@@ -63,81 +69,91 @@ public enum MDOType {
6369
COMMON_TEMPLATE("CommonTemplate", "CommonTemplates", "ОбщийМакет", "ОбщиеМакеты"),
6470
CONFIGURATION("Configuration", "", "Конфигурация", ""),
6571
CONSTANT("Constant", "Constants", "Константа", "Константы"),
72+
6673
DATA_PROCESSOR("DataProcessor", "DataProcessors", "Обработка", "Обработки"),
6774
DEFINED_TYPE("DefinedType", "DefinedTypes", "ОпределяемыйТип", "ОпределяемыеТипы"),
75+
DIMENSION("Dimension", "Dimensions", "Измерение", "Измерения"),
76+
DOCUMENT("Document", "Documents", "Документ", "Документы"),
6877
DOCUMENT_JOURNAL("DocumentJournal", "DocumentJournals",
6978
"ЖурналДокументов", "ЖурналыДокументов"),
7079
DOCUMENT_NUMERATOR("DocumentNumerator", "DocumentNumerators",
7180
"НумераторДокументов", "НумераторыДокументов"),
72-
DOCUMENT("Document", "Documents", "Документ", "Документы"),
81+
7382
ENUM("Enum", "Enums", "Перечисление", "Перечисления"),
83+
ENUM_VALUE("EnumValue", "EnumValues", "ЗначениеПеречисления", "ЗначенияПеречисления"),
7484
EVENT_SUBSCRIPTION("EventSubscription", "EventSubscriptions",
7585
"ПодпискаНаСобытие", "ПодпискиНаСобытия"),
7686
EXCHANGE_PLAN("ExchangePlan", "ExchangePlans", "ПланОбмена", "ПланыОбмена"),
87+
EXTERNAL_DATA_PROCESSOR("ExternalDataProcessor", "ExternalDataProcessors",
88+
"ВнешняяОбработка", "ВнешниеОбработки"),
7789
EXTERNAL_DATA_SOURCE("ExternalDataSource", "ExternalDataSources",
7890
"ВнешнийИсточникДанных", "ВнешниеИсточникиДанных"),
91+
EXTERNAL_DATA_SOURCE_TABLE("Table", "Tables", "Таблица", "Таблицы"),
92+
EXTERNAL_DATA_SOURCE_TABLE_FILED("Field", "Fields", "Поле", "Поля"),
93+
EXTERNAL_REPORT("ExternalReport", "ExternalReports",
94+
"ВнешнийОтчет", "ВнешниеОтчеты"),
95+
EXT_DIMENSION_ACCOUNTING_FLAG("ExtDimensionAccountingFlag", "ExtDimensionAccountingFlags",
96+
"ПризнакУчетаСубконто", "ПризнакиУчетаСубконто"),
97+
7998
FILTER_CRITERION("FilterCriterion", "FilterCriteria",
8099
"КритерийОтбора", "КритерииОтбора"),
100+
FORM("Form", "Forms", "Форма", "Формы"),
81101
FUNCTIONAL_OPTION("FunctionalOption", "FunctionalOptions",
82102
"ФункциональнаяОпция", "ФункциональныеОпции"),
83103
FUNCTIONAL_OPTIONS_PARAMETER("FunctionalOptionsParameter", "FunctionalOptionsParameters",
84104
"ПараметрФункциональныхОпций", "ПараметрыФункциональныхОпций"),
105+
85106
HTTP_SERVICE("HTTPService", "HTTPServices", "HTTPСервис", "HTTPСервисы"),
107+
HTTP_SERVICE_METHOD("Method", "Methods", "Метод", "Методы"),
108+
HTTP_SERVICE_URL_TEMPLATE("URLTemplate", "URLTemplates", "ШаблонURL", "ШаблоныURL"),
109+
86110
INFORMATION_REGISTER("InformationRegister", "InformationRegisters",
87111
"РегистрСведений", "РегистрыСведений"),
88112
INTEGRATION_SERVICE("IntegrationService", "IntegrationServices",
89113
"СервисИнтеграции", "СервисыИнтеграции"),
114+
INTEGRATION_SERVICE_CHANNEL("IntegrationServiceChannel", "IntegrationServiceChannels",
115+
"КаналСервисаИнтеграции", "Каналы"),
116+
90117
INTERFACE("Interface", "Interfaces", "Интерфейс", "Интерфейсы"),
118+
91119
LANGUAGE("Language", "Languages", "Язык", "Языки"),
120+
121+
PALETTE_COLOR("PaletteColor", "PaletteColors",
122+
"ЦветПалитры", "ЦветаПалитры"),
123+
124+
RECALCULATION("Recalculation", "Recalculations", "Перерасчет", "Перерасчеты"),
92125
REPORT("Report", "Reports", "Отчет", "Отчеты"),
126+
RESOURCE("Resource", "Resources", "Ресурс", "Ресурсы"),
93127
ROLE("Role", "Roles", "Роль", "Роли"),
128+
94129
SCHEDULED_JOB("ScheduledJob", "ScheduledJobs",
95130
"РегламентноеЗадание", "РегламентныеЗадания"),
96131
SEQUENCE("Sequence", "Sequences", "Последовательность", "Последовательности"),
97132
SESSION_PARAMETER("SessionParameter", "SessionParameters",
98133
"ПараметрСеанса", "ПараметрыСеанса"),
99134
SETTINGS_STORAGE("SettingsStorage", "SettingsStorages",
100135
"ХранилищеНастроек", "ХранилищаНастроек"),
101-
STYLE_ITEM("StyleItem", "StyleItems", "ЭлементСтиля", "ЭлементыСтиля"),
102-
STYLE("Style", "Styles", "Стиль", "Стили"),
103-
SUBSYSTEM("Subsystem", "Subsystems", "Подсистема", "Подсистемы"),
104-
TASK("Task", "Tasks", "Задача", "Задачи"),
105-
WEB_SERVICE("WebService", "WebServices", "WebСервис", "WebСервисы"),
106-
WS_REFERENCE("WSReference", "WSReferences", "WSСсылка", "WSСсылки"),
107-
XDTO_PACKAGE("XDTOPackage", "XDTOPackages", "ПакетXDTO", "ПакетыXDTO"),
108-
109-
FORM("Form", "Forms", "Форма", "Формы"),
110-
COMMAND("Command", "Commands", "Команда", "Команды"),
111-
TEMPLATE("Template", "Templates", "Макет", "Макеты"),
112-
ATTRIBUTE("Attribute", "Attributes", "Реквизит", "Реквизиты"),
113136
STANDARD_ATTRIBUTE("StandardAttribute", "StandardAttributes",
114137
"СтандартныйРеквизит", "СтандартныеРеквизиты"),
115-
TABULAR_SECTION("TabularSection", "TabularSections", "ТабличнаяЧасть", "ТабличныеЧасти"),
116138
STANDARD_TABULAR_SECTION("StandardTabularSection", "StandardTabularSections",
117139
"СтандартнаяТабличнаяЧасть", "СтандартныеТабличныеЧасти"),
118-
RECALCULATION("Recalculation", "Recalculations", "Перерасчет", "Перерасчеты"),
119-
WS_OPERATION("Operation", "Operations", "Операция", "Операции"),
120-
WS_OPERATION_PARAMETER("Parameter", "Parameters", "Параметр", "Параметры"),
121-
HTTP_SERVICE_URL_TEMPLATE("URLTemplate", "URLTemplates", "ШаблонURL", "ШаблоныURL"),
122-
HTTP_SERVICE_METHOD("Method", "Methods", "Метод", "Методы"),
123-
INTEGRATION_SERVICE_CHANNEL("IntegrationServiceChannel", "IntegrationServiceChannels",
124-
"КаналСервисаИнтеграции", "Каналы"),
140+
STYLE("Style", "Styles", "Стиль", "Стили"),
141+
STYLE_ITEM("StyleItem", "StyleItems", "ЭлементСтиля", "ЭлементыСтиля"),
142+
SUBSYSTEM("Subsystem", "Subsystems", "Подсистема", "Подсистемы"),
143+
144+
TABULAR_SECTION("TabularSection", "TabularSections", "ТабличнаяЧасть", "ТабличныеЧасти"),
145+
TASK("Task", "Tasks", "Задача", "Задачи"),
125146
TASK_ADDRESSING_ATTRIBUTE("AddressingAttribute", "AddressingAttributes",
126147
"РеквизитАдресации", "Реквизиты адресации"),
127-
DIMENSION("Dimension", "Dimensions", "Измерение", "Измерения"),
128-
RESOURCE("Resource", "Resources", "Ресурс", "Ресурсы"),
129-
ENUM_VALUE("EnumValue", "EnumValues", "ЗначениеПеречисления", "ЗначенияПеречисления"),
130-
COLUMN("Column", "Columns", "Колонка", "Колонки"),
131-
ACCOUNTING_FLAG("AccountingFlag", "AccountingFlags", "ПризнакУчета", "ПризнакиУчета"),
132-
EXT_DIMENSION_ACCOUNTING_FLAG("ExtDimensionAccountingFlag", "ExtDimensionAccountingFlags",
133-
"ПризнакУчетаСубконто", "ПризнакиУчетаСубконто"),
148+
TEMPLATE("Template", "Templates", "Макет", "Макеты"),
149+
150+
WEB_SERVICE("WebService", "WebServices", "WebСервис", "WebСервисы"),
151+
WS_OPERATION("Operation", "Operations", "Операция", "Операции"),
152+
WS_OPERATION_PARAMETER("Parameter", "Parameters", "Параметр", "Параметры"),
153+
WS_REFERENCE("WSReference", "WSReferences", "WSСсылка", "WSСсылки"),
154+
155+
XDTO_PACKAGE("XDTOPackage", "XDTOPackages", "ПакетXDTO", "ПакетыXDTO"),
134156

135-
EXTERNAL_DATA_SOURCE_TABLE("Table", "Tables", "Таблица", "Таблицы"),
136-
EXTERNAL_DATA_SOURCE_TABLE_FILED("Field", "Fields", "Поле", "Поля"),
137-
EXTERNAL_REPORT("ExternalReport", "ExternalReports",
138-
"ВнешнийОтчет", "ВнешниеОтчеты"),
139-
EXTERNAL_DATA_PROCESSOR("ExternalDataProcessor", "ExternalDataProcessors",
140-
"ВнешняяОбработка", "ВнешниеОбработки"),
141157
UNKNOWN("", "", "", "");
142158

143159
private static final Map<String, MDOType> MAP_TYPES = computeMapTypes();

src/test/java/com/github/_1c_syntax/bsl/support/CompatibilityModeTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,26 @@ void testCompareTo() {
7676

7777
}
7878

79+
@Test
80+
void its8x() {
81+
var versionA = new CompatibilityMode(3, 10);
82+
var versionB = new CompatibilityMode(3, 11);
83+
var versionC = new CompatibilityMode(2, 19);
84+
var versionD = new CompatibilityMode(1, 18);
85+
var versionE = new CompatibilityMode(5, 2);
86+
var versionF = new CompatibilityMode(9, 2);
87+
var versionUNK = new CompatibilityMode();
88+
89+
assertThat(versionA.its83()).isTrue();
90+
assertThat(versionB.its83()).isTrue();
91+
assertThat(versionC.its82()).isTrue();
92+
assertThat(versionD.its81()).isTrue();
93+
assertThat(versionE.its85()).isTrue();
94+
assertThat(versionF.its81()).isFalse();
95+
assertThat(versionF.its82()).isFalse();
96+
assertThat(versionF.its83()).isFalse();
97+
assertThat(versionF.its85()).isFalse();
98+
assertThat(versionUNK.its83()).isTrue();
99+
}
100+
79101
}

src/test/java/com/github/_1c_syntax/bsl/types/MDOTypeTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class MDOTypeTest {
3030
@Test
3131
void valuesWithoutChildren() {
3232
var values = MDOType.valuesWithoutChildren();
33-
assertThat(values).hasSize(50)
33+
assertThat(values).hasSize(51)
3434
.doesNotContain(MDOType.FORM)
3535
.doesNotContain(MDOType.COMMAND)
3636
.doesNotContain(MDOType.TEMPLATE)

0 commit comments

Comments
 (0)