Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into feature/osClassMod…
Browse files Browse the repository at this point in the history
…uleType
  • Loading branch information
asosnoviy committed Jul 26, 2023
2 parents 9483ffc + 5796c10 commit 16bc7ad
Show file tree
Hide file tree
Showing 178 changed files with 6,065 additions and 500 deletions.
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"image":"mcr.microsoft.com/devcontainers/universal:2"}
73 changes: 73 additions & 0 deletions .github/scripts/build-jpackage.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import ntpath
import os
import platform
import re
import shutil
import sys


def build_image(base_dir, image_prefix, executable_file):
path_to_jar = get_bsl_ls_jar(base_dir)
if path_to_jar is None:
exit()

cmd_args = [
'jpackage',
'--name', 'bsl-language-server',
'--input', 'build/libs',
'--main-jar', path_to_jar]

if is_windows():
cmd_args.append('--win-console')

cmd_args.append('--type')
cmd_args.append('app-image')
cmd_args.append('--java-options')
cmd_args.append('-Xmx2g')

cmd = ' '.join(cmd_args)
os.system(cmd)

shutil.make_archive(
"bsl-language-server_" + image_prefix,
'zip',
'./',
executable_file)


def is_windows():
return platform.system() == 'Windows'


def get_base_dir():
if is_windows():
base_dir = os.getcwd() + "\\build\\libs"
else:
base_dir = os.getcwd() + "/build/libs"
return base_dir


def get_bsl_ls_jar(dir_name):
pattern = r"bsl.+\.jar"
names = os.listdir(dir_name)
for name in names:
fullname = os.path.join(dir_name, name)
if os.path.isfile(fullname) and re.search(pattern, fullname) and fullname.find('exec.jar') != -1:
return ntpath.basename(fullname)

return None


if __name__ == "__main__":
# directory with build project
arg_base_dir = get_base_dir()

# image prefix: `win`, `nic` or `mac`
arg_image_prefix = sys.argv[1]

# executable file: `bsl-language-server` or `bsl-language-server.app`
arg_executable_file = sys.argv[2]

build_image(base_dir=get_base_dir(),
image_prefix=sys.argv[1],
executable_file=sys.argv[2])
50 changes: 50 additions & 0 deletions .github/workflows/check-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Check making image

on:
push:
branches:
- develop
- feature/check-package


jobs:
build:
strategy:
fail-fast: true
matrix:
os: [windows-latest, ubuntu-latest, macOS-latest]
include:
- os: windows-latest
displayName: Windows
prefix: win
app-image: bsl-language-server
- os: ubuntu-latest
displayName: Linux
prefix: nix
app-image: bsl-language-server
- os: macOS-latest
displayName: MacOS
prefix: mac
app-image: bsl-language-server.app
runs-on: ${{ matrix.os }}
name: (${{ matrix.displayName }}) create image app version

steps:
- name: Checkout source
uses: actions/checkout@v3

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 20
distribution: 'temurin'

- name: Build bootJar with Gradle
run: ./gradlew check build

- name: Build jpackage application image
run: python .github/scripts/build-jpackage.py ${{ matrix.prefix }} ${{ matrix.app-image }}




2 changes: 1 addition & 1 deletion .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ jobs:
cp -R temp/site/. public/dev/en
- name: Deploy
uses: peaceiris/[email protected].2
uses: peaceiris/[email protected].3
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
publish_branch: gh-pages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java_version: ['11', '17']
java_version: ['17', '20']
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,13 @@ jobs:
distribution: 'temurin'
- name: SonarCloud Scan on PR
if: github.event.workflow_run.event == 'pull_request'
run: ./gradlew check sonarqube -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} -Dsonar.pullrequest.key=${{ fromJson(steps.get_pr_data.outputs.data).number }} -Dsonar.pullrequest.branch=${{ fromJson(steps.get_pr_data.outputs.data).head.ref }} -Dsonar.pullrequest.base=${{ fromJson(steps.get_pr_data.outputs.data).base.ref }}
run: ./gradlew check sonar -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} -Dsonar.pullrequest.key=${{ fromJson(steps.get_pr_data.outputs.data).number }} -Dsonar.pullrequest.branch=${{ fromJson(steps.get_pr_data.outputs.data).head.ref }} -Dsonar.pullrequest.base=${{ fromJson(steps.get_pr_data.outputs.data).base.ref }}
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: SonarCloud Scan on push
if: github.event.workflow_run.event == 'push' && github.event.workflow_run.head_repository.full_name == github.event.repository.full_name
run: ./gradlew check sonarqube -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} -Dsonar.branch.name=${{ github.event.workflow_run.head_branch }}
run: ./gradlew check sonar -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} -Dsonar.branch.name=${{ github.event.workflow_run.head_branch }}
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 4 additions & 2 deletions .github/workflows/qodana.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,17 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: 'Qodana Scan'
uses: JetBrains/[email protected]
uses: JetBrains/[email protected]
env:
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
with:
linter: jetbrains/qodana-jvm-community
- uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: ${{ runner.temp }}/qodana/results/qodana.sarif.json
- name: Deploy to GitHub Pages
if: github.event_name == 'push'
uses: peaceiris/[email protected].2
uses: peaceiris/[email protected].3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ runner.temp }}/qodana/results/report
Expand Down
62 changes: 9 additions & 53 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,80 +28,36 @@ jobs:

steps:
- name: Checkout source
uses: actions/checkout@v3
uses: actions/checkout@v3

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 17
java-version: 20
distribution: 'temurin'

- name: Build bootJar with Gradle
run: ./gradlew check bootJar
- name: Build jpackage app-image
run: |
import os
import platform
import re
import ntpath
import shutil
pattern = r"bsl.+\.jar"
thisPlatform = platform.system();
isWindows = False
if thisPlatform == 'Windows':
isWindows = True
if isWindows:
dirName = os.getcwd() + "\\build\\libs"
else:
dirName = os.getcwd() + "/build/libs"
def start():
fullname = get_bslls_jar(dirName)
if (fullname == None):
exit
cmdArgs = ['jpackage']
cmdArgs.append('--name')
cmdArgs.append('bsl-language-server')
cmdArgs.append('--input')
cmdArgs.append('build/libs')
cmdArgs.append('--main-jar')
cmdArgs.append(fullname)
if isWindows:
cmdArgs.append('--win-console')
cmdArgs.append('--type')
cmdArgs.append('app-image')
cmdArgs.append('--java-options')
cmdArgs.append('-Xmx2g')

cmd = ' '.join(cmdArgs)
os.system(cmd)
shutil.make_archive("bsl-language-server_" + "${{ matrix.prefix }}", 'zip', './',"${{ matrix.app-image }}")
- name: Build jpackage application image
run: python .github/scripts/build-jpackage.py ${{ matrix.prefix }} ${{ matrix.app-image }}

def get_bslls_jar(dir):
names = os.listdir(dir)
for name in names:
fullname = os.path.join(dir, name)
if os.path.isfile(fullname) and re.search(pattern, fullname) and fullname.find('exec.jar') != -1:
return ntpath.basename(fullname)
return None
start()
shell: python
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: bsl-language-server_${{ matrix.prefix }}.zip
path: ./${{ matrix.app-image }}

- name: Upload assets to release
uses: AButler/[email protected]
with:
files: './bsl-language-server_${{ matrix.prefix }}.zip'
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Build with Gradle
if: matrix.prefix == 'nix'
run: ./gradlew build

- name: Upload jar to release
if: matrix.prefix == 'nix'
uses: AButler/[email protected]
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ fabric.properties
*.ps1
target/
build/
bin/

# Scala compiler user settings
.idea/hydra.xml
Expand All @@ -67,6 +68,7 @@ gen/
.idea/sonarlint-state.xml
.idea/sonarlint.xml
.idea/checkstyle-idea.xml
.idea/jpa-buddy.xml
*.bak
*.orig

Expand Down
5 changes: 4 additions & 1 deletion .idea/codeStyles/Project.xml

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

4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"java.compile.nullAnalysis.mode": "automatic",
"java.configuration.updateBuildConfiguration": "automatic"
}
Loading

0 comments on commit 16bc7ad

Please sign in to comment.