Skip to content

Commit 57d15d7

Browse files
committed
перенос и адаптация файлов из bsl-parser
1 parent 5a58f6a commit 57d15d7

25 files changed

+2262
-0
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.java eol=lf

.github/dependabot.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "gradle" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "daily"
12+
- package-ecosystem: "github-actions"
13+
directory: "/"
14+
schedule:
15+
interval: "daily"
16+

.github/workflows/check.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Java CI
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
java_version: ['17', '20']
12+
os: [ubuntu-latest, windows-latest, macOS-latest]
13+
steps:
14+
- uses: actions/checkout@v4
15+
- name: Set up JDK ${{ matrix.java_version }}
16+
uses: actions/setup-java@v4
17+
with:
18+
java-version: ${{ matrix.java_version }}
19+
distribution: 'adopt'
20+
- name: Build with Gradle
21+
run: ./gradlew check --stacktrace
22+
- name: Archive test results
23+
if: failure()
24+
uses: actions/upload-artifact@v4
25+
with:
26+
name: junit_report_${{ matrix.os }}_${{ matrix.java_version }}
27+
path: build/reports/tests/test

.github/workflows/javadoc.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: javadoc
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- name: Set up JDK
11+
uses: actions/setup-java@v4
12+
with:
13+
java-version: 17
14+
distribution: 'adopt'
15+
- name: Check javadoc build
16+
run: ./gradlew javadoc --stacktrace
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Publish to Sonatype
2+
3+
on:
4+
release:
5+
types: [published]
6+
push:
7+
branches:
8+
- develop
9+
workflow_dispatch:
10+
11+
jobs:
12+
publish:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Set up JDK
17+
uses: actions/setup-java@v4
18+
with:
19+
java-version: 17
20+
distribution: 'liberica'
21+
- name: Publish to Sonatype
22+
run: ./gradlew publishMavenPublicationToSonatypeRepository -PsimplifyVersion
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
26+
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
27+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_SIGNING_KEY }}
28+
ORG_GRADLE_PROJECT_signingInMemoryPassword: ${{ secrets.GPG_SIGNING_PASSWORD }}
29+
- name: Close repository
30+
if: github.event_name == 'release'
31+
run: ./gradlew closeAndReleaseRepository
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
35+
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
36+
ORG_GRADLE_PROJECT_nexusUsername: ${{ secrets.SONATYPE_USERNAME }}
37+
ORG_GRADLE_PROJECT_nexusPassword: ${{ secrets.SONATYPE_PASSWORD }}

.github/workflows/qa.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: QA
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
- master
8+
pull_request:
9+
10+
jobs:
11+
QA:
12+
runs-on: ubuntu-latest
13+
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.event.repository.full_name
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
fetch-depth: ''
18+
- run: |
19+
git fetch --prune --unshallow
20+
- name: Set up JDK 17
21+
uses: actions/setup-java@v4
22+
with:
23+
java-version: 17
24+
distribution: 'adopt'
25+
- name: SonarCloud Scan
26+
run: ./gradlew check sonar
27+
env:
28+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
29+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Make image
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
build:
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
fail-fast: true
12+
matrix:
13+
os: [ ubuntu-latest, windows-latest, macOS-latest ]
14+
steps:
15+
- uses: actions/checkout@v4
16+
- uses: actions/setup-java@v4
17+
with:
18+
java-version: 17
19+
distribution: 'adopt'
20+
- run: ./gradlew check --stacktrace
21+
- if: matrix.os == 'ubuntu-latest'
22+
run: ./gradlew build
23+
- if: matrix.os == 'ubuntu-latest'
24+
uses: AButler/[email protected]
25+
with:
26+
files: './build/libs/*.jar'
27+
repo-token: ${{ secrets.GITHUB_TOKEN }}
28+

.gitignore

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
2+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
3+
4+
# User-specific stuff
5+
.idea/**/workspace.xml
6+
.idea/**/tasks.xml
7+
.idea/**/usage.statistics.xml
8+
.idea/**/dictionaries
9+
.idea/**/shelf
10+
11+
# Generated files
12+
.idea/**/contentModel.xml
13+
14+
# Sensitive or high-churn files
15+
.idea/**/dataSources/
16+
.idea/**/dataSources.ids
17+
.idea/**/dataSources.local.xml
18+
.idea/**/sqlDataSources.xml
19+
.idea/**/dynamic.xml
20+
.idea/**/uiDesigner.xml
21+
.idea/**/dbnavigator.xml
22+
23+
# Gradle
24+
.idea/**/gradle.xml
25+
.idea/**/libraries
26+
27+
# Gradle and Maven with auto-import
28+
# When using Gradle or Maven with auto-import, you should exclude module files,
29+
# since they will be recreated, and may cause churn. Uncomment if using
30+
# auto-import.
31+
.idea/modules.xml
32+
.idea/*.iml
33+
.idea/modules
34+
35+
# IntelliJ
36+
out/
37+
38+
# Crashlytics plugin (for Android Studio and IntelliJ)
39+
com_crashlytics_export_strings.xml
40+
crashlytics.properties
41+
crashlytics-build.properties
42+
fabric.properties
43+
44+
# Editor-based Rest Client
45+
.idea/httpRequests
46+
47+
.gradle/
48+
*.zip
49+
*.ps1
50+
target/
51+
build/
52+
53+
.idea/sonarlint/
54+
\.idea/sonarlint-state\.xml
55+
*.orig
56+
/.idea/misc.xml
57+
*.bak
58+
/.idea/compiler.xml
59+
/.idea/jarRepositories.xml
60+
/.idea/inspectionProfiles/Project_Default.xml

.idea/encodings.xml

+4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

COPYING.LESSER.md

+163
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
GNU Lesser General Public License
2+
=================================
3+
4+
_Version 3, 29 June 2007_
5+
_Copyright © 2007 Free Software Foundation, Inc. &lt;<http://fsf.org/>&gt;_
6+
7+
Everyone is permitted to copy and distribute verbatim copies
8+
of this license document, but changing it is not allowed.
9+
10+
11+
This version of the GNU Lesser General Public License incorporates
12+
the terms and conditions of version 3 of the GNU General Public
13+
License, supplemented by the additional permissions listed below.
14+
15+
### 0. Additional Definitions
16+
17+
As used herein, “this License” refers to version 3 of the GNU Lesser
18+
General Public License, and the “GNU GPL” refers to version 3 of the GNU
19+
General Public License.
20+
21+
“The Library” refers to a covered work governed by this License,
22+
other than an Application or a Combined Work as defined below.
23+
24+
An “Application” is any work that makes use of an interface provided
25+
by the Library, but which is not otherwise based on the Library.
26+
Defining a subclass of a class defined by the Library is deemed a mode
27+
of using an interface provided by the Library.
28+
29+
A “Combined Work” is a work produced by combining or linking an
30+
Application with the Library. The particular version of the Library
31+
with which the Combined Work was made is also called the “Linked
32+
Version”.
33+
34+
The “Minimal Corresponding Source” for a Combined Work means the
35+
Corresponding Source for the Combined Work, excluding any source code
36+
for portions of the Combined Work that, considered in isolation, are
37+
based on the Application, and not on the Linked Version.
38+
39+
The “Corresponding Application Code” for a Combined Work means the
40+
object code and/or source code for the Application, including any data
41+
and utility programs needed for reproducing the Combined Work from the
42+
Application, but excluding the System Libraries of the Combined Work.
43+
44+
### 1. Exception to Section 3 of the GNU GPL
45+
46+
You may convey a covered work under sections 3 and 4 of this License
47+
without being bound by section 3 of the GNU GPL.
48+
49+
### 2. Conveying Modified Versions
50+
51+
If you modify a copy of the Library, and, in your modifications, a
52+
facility refers to a function or data to be supplied by an Application
53+
that uses the facility (other than as an argument passed when the
54+
facility is invoked), then you may convey a copy of the modified
55+
version:
56+
57+
* **a)** under this License, provided that you make a good faith effort to
58+
ensure that, in the event an Application does not supply the
59+
function or data, the facility still operates, and performs
60+
whatever part of its purpose remains meaningful, or
61+
62+
* **b)** under the GNU GPL, with none of the additional permissions of
63+
this License applicable to that copy.
64+
65+
### 3. Object Code Incorporating Material from Library Header Files
66+
67+
The object code form of an Application may incorporate material from
68+
a header file that is part of the Library. You may convey such object
69+
code under terms of your choice, provided that, if the incorporated
70+
material is not limited to numerical parameters, data structure
71+
layouts and accessors, or small macros, inline functions and templates
72+
(ten or fewer lines in length), you do both of the following:
73+
74+
* **a)** Give prominent notice with each copy of the object code that the
75+
Library is used in it and that the Library and its use are
76+
covered by this License.
77+
* **b)** Accompany the object code with a copy of the GNU GPL and this license
78+
document.
79+
80+
### 4. Combined Works
81+
82+
You may convey a Combined Work under terms of your choice that,
83+
taken together, effectively do not restrict modification of the
84+
portions of the Library contained in the Combined Work and reverse
85+
engineering for debugging such modifications, if you also do each of
86+
the following:
87+
88+
* **a)** Give prominent notice with each copy of the Combined Work that
89+
the Library is used in it and that the Library and its use are
90+
covered by this License.
91+
92+
* **b)** Accompany the Combined Work with a copy of the GNU GPL and this license
93+
document.
94+
95+
* **c)** For a Combined Work that displays copyright notices during
96+
execution, include the copyright notice for the Library among
97+
these notices, as well as a reference directing the user to the
98+
copies of the GNU GPL and this license document.
99+
100+
* **d)** Do one of the following:
101+
- **0)** Convey the Minimal Corresponding Source under the terms of this
102+
License, and the Corresponding Application Code in a form
103+
suitable for, and under terms that permit, the user to
104+
recombine or relink the Application with a modified version of
105+
the Linked Version to produce a modified Combined Work, in the
106+
manner specified by section 6 of the GNU GPL for conveying
107+
Corresponding Source.
108+
- **1)** Use a suitable shared library mechanism for linking with the
109+
Library. A suitable mechanism is one that **(a)** uses at run time
110+
a copy of the Library already present on the user's computer
111+
system, and **(b)** will operate properly with a modified version
112+
of the Library that is interface-compatible with the Linked
113+
Version.
114+
115+
* **e)** Provide Installation Information, but only if you would otherwise
116+
be required to provide such information under section 6 of the
117+
GNU GPL, and only to the extent that such information is
118+
necessary to install and execute a modified version of the
119+
Combined Work produced by recombining or relinking the
120+
Application with a modified version of the Linked Version. (If
121+
you use option **4d0**, the Installation Information must accompany
122+
the Minimal Corresponding Source and Corresponding Application
123+
Code. If you use option **4d1**, you must provide the Installation
124+
Information in the manner specified by section 6 of the GNU GPL
125+
for conveying Corresponding Source.)
126+
127+
### 5. Combined Libraries
128+
129+
You may place library facilities that are a work based on the
130+
Library side by side in a single library together with other library
131+
facilities that are not Applications and are not covered by this
132+
License, and convey such a combined library under terms of your
133+
choice, if you do both of the following:
134+
135+
* **a)** Accompany the combined library with a copy of the same work based
136+
on the Library, uncombined with any other library facilities,
137+
conveyed under the terms of this License.
138+
* **b)** Give prominent notice with the combined library that part of it
139+
is a work based on the Library, and explaining where to find the
140+
accompanying uncombined form of the same work.
141+
142+
### 6. Revised Versions of the GNU Lesser General Public License
143+
144+
The Free Software Foundation may publish revised and/or new versions
145+
of the GNU Lesser General Public License from time to time. Such new
146+
versions will be similar in spirit to the present version, but may
147+
differ in detail to address new problems or concerns.
148+
149+
Each version is given a distinguishing version number. If the
150+
Library as you received it specifies that a certain numbered version
151+
of the GNU Lesser General Public License “or any later version”
152+
applies to it, you have the option of following the terms and
153+
conditions either of that published version or of any later version
154+
published by the Free Software Foundation. If the Library as you
155+
received it does not specify a version number of the GNU Lesser
156+
General Public License, you may choose any version of the GNU Lesser
157+
General Public License ever published by the Free Software Foundation.
158+
159+
If the Library as you received it specifies that a proxy can decide
160+
whether future versions of the GNU Lesser General Public License shall
161+
apply, that proxy's public statement of acceptance of any version is
162+
permanent authorization for you to choose that version for the
163+
Library.

0 commit comments

Comments
 (0)