Skip to content

Commit

Permalink
Release v1.15.0
Browse files Browse the repository at this point in the history
  • Loading branch information
theshadowco committed Jul 12, 2024
2 parents 0114fc6 + fc4eb1c commit 5f50a77
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 7 deletions.
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
jacoco
java
`maven-publish`
id("org.sonarqube") version "5.0.0.4638"
id("org.sonarqube") version "5.1.0.4882"
id("org.cadixdev.licenser") version "0.6.1"
id("com.github.johnrengelman.shadow") version ("7.0.0")
id("com.github.ben-manes.versions") version "0.51.0"
Expand All @@ -32,7 +32,7 @@ val sonarQubeVersion = "9.9.0.65466"
dependencies {
implementation("org.sonarsource.api.plugin", "sonar-plugin-api", "9.14.0.375")

implementation("io.github.1c-syntax", "bsl-language-server", "0.23.0") {
implementation("io.github.1c-syntax", "bsl-language-server", "0.23.1") {
exclude("com.contrastsecurity", "java-sarif")
exclude("io.sentry", "sentry-logback")
exclude("org.springframework.boot", "spring-boot-starter-websocket")
Expand Down
2 changes: 2 additions & 0 deletions docs/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ Available values:
* never *default* - modules are not skipped
- `sonar.bsl.languageserver.overrideConfiguration` - override Quality Profile settings with settings from BSL Language Server configuration file;
- `sonar.bsl.languageserver.configurationPath` - path to BSL Language Server configuration file to override settings;
- `sonar.bsl.languageserver.subsystemsFilter.include` - List of names of subsystems for which objects the analysis is performed, including child subsystems. Default `""` - include all;
- `sonar.bsl.languageserver.subsystemsFilter.exclude` - List of names of subsystems excluded from analysis, including child subsystems. Default - `""` - not exclude;
- `sonar.bsl.file.suffixes` - list of file suffixes that will be scanned. Default - `.bsl,.os`

## Language switch for rule names/descriptions and issue messages
Expand Down
2 changes: 2 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ sonar-scanner -Dsonar.host.url=https://sonar.company.com -Dsonar.login=SONAR_AUT
- never *по умолчанию* - модули не пропускаются;
* `sonar.bsl.languageserver.overrideConfiguration` - переопределить настройки Quality Profile настройками из файла конфигурации BSL Language Server;
* `sonar.bsl.languageserver.configurationPath` - путь к файлу конфигурации BSL Language Server для переопределения настроек;
* `sonar.bsl.languageserver.subsystemsFilter.include` - Список имен подсистем по объектам которых выполняется анализ, включая подчиненные подсистемы. По умолчанию `""` - Все подсистемы;
* `sonar.bsl.languageserver.subsystemsFilter.exclude` - Список имен подсистем исключенных из анализа, включая подчиненные подсистемы. По умолчанию - `""` - Нет исключаемых подсистем;
* `sonar.bsl.file.suffixes` - список расширений файлов для анализа. По умолчанию - `.bsl,.os`

## Переключение языка имен правил и сообщений в замечаниях
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ public final class BSLCommunityProperties {
public static final String LANG_SERVER_CONFIGURATION_PATH_KEY = "sonar.bsl.languageserver.configurationPath";
public static final String LANG_SERVER_OVERRIDE_CONFIGURATION_KEY = "sonar.bsl.languageserver.overrideConfiguration";
public static final String LANG_SERVER_REPORT_PATH_KEY = "sonar.bsl.languageserver.reportPaths";
public static final String LANG_SERVER_SUBSYSTEM_FILTER_INCLUDE_KEY = "sonar.bsl.languageserver.subsystemsFilter.include";
public static final String LANG_SERVER_SUBSYSTEM_FILTER_EXCLUDE_KEY = "sonar.bsl.languageserver.subsystemsFilter.exclude";
public static final String BSL_FILE_EXTENSIONS_KEY = "sonar.bsl.file.suffixes";

public static final Boolean LANG_SERVER_ENABLED_DEFAULT_VALUE = Boolean.TRUE;
Expand Down Expand Up @@ -103,6 +105,20 @@ public static List<PropertyDefinition> getProperties() {
.onQualifiers(Qualifiers.PROJECT)
.build(),
PropertyDefinitionUtils.newPropertyBuilderBSL(5,
LANG_SERVER_SUBSYSTEM_FILTER_INCLUDE_KEY,
"subsystemfilter.include",
"")
.onQualifiers(Qualifiers.PROJECT)
.multiValues(true)
.build(),
PropertyDefinitionUtils.newPropertyBuilderBSL(6,
LANG_SERVER_SUBSYSTEM_FILTER_EXCLUDE_KEY,
"subsystemfilter.exclude",
"")
.onQualifiers(Qualifiers.PROJECT)
.multiValues(true)
.build(),
PropertyDefinitionUtils.newPropertyBuilderBSL(7,
BSL_FILE_EXTENSIONS_KEY,
"file.suffixes",
BSL_FILE_EXTENSIONS_DEFAULT_VALUE)
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,19 @@ private LanguageServerConfiguration getLanguageServerConfiguration() {

configuration.getDiagnosticsOptions().setSkipSupport(skipSupport);


Set<String> includeSubsystems = new HashSet<>();
Collections.addAll(includeSubsystems, context.config()
.getStringArray(BSLCommunityProperties.LANG_SERVER_SUBSYSTEM_FILTER_INCLUDE_KEY));

configuration.getDiagnosticsOptions().getSubsystemsFilter().setInclude(includeSubsystems);

Set<String> excludeSubsystems = new HashSet<>();
Collections.addAll(excludeSubsystems, context.config()
.getStringArray(BSLCommunityProperties.LANG_SERVER_SUBSYSTEM_FILTER_EXCLUDE_KEY));

configuration.getDiagnosticsOptions().getSubsystemsFilter().setExclude(excludeSubsystems);

var activeRules = context.activeRules();

Map<String, Either<Boolean, Map<String, Object>>> diagnostics = new HashMap<>();
Expand Down
8 changes: 4 additions & 4 deletions src/main/resources/edt.json
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@
},
{
"Code": "EDT-21",
"Name": "Не следует размещать экспортные процедуры и функции в модулях команд и форм. К этим модулям нет возможности обращаться из внешнего по отношению к ним кода, поэтому экспортные процедуры и функции в этих модулях не имеют смысла.",
"Description": "Отсутствует",
"Name": "Не следует размещать экспортные процедуры и функции в модулях команд и форм",
"Description": "Не следует размещать экспортные процедуры и функции в модулях команд и форм. К этим модулям нет возможности обращаться из внешнего по отношению к ним кода, поэтому экспортные процедуры и функции в этих модулях не имеют смысла.",
"Type": "CODE_SMELL",
"Severity": "MINOR",
"Active": true,
Expand Down Expand Up @@ -1568,8 +1568,8 @@
},
{
"Code": "EDT-175",
"Name": "Реквизиты составного типа, используемые в условиях соединений, отборах, а также для упорядочивания, должны содержать только ссылочные типы. В состав их типов не рекомендуется включать никаких других нессылочных типов.",
"Description": "Отсутствует",
"Name": "Реквизиты составного типа, используемые в условиях соединений, отборах, а также для упорядочивания, должны содержать только ссылочные типы.",
"Description": "Реквизиты составного типа, используемые в условиях соединений, отборах, а также для упорядочивания, должны содержать только ссылочные типы. В состав их типов не рекомендуется включать никаких других нессылочных типов.",
"Type": "BUG",
"Severity": "MINOR",
"Active": true,
Expand Down
4 changes: 4 additions & 0 deletions src/main/resources/org/sonar/l10n/communitybsl.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ communitybsl.overrideConfiguration.name=BSL Language Server - Use configuration
communitybsl.overrideConfiguration.description=Override SonarQube settings with BSL LS configuration file.
communitybsl.file.suffixes.name=BSL File suffixes
communitybsl.file.suffixes.description=List of file suffixes that will be scanned.
communitybsl.subsystemfilter.include.description=List of subsystems for include.
communitybsl.subsystemfilter.include.name=Subsystems for include.
communitybsl.subsystemfilter.exclude.description=List of subsystems for exclude.
communitybsl.subsystemfilter.exclude.name=List of subsystems for exclude.
# EXTERNAL
communitybsl.reportPaths.name=BSL Language Server Report Files
communitybsl.reportPaths.description=Paths (absolute or relative) to xml files with BSL Language Server diagnostics
Expand Down
4 changes: 4 additions & 0 deletions src/main/resources/org/sonar/l10n/communitybsl_ru.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ communitybsl.overrideConfiguration.name=Использовать конфигу
communitybsl.overrideConfiguration.description=Переопределяет настройки профиля SonarQube в соответствии с конфигурационным файлом BSL Language Server
communitybsl.file.suffixes.name=Расширения bsl-файлов
communitybsl.file.suffixes.description=Список расширений файлов для анализа
communitybsl.subsystemfilter.include.description=Список подсистем для замечаний
communitybsl.subsystemfilter.include.name=Включая подсистемы
communitybsl.subsystemfilter.exclude.description=Список подсистем для исключения замечаний
communitybsl.subsystemfilter.exclude.name=Исключая подсистемы
# EXTERNAL
communitybsl.reportPaths.name=Путь к файлам отчета BSL Language Server
communitybsl.reportPaths.description=Путь (абсолютный или относительный) к xml-файлам отчета BSL Language Server
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ void testGetExtensions() {
var runtime = SonarRuntimeImpl.forSonarQube(VERSION_8_9, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY);
var context = new Plugin.Context(runtime);
bslPlugin.define(context);
assertThat((List<?>) context.getExtensions()).hasSize(23);
assertThat((List<?>) context.getExtensions()).hasSize(25);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ void testDefine() {
var repository = context.repository(reporter.getRepositoryKey());
assertThat(repository).isNotNull();
assertThat(repository.rules()).hasSize(179);
assertThat(repository.rules()).allMatch(rule-> rule.name().length() < 200);
}

@Test
Expand All @@ -63,6 +64,7 @@ void testEmptyExternalFilePath() {
var repository = context.repository(reporter.getRepositoryKey());
assertThat(repository).isNotNull();
assertThat(repository.rules()).hasSize(179);
assertThat(repository.rules()).allMatch(rule-> rule.name().length() < 200);
}

@Test
Expand All @@ -85,5 +87,6 @@ void testExternalFile() {
var repository = context.repository(reporter.getRepositoryKey());
assertThat(repository).isNotNull();
assertThat(repository.rules()).hasSize(183);
assertThat(repository.rules()).allMatch(rule-> rule.name().length() < 200);
}
}

0 comments on commit 5f50a77

Please sign in to comment.