Skip to content

javac-upload

javac-upload #3

Workflow file for this run

name: javac-upload
on:
schedule:
- cron: '0 */8 * * *'
workflow_dispatch:
jobs:
build-javac-support:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: 'eclipse-jdtls/eclipse-jdt-core-incubator'
ref: 'dom-with-javac'
path: eclipse-jdt-core-incubator
- uses: actions/checkout@v4
with:
repository: 'eclipse-jdtls/eclipse.jdt.ls'
path: eclipse.jdt.ls
- uses: actions/checkout@v4
with:
repository: 'redhat-developer/vscode-java'
path: vscode-java
- name: Set Up Java
uses: actions/setup-java@v4
with:
java-version: '22'
distribution: 'adopt'
cache: 'maven'
- name: Set up Maven
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
- name: Build JDT Core / Javac
run: |
cd eclipse-jdt-core-incubator
mvn clean install -DskipTests
cd ..
- name: Apply JDT-LS changes
run: |
cd eclipse.jdt.ls
gh pr checkout https://github.com/eclipse-jdtls/eclipse.jdt.ls/pull/3123
git rebase master
cd ..
env:
GH_TOKEN: ${{ github.token }}
- name: Apply VS Code Java changes
run: |
cd vscode-java
gh pr checkout https://github.com/redhat-developer/vscode-java/pull/3558
git rebase master
env:
GH_TOKEN: ${{ github.token }}
- name: Set Up NodeJS
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install NodeJS dependencies
run: npm install -g typescript "@vscode/vsce"
- name: Build vscode-java
run: |
npm ci
- name: Build JDT-LS
run: |
rm -rf ./out
npm run build-server
echo "EXT_VERSION=$(cat package.json | jq -r .version)" >> $GITHUB_ENV
- name: Prepare Lombok Support
run: |
npx gulp download_lombok
- name: Package vscode-java
run: |
npx gulp prepare_pre_release
vsce package --pre-release -o vscode-javac-${{ env.EXT_VERSION }}-${GITHUB_RUN_NUMBER}.vsix
ls -lash *.vsix
- name: Publish to GH Release Tab
uses: "marvinpinto/action-automatic-releases@919008cf3f741b179569b7a6fb4d8860689ab7f0"
with:
repo_token: "${{secrets.GITHUB_TOKEN}}"
automatic_release_tag: "javac-prototype"
prerelease: true
title: "Prototype Build with Javac support"
files: |
vscode-java/*.vsix