Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Dec 11, 2020
2 parents a795230 + f0b0bd0 commit b93ffcf
Show file tree
Hide file tree
Showing 303 changed files with 8,731 additions and 925 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/Bug.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ assignees: ''
> Версия BSLLS либо плагина, который использует BSLLS
**Описание ошибки диагностики**
> Описание ошибки, замечачания
> Описание ошибки, замечания
**Пример кода**
> Пример кода (в блоке code или прикрепленный файл), на котором ошибка воспроизводится
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/BugDiagnostic.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ assignees: ''
<!-- Версия BSLLS либо плагина, который использует BSLLS -->

## Описание ошибки диагностики
<!-- Описание ошибки, замечачания -->
<!-- Описание ошибки, замечания -->

## Пример кода
<!-- Пример кода (в блоке code или прикрепленный файл), на котором ошибка воспроизводится -->
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/NewDiagnostic.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ assignees: ''
---

## Описание проблемы, ошибки, которую надо диагностировать
<!-- Например: Разработчики допускают ошибки, делая .... -->
<!-- Постарайтесь описать проблему так, чтобы этот текст мог бы быть помещен в описание диагностики -->

## Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы
<!-- Например: В соответствии со статьей на ИТС ... надо делать .... -->
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ jobs:
- name: Checkout project
uses: actions/checkout@v2

- name: Setup JDK 11
- name: Setup JDK 15
uses: actions/setup-java@v1
with:
java-version: 11
java-version: 15

- name: Build with Gradle
run: ./gradlew bootJar
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Setup JDK
uses: actions/setup-java@v1
with:
java-version: 14
java-version: 15

- name: Build javadoc
run: ./gradlew --no-daemon javadoc
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java_version: ['11', '14']
java_version: ['11', '15']
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 14
java-version: 15
- name: Build bootJar with Gradle
run: ./gradlew check bootJar
- name: Build jpackage app-image
Expand Down
8 changes: 3 additions & 5 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,15 +101,15 @@ Usage: bsl-language-server format [-hq] [-s=<path>]
Format files in source directory
-h, --help Show this help message and exit
-q, --silent Silent mode
-s, --srcDir=<path> Source directory
-s, --src=<path> Source directory or file
```
Для указания каталога расположения форматируемых исходников используется параметр `--srcDir` (сокращенно `-s`), за которым следует путь (относительный или абсолютный) к каталогу исходников.
Для указания каталога расположения форматируемых исходников (или файла) используется параметр `--src` (сокращенно `-s`), за которым следует путь (относительный или абсолютный) к каталогу исходников (или файлу).
Пример строки запуска форматирования:
```sh
java -jar bsl-language-server.jar --format --srcDir ./src/cf
java -jar bsl-language-server.jar --format --src ./src/cf
```
## Благодарности
Expand All @@ -130,7 +130,7 @@ java -jar bsl-language-server.jar --format --srcDir ./src/cf
---
[![JetBrains](docs/assets/images/jetbrains-variant-4.png)](https://www.jetbrains.com)
[![JetBrains](docs/assets/images/jetbrains-variant-4.png)](https://www.jetbrains.com?from=bsl-language-server)
Создатель профессиональных инструментов разработки программного обеспечения, инновационных и мощных, [JetBrains](https://www.jetbrains.com) поддержал наш проект, предоставив лицензии на свои продукты, в том числе на `IntelliJ IDEA Ultimate`.
Expand Down
67 changes: 40 additions & 27 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import groovy.util.Node
import me.qoomon.gradle.gitversioning.GitVersioningPluginConfig
import me.qoomon.gradle.gitversioning.GitVersioningPluginConfig.CommitVersionDescription
import me.qoomon.gradle.gitversioning.GitVersioningPluginConfig.VersionDescription
Expand All @@ -6,17 +7,16 @@ import java.util.*

plugins {
`java-library`
maven
`maven-publish`
jacoco
id("com.github.hierynomus.license") version "0.15.0"
id("net.kyori.indra.license-header") version "1.0.2"
id("org.sonarqube") version "3.0"
id("io.franzbecker.gradle-lombok") version "4.0.0"
id("me.qoomon.git-versioning") version "3.0.0"
id("com.github.ben-manes.versions") version "0.31.0"
id("com.github.ben-manes.versions") version "0.33.0"
id("io.freefair.javadoc-links") version "5.2.1"
id("org.springframework.boot") version "2.3.3.RELEASE"
id("com.github.1c-syntax.bslls-dev-tools") version "0.3.0"
id("org.springframework.boot") version "2.3.5.RELEASE"
id("com.github.1c-syntax.bslls-dev-tools") version "0.3.3"
}

apply(plugin = "io.spring.dependency-management")
Expand Down Expand Up @@ -45,21 +45,21 @@ gitVersioning.apply(closureOf<GitVersioningPluginConfig> {

val jacksonVersion = "2.11.2"
val junitVersion = "5.6.1"
val languageToolVersion = "5.0"
val languageToolVersion = "5.1"

dependencies {

// RUNTIME

// spring
api("org.springframework.boot:spring-boot-starter")
api("info.picocli:picocli-spring-boot-starter:4.5.1")
api("info.picocli:picocli-spring-boot-starter:4.5.2")

// lsp4j core
api("org.eclipse.lsp4j", "org.eclipse.lsp4j", "0.9.0")

// 1c-syntax
api("com.github.1c-syntax", "bsl-parser", "0.16.0") {
api("com.github.1c-syntax", "bsl-parser", "2cfed6c4f59b3ea2e24e0badfd4f1ff21df7215a") {
exclude("com.tunnelvisionlabs", "antlr4-annotations")
exclude("com.ibm.icu", "*")
exclude("org.antlr", "ST4")
Expand All @@ -68,20 +68,21 @@ dependencies {
exclude("org.glassfish", "javax.json")
}
api("com.github.1c-syntax", "utils", "0.3.1")
api("com.github.1c-syntax", "mdclasses", "0.6.1")
api("com.github.1c-syntax", "mdclasses", "0.7.0")

// JLanguageTool
implementation("org.languagetool", "languagetool-core", "5.0.2")
implementation("org.languagetool", "languagetool-core", languageToolVersion)
implementation("org.languagetool", "language-en", languageToolVersion)
implementation("org.languagetool", "language-ru", languageToolVersion)

// commons utils
implementation("commons-io", "commons-io", "2.8.0")
implementation("org.apache.commons", "commons-lang3", "3.11")
implementation("commons-beanutils", "commons-beanutils", "1.9.4")
implementation("org.apache.commons", "commons-collections4", "4.4")

// progress bar
implementation("me.tongfei", "progressbar", "0.8.1")
implementation("me.tongfei", "progressbar", "0.9.0")

// (de)serialization
implementation("com.fasterxml.jackson.core", "jackson-databind", jacksonVersion)
Expand All @@ -94,6 +95,7 @@ dependencies {
// COMPILE

compileOnly("org.projectlombok", "lombok", lombok.version)
annotationProcessor("org.projectlombok", "lombok", lombok.version)

// TEST

Expand All @@ -106,8 +108,8 @@ dependencies {
testImplementation("org.springframework.boot:spring-boot-starter-test")

// test utils
testImplementation("org.assertj", "assertj-core", "3.17.2")
testImplementation("org.mockito", "mockito-core", "3.5.10")
testImplementation("org.assertj", "assertj-core", "3.18.0")
testImplementation("org.mockito", "mockito-core", "3.6.0")
testImplementation("com.ginsberg", "junit5-system-exit", "1.0.0")
testImplementation("org.awaitility", "awaitility", "4.0.3")
}
Expand Down Expand Up @@ -148,7 +150,7 @@ tasks.test {
useJUnitPlatform()

testLogging {
events("passed", "skipped", "failed")
events("passed", "skipped", "failed", "standard_error")
}

reports {
Expand Down Expand Up @@ -183,18 +185,24 @@ tasks.processResources {
}
}

jacoco {
toolVersion = "0.8.6"
}

license {
header = rootProject.file("license/HEADER.txt")
ext["year"] = "2018-" + Calendar.getInstance().get(Calendar.YEAR)
ext["name"] = "Alexey Sosnoviy <[email protected]>, Nikita Gryzlov <[email protected]>"
ext["project"] = "BSL Language Server"
strictCheck = true
mapping("java", "SLASHSTAR_STYLE")
exclude("**/*.properties")
exclude("**/*.xml")
exclude("**/*.json")
exclude("**/*.bsl")
exclude("**/*.os")
exclude("**/*.txt")
exclude("**/*.java.orig")
exclude("**/*.impl")
exclude("**/*.mockito.plugins.MockMaker")
}

sonarqube {
Expand All @@ -210,8 +218,8 @@ sonarqube {
}

lombok {
version = "1.18.12"
sha256 = "49381508ecb02b3c173368436ef71b24c0d4418ad260e6cc98becbcf4b345406"
version = "1.18.16"
sha256 = "7206cbbfd6efd5e85bceff29545633645650be58d58910a23b0d4835fbd15ed7"
}

tasks {
Expand Down Expand Up @@ -244,6 +252,7 @@ tasks {
}

artifacts {
archives(tasks["jar"])
archives(tasks["sourcesJar"])
archives(tasks["bootJar"])
archives(tasks["javadocJar"])
Expand All @@ -252,22 +261,26 @@ artifacts {
publishing {
publications {
create<MavenPublication>("maven") {
artifact(tasks["jar"])
artifact(tasks["sourcesJar"])
artifact(tasks["bootJar"])
artifact(tasks["javadocJar"])
pom.withXml {
val dependenciesNode = asNode().appendNode("dependencies")

configurations.implementation.get().dependencies.forEach { dependency ->
if (dependency !is SelfResolvingDependency) {
val dependencyNode = dependenciesNode.appendNode("dependency")
dependencyNode.appendNode("groupId", dependency.group)
dependencyNode.appendNode("artifactId", dependency.name)
dependencyNode.appendNode("version", dependency.version)
dependencyNode.appendNode("scope", "runtime")
}
}
configurations.implementation.get().dependencies.forEach(addDependency(dependenciesNode, "runtime"))
configurations.api.get().dependencies.forEach(addDependency(dependenciesNode, "compile"))
}
}
}
}

fun addDependency(dependenciesNode: Node, scope: String) = { dependency: Dependency ->
if (dependency !is SelfResolvingDependency) {
val dependencyNode = dependenciesNode.appendNode("dependency")
dependencyNode.appendNode("groupId", dependency.group)
dependencyNode.appendNode("artifactId", dependency.name)
dependencyNode.appendNode("version", dependency.version)
dependencyNode.appendNode("scope", scope)
}
}
10 changes: 9 additions & 1 deletion docs/diagnostics/CodeOutOfRegion.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@
:-: | :-: | :-: | :-: | :-: | :-:
`Дефект кода` | `BSL` | `Информационный` | `Да` | `1` | `standard`

## Параметры

Имя | Тип | Описание | Значение по умолчанию
:-: | :-: | :-- | :-:
`checkUnknownModuleType` | `Булево` | ```Проверять неизвестные типы модулей``` | ```false```

<!-- Блоки выше заполняются автоматически, не трогать -->
## Описание диагностики
<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->
Expand Down Expand Up @@ -65,5 +71,7 @@
### Параметр конфигурационного файла

```json
"CodeOutOfRegion": false
"CodeOutOfRegion": {
"checkUnknownModuleType": false
}
```
31 changes: 31 additions & 0 deletions docs/diagnostics/CommandModuleExportMethods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Экспортные методы в модулях команд и общих команд (CommandModuleExportMethods)

Тип | Поддерживаются<br>языки | Важность | Включена<br>по умолчанию | Время на<br>исправление (мин) | Тэги
:-: | :-: | :-: | :-: | :-: | :-:
`Дефект кода` | `BSL` | `Информационный` | `Да` | `1` | `standard`<br>`clumsy`

<!-- Блоки выше заполняются автоматически, не трогать -->
## Описание диагностики

Не следует размещать экспортные методы в модулях команд и общих команд. К этим модулям нет возможности
обращаться из внешнего по отношению к ним кода, поэтому экспортные методы в этих модулях не имеют смысла.

## Источники

* [Источник](https://its.1c.ru/db/v8std/content/544/hdoc)

## Сниппеты

<!-- Блоки ниже заполняются автоматически, не трогать -->
### Экранирование кода

```bsl
// BSLLS:CommandModuleExportMethods-off
// BSLLS:CommandModuleExportMethods-on
```

### Параметр конфигурационного файла

```json
"CommandModuleExportMethods": false
```
2 changes: 2 additions & 0 deletions docs/diagnostics/DeprecatedMethodCall.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
<!-- Блоки выше заполняются автоматически, не трогать -->
## Описание диагностики

В случаях когда возникает необходимость отметить процедуру (функцию) как устаревшую, в первой строке ее описания размещается слово "Устарела." (англ. "Deprecated.").

Следует избегать использования или расширения устаревших методов. Пометка метода как устаревшего - это предупреждение о том, что метод будет удален в будущих версиях и оставлен для временной обратной совместимости.

Исключение: допустимо вызывать устаревшие методы из устаревших методов.
Expand Down
Loading

0 comments on commit b93ffcf

Please sign in to comment.