Setting up the development environment for the vscode-opencl
extension.
- Ensure you have
npm
installed. - Install the necessary packages for the extension using
npm install
.
-
Clone or update the opencl-language-server:
git clone [email protected]:Galarius/opencl-language-server.git server cd server
-
Refer to the
DEV.md
file inside theserver
directory for detailed setup instructions.[optional] Inside the
server
directory, use the following commands to generate an Xcode project:mkdir .build-xcode && cd .build-xcode cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE="../.conan-install/build/Debug/generators/conan_toolchain.cmake" -DENABLE_TESTING=ON ..
-
Modify the
OPENCL_LANGUAGE_SERVER
path in.vscode/launch.json
if needed.
pushd ./bin/darwin
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*darwin-universal" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-darwin-universal.tar.gz
rm opencl-language-server-darwin-universal.tar.gz
popd
Sign the executable
codesign -s $SIGNING_IDENTITY --timestamp --force --options runtime ./bin/darwin/opencl-language-server
codesign -vvvv ./bin/darwin/opencl-language-server
Archive the executable
(cd ./bin/darwin; zip opencl-language-server.zip opencl-language-server)
Perform the notarization
pushd ./bin/darwin
xcrun notarytool submit opencl-language-server.zip --keychain-profile $PROFILE --wait
xcrun notarytool history --keychain-profile $PROFILE
xcrun notarytool info --keychain-profile $PROFILE $SUBMISSION_ID
xcrun notarytool log --keychain-profile $PROFILE $SUBMISSION_ID
popd
Verify the notarization
spctl --assess -vv --type install ./bin/darwin/opencl-language-server
Remove the archive
rm ./bin/darwin/opencl-language-server.zip
pushd ./bin/linux/x64
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*linux-x86_64" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-linux-x86_64.tar.gz
rm opencl-language-server-linux-x86_64.tar.gz
popd
pushd ./bin/linux/arm64
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*linux-arm64" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-linux-arm64.tar.gz
rm opencl-language-server-linux-arm64.tar.gz
popd
pushd ./bin/win32
curl --remote-name-all --location $( curl -s https://api.github.com/repos/Galarius/opencl-language-server/releases/latest | grep "browser_download_url.*win32" | cut -d : -f 2,3 | tr -d \" )
tar -xzvf opencl-language-server-win32-x86_64.zip
rm opencl-language-server-win32-x86_64.zip
popd
- Install
vsce
:npm install -g @vscode/vsce
. - Create the extension package locally using
vsce package
. - Publish the extension with
vsce publish
.
- Install
npx
:npm install -g npx
. - Follow the publishing guidelines available at https://github.com/eclipse/openvsx/wiki/Publishing-Extensions.
- Publish the extension using
npx ovsx publish
.
- Install
npm-check-updates
:npm i -g npm-check-updates
. - Run
ncu -u
to upgrade. - Install the updated packages with
npm install
.