Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Workflow that publishes the VS Code extension to the VS Marketplace and
# Open VSX, and attaches assets to the new release.

name: publish

on:
release:
types: [published]
jobs:
distribute:
name: "Distribute VSCode extension"
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read

steps:
- uses: actions/checkout@v6
- uses: actions/cache@v5
with:
path: '**/node_modules'
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }}
- uses: actions/setup-node@v6
with:
node-version: "24.x"
registry-url: 'https://registry.npmjs.org'
scope: '@kieler'
- name: Download specific artifact from external release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OWNER: kieler
REPO: semantics
ASSET_NAME: kieler-language-server.jar
run: |
url=$(gh api repos/$OWNER/$REPO/releases/latest \
--jq ".assets[] | select(.name == \"$ASSET_NAME\") | .url")

if [ -z "$url" ]; then
echo "Asset not found: $ASSET_NAME"
exit 1
fi

gh api "$url" -H "Accept: application/octet-stream" > "keith-vscode/server/$ASSET_NAME"
- run: yarn
- run: yarn distribute
Comment thread
n1kPLV marked this conversation as resolved.
Resolved
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
OVSX_PAT: ${{ secrets.OVSX_PAT }}
release-assets:
name: "Add assets to release"
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "24.x"
- run: yarn
- run: yarn package
Comment thread
n1kPLV marked this conversation as resolved.
Resolved

- name: Upload release assets
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload ${{ github.event.release.tag_name }} \
./keith-vscode/keith-vscode.vsix \
--clobber
22 changes: 9 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
# KEITH

This monorepo is the home of the KIELER VS Code project. It mainly consists of a Visual Studio Code extension.
This monorepo is the home of the KIELER VS Code project.
It mainly consists of a Visual Studio Code extension.

## Packages

- [keith-vscode](./packages/keith-vscode): VS Code extension that adds support for multiple KIELER
languages in VS Code.
- [keith-vscode](./keith-vscode): VS Code extension that adds support for multiple KIELER languages in VS Code.

## Requirements

Development of this project requires [Node.js _v16.x_](https://nodejs.org) and
[yarn _v1.x_](https://classic.yarnpkg.com/). Further, language server jars, named
`kieler-language-server.jar`, have to placed in the `keith-vscode/server` folder to develop
the VS Code extension. The latest jars can be downloaded
[here](https://rtsys.informatik.uni-kiel.de/~kieler/files/nightly/sccharts/ls/).
Development of this project requires [Node.js _v24.x_](https://nodejs.org) and [yarn _v1.x_](https://classic.yarnpkg.com/).
Furthermore, language server jars, named `kieler-language-server.jar`, have to be placed in the `keith-vscode/server` folder to develop the VS Code extension.
The latest jars can be downloaded from the [semantics](https://github.com/kieler/semantics/releases) repository.

The `keith-vscode` extension has a dependency on the
[klighd-vscode](https://github.com/kieler/klighd-vscode) to add diagram support. You have to install
the extension locally if VS Code is not able to install the dependency automatically.
The `keith-vscode` extension has a dependency on the [klighd-vscode](https://github.com/kieler/klighd-vscode) to add diagram support.
You have to install the extension locally if VS Code is not able to install the dependency automatically.

## Scripts

Expand All @@ -37,8 +34,7 @@ We recommend VS Code to develop the VS Code extension to make use of the provide
following steps are required to start developing.

1. Fulfill the requirements above.
1. Install all
[workspace recommended extensions](https://code.visualstudio.com/docs/editor/extension-marketplace#_recommended-extensions).
1. Install all [workspace recommended extensions](https://code.visualstudio.com/docs/editor/extension-marketplace#_recommended-extensions).
1. Run `yarn` in the monorepo root to install all dependencies (if not already done).
1. Run the "Launch VS Code Extension" launch configuration. This also runs a task to watch all packages.
1. A VS Code instance with the `keith-vscode` extension should be started.
Expand Down
4 changes: 2 additions & 2 deletions keith-vscode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## Features

Adds language support for various languages that are part of the
[KIELER project](https://rtsys.informatik.uni-kiel.de/kieler).
[KIELER project](https://github.com/kieler).

- Support for SCCharts
- Support for Elk Graph
Expand All @@ -19,7 +19,7 @@ languages.

## Requirements

This extension requires an installation of Java 11 to be available on your PATH.
This extension requires an installation of Java 17 to be available on your PATH.

## Known Issues

Expand Down
4 changes: 3 additions & 1 deletion keith-vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -640,12 +640,14 @@
"build": "webpack --mode production",
"watch": "webpack --watch",
"package": "vsce package --yarn -o keith-vscode.vsix",
"vscode:prepublish": "yarn run build"
"vscode:prepublish": "yarn run build",
"distribute": "vsce publish --yarn --packagePath keith-vscode.vsix"
},
"devDependencies": {
"@types/node": "^16.11.7",
"@types/react": "^18.3.0",
"@types/vscode": "^1.85.0",
"@vscode/vsce": "^3.9.1",
"@typescript-eslint/eslint-plugin": "^6.15.0",
"@typescript-eslint/parser": "^6.15.0",
"clean-webpack-plugin": "^4.0.0",
Expand Down
4 changes: 2 additions & 2 deletions keith-vscode/server/.gitkeep
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Place your the language server jar for each plattform in this folder. They
will be picked up by the extension.
Place the language server jar for each platform in this folder.
They will be picked up by the extension.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"build": "lerna run build",
"watch": "lerna run watch --parallel",
"package": "lerna run build && lerna run package --parallel",
"prettier": "prettier --write keith-vscode/src/"
"prettier": "prettier --write keith-vscode/src/",
"distribute": "lerna run package && lerna run distribute --parallel"
},
"dependencies": {},
"devDependencies": {
Expand Down
Loading
Loading