diff --git a/.github/workflows/generate-and-build-sdks.yml b/.github/workflows/generate-and-build-sdks.yml index ad434d7d9a5..8cf516a4389 100644 --- a/.github/workflows/generate-and-build-sdks.yml +++ b/.github/workflows/generate-and-build-sdks.yml @@ -42,6 +42,12 @@ jobs: name: SDK_Source_PowerShell path: _build/install/default/xapi/sdk/powershell/* + - name: Store Java SDK source + uses: actions/upload-artifact@v4 + with: + name: SDK_Source_Java + path: _build/install/default/xapi/sdk/java/* + - name: Trim dune cache run: opam exec -- dune cache trim --size=2GiB @@ -69,6 +75,39 @@ jobs: name: SDK_Artifacts_C path: source/* + build-java-sdk: + name: Build Java SDK + runs-on: ubuntu-latest + needs: generate-sdk-sources + steps: + - name: Install dependencies + run: sudo apt-get install maven + + - name: Retrieve Java SDK source + uses: actions/download-artifact@v4 + with: + name: SDK_Source_Java + path: source/ + + - name: Set up JDK 11 + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + + - name: Build Java SDK + shell: bash + run: | + xapi_version="${{ inputs.xapi_version }}" + xapi_version="${xapi_version//v/}" + mkdir -p target && mvn -f source/xen-api/pom.xml -B -Drevision=$xapi_version-PRERELEASE -Dmaven.source.skip=true -Dmaven.javadoc.skip=true clean package && mv source/xen-api/target/*.jar target/ + + - name: Store Java SDK + uses: actions/upload-artifact@v4 + with: + name: SDK_Artifacts_Java + path: target/* + build-csharp-sdk: name: Build C# SDK runs-on: windows-2022 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1c3dca70fcd..ee0a7698a2a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -58,6 +58,12 @@ jobs: name: SDK_Artifacts_C path: libxenserver/usr/local/ + - name: Retrieve Java SDK distribution artifacts + uses: actions/download-artifact@v4 + with: + name: SDK_Artifacts_Java + path: dist/ + - name: Retrieve C# SDK distribution artifacts uses: actions/download-artifact@v4 with: