8383 with :
8484 java-version : ' 21'
8585 distribution : ' temurin'
86+ - name : Build JDT-LS
87+ if : " ${{ inputs.JDT_LS_VERSION == '' }}"
88+ run : |
89+ ./mvnw clean verify -B -U -DskipTests -Pserver-distro
90+ mkdir ../staging
91+ cp org.eclipse.jdt.ls.product/distro/jdt-language-server-*.tar.gz ../staging
8692 - name : Check Out VS Code Java
8793 uses : actions/checkout@v5
8894 - name : Set Up NodeJS
9197 node-version : ' 20'
9298 - name : Install NodeJS dependencies
9399 run : npm install -g typescript "@vscode/vsce" "ovsx"
100+ - name : Download JDT-LS Release
101+ if : " ${{ inputs.JDT_LS_VERSION != '' }}"
102+ run : |
103+ version=`echo ${{ inputs.JDT_LS_VERSION }} | cut -d- -f1`
104+ curl -LO https://download.eclipse.org/jdtls/milestones/${version}/jdt-language-server-${{ inputs.JDT_LS_VERSION }}.tar.gz
94105 - name : Build vscode-java
95106 run : |
96107 npm install
108+ - name : Prepare JDT-LS
109+ run : |
110+ rm -rf ./out
111+ mkdir server/
112+ if [ -e jdt-language-server-*.tar.gz ]; then
113+ tar -xf jdt-language-server-*.tar.gz -C server/
114+ else
115+ tar -xf ../staging/jdt-language-server-*.tar.gz -C server/
116+ fi
117+ echo "EXT_VERSION=$(cat package.json | jq -r .version)" >> $GITHUB_ENV
118+ - name : Test vscode-java
119+ env :
120+ SKIP_COMMANDS_TEST : true
121+ run : |
122+ xvfb-run --auto-servernum npm run test --silent
123+ continue-on-error : true
124+ - name : Clean tests
125+ run : npm run clean-test-folder
97126 - name : Prepare Lombok Support
98127 if : false
99128 run : |
@@ -107,8 +136,10 @@ jobs:
107136 run : |
108137 platforms=("win32-x64" "linux-x64" "linux-arm64" "darwin-x64" "darwin-arm64")
109138 for platform in ${platforms[@]}; do
139+ npm run download-jre -- --target ${platform} --javaVersion 21
110140 vsce package ${{ env.publishPreReleaseFlag }} --target ${platform} -o java-${platform}-${{ env.EXT_VERSION }}-${GITHUB_RUN_NUMBER}.vsix
111141 done
142+ rm -rf jre/
112143 vsce package ${{ env.publishPreReleaseFlag }} -o vscode-java-${{ env.EXT_VERSION }}-${GITHUB_RUN_NUMBER}.vsix
113144 ls -lash *.vsix
114145 - name : Upload VSIX Artifacts
@@ -139,17 +170,25 @@ jobs:
139170 uses : actions/setup-node@v5
140171 with :
141172 node-version : ' 20'
173+ - name : Install dependencies
174+ run : |
175+ npm install -g typescript "@vscode/vsce" "ovsx"
142176 - name : Download VSIX & JDT-LS
143177 uses : actions/download-artifact@v5
144- - name : Display structure of downloaded files
145- run : ls -R
146178 - name : Publish to VS Code Marketplace
147179 if : ${{ github.event_name == 'schedule' || inputs.publishToMarketPlace == 'true' || inputs.publishPreRelease == 'true' }}
148180 run : |
149181 for platformVsix in vscode-java/java-*-*-${GITHUB_RUN_NUMBER}.vsix; do
150- ls ${platformVsix}
182+ vsce publish --skip-duplicate -p ${{ secrets.VSCODE_MARKETPLACE_TOKEN }} --packagePath ${platformVsix}
183+ done
184+ vsce publish --skip-duplicate -p ${{ secrets.VSCODE_MARKETPLACE_TOKEN }} --packagePath vscode-java/vscode-java-*-${GITHUB_RUN_NUMBER}.vsix
185+ - name : Publish to OpenVSX Registry
186+ if : ${{ github.event_name == 'schedule' || inputs.publishToOVSX == 'true' || inputs.publishPreRelease == 'true' }}
187+ run : |
188+ for platformVsix in vscode-java/java-*-*-${GITHUB_RUN_NUMBER}.vsix; do
189+ ovsx publish --skip-duplicate -p ${{ secrets.OVSX_MARKETPLACE_TOKEN }} --packagePath ${platformVsix}
151190 done
152- ls vscode-java/vscode-java-*-${GITHUB_RUN_NUMBER}.vsix
191+ ovsx publish --skip-duplicate -p ${{ secrets.OVSX_MARKETPLACE_TOKEN }} --packagePath vscode-java/vscode-java-*-${GITHUB_RUN_NUMBER}.vsix
153192 - name : Delete saved artifact
154193 if : always()
155194 uses : geekyeggo/delete-artifact@e46cfb9575865f907c2beb2e4170b5f4c7d77c52
0 commit comments