Produce compiled classes list (#1898)

This adjusts Gradle logic so that it produces a list of compiled classes
in each of the various native image builds.
This commit is contained in:
Daniel Chao authored and GitHub committed 2026-10-06 15:18:20 -07:00
1 parent 862c61f2e2
commit 1a3d7a1a76
9 files changed
+437 -1

No files matched your search

+13
View File
@@ -68,6 +68,19 @@ steps {
path = module.buildDir
}
}
(catalog.`actions/upload-artifact@v5`) {
name = "Upload compiled classes list"
with {
name =
if (musl)
"compiled-classes-\(project)-alpine-\(module.os)-\(module.arch)"
else
"compiled-classes-\(project)-\(module.os)-\(module.arch)"
// Need to insert a wildcard to make actions/upload-artifact preserve the folder hierarchy.
// See https://github.com/actions/upload-artifact/issues/206
path = "\(project)*/build/compiled-classes/**/*"
}
}
}
fixed job {
+75
View File
@@ -244,6 +244,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -294,6 +299,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -343,6 +353,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-macOS-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-macOS-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -449,6 +464,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -494,6 +514,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-windows-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-windows-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -542,6 +567,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -592,6 +622,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -641,6 +676,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-macOS-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-macOS-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -747,6 +787,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -792,6 +837,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-windows-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-windows-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -840,6 +890,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-amd64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -890,6 +945,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-aarch64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -939,6 +999,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-macOS-aarch64
path: libpkl*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-macOS-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1045,6 +1110,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-alpine-linux-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-alpine-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1092,6 +1162,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-windows-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-windows-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
+75
View File
@@ -242,6 +242,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -292,6 +297,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -341,6 +351,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-macOS-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-macOS-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -447,6 +462,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -492,6 +512,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-windows-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-windows-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -540,6 +565,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -590,6 +620,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -639,6 +674,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-macOS-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-macOS-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -745,6 +785,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -790,6 +835,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-windows-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-windows-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -838,6 +888,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-amd64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -888,6 +943,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-aarch64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -937,6 +997,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-macOS-aarch64
path: libpkl*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-macOS-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1043,6 +1108,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-alpine-linux-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-alpine-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1090,6 +1160,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-windows-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-windows-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
+75
View File
@@ -128,6 +128,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -180,6 +185,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -230,6 +240,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-macOS-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-macOS-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -338,6 +353,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -385,6 +405,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-windows-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-windows-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -435,6 +460,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -487,6 +517,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -537,6 +572,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-macOS-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-macOS-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -645,6 +685,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -692,6 +737,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-windows-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-windows-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -742,6 +792,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-amd64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -794,6 +849,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-aarch64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -844,6 +904,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-macOS-aarch64
path: libpkl*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-macOS-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -952,6 +1017,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-alpine-linux-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-alpine-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1001,6 +1071,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-windows-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-windows-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
+75
View File
@@ -242,6 +242,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -292,6 +297,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -341,6 +351,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-macOS-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-macOS-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -447,6 +462,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -492,6 +512,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-windows-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-windows-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -540,6 +565,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -590,6 +620,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -639,6 +674,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-macOS-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-macOS-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -745,6 +785,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -790,6 +835,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-windows-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-windows-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -838,6 +888,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-amd64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -888,6 +943,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-aarch64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -937,6 +997,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-macOS-aarch64
path: libpkl*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-macOS-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1043,6 +1108,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-alpine-linux-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-alpine-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1090,6 +1160,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-windows-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-windows-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
+75
View File
@@ -244,6 +244,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -295,6 +300,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-linux-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-linux-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -345,6 +355,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-macOS-aarch64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-macOS-aarch64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -452,6 +467,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-alpine-linux-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -498,6 +518,11 @@ jobs:
with:
name: deploy-artifacts-pkl-cli-windows-amd64
path: pkl-cli*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-cli-windows-amd64
path: pkl-cli*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -547,6 +572,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -598,6 +628,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-linux-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-linux-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -648,6 +683,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-macOS-aarch64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-macOS-aarch64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -755,6 +795,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-alpine-linux-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -801,6 +846,11 @@ jobs:
with:
name: deploy-artifacts-pkl-doc-windows-amd64
path: pkl-doc*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-pkl-doc-windows-amd64
path: pkl-doc*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -850,6 +900,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-amd64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -901,6 +956,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-linux-aarch64
path: libpkl/build/native-libs/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-linux-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -951,6 +1011,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-macOS-aarch64
path: libpkl*/build/executable/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-macOS-aarch64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1058,6 +1123,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-alpine-linux-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-alpine-linux-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -1106,6 +1176,11 @@ jobs:
with:
name: deploy-artifacts-libpkl-windows-amd64
path: libpkl*/build/distributions/**/*
- name: Upload compiled classes list
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: compiled-classes-libpkl-windows-amd64
path: libpkl*/build/compiled-classes/**/*
- name: Upload Test Result XML
if: '!cancelled()'
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
@@ -77,6 +77,8 @@ abstract class NativeImageBuild : DefaultTask() {
@get:InputFile @get:Optional abstract val nativeCompilerPath: RegularFileProperty
@get:Internal abstract val compiledClassesFile: RegularFileProperty
@get:Internal abstract val outputDir: DirectoryProperty
@get:Inject protected abstract val execOperations: ExecOperations
@@ -194,6 +196,12 @@ abstract class NativeImageBuild : DefaultTask() {
.asFile
.toPath()
.also { it.createDirectories() }
val reportsDir = workingDir.resolve("reports")
// reports are timestamped and never cleaned up by native-image; make sure we read a fresh one
reportsDir
.toFile()
.listFiles { f -> f.name.startsWith(COMPILATION_REPORT_PREFIX) }
?.forEach { it.delete() }
val execResult = execOperations.exec {
val exclusions =
listOf(buildInfo.libs.findLibrary("graalSdk").get()).map { it.get().module.name }
@@ -205,6 +213,8 @@ abstract class NativeImageBuild : DefaultTask() {
add("--color=always")
// must be emitted before any experimental options are used
add("-H:+UnlockExperimentalVMOptions")
// emit `reports/universe_compilation_*.txt`, listing all compiled methods
add("-H:+PrintUniverse")
// currently gives a deprecation warning, but we've been told
// that the "initialize everything at build time" *CLI* option is likely here to stay
add("--initialize-at-build-time=")
@@ -293,6 +303,36 @@ abstract class NativeImageBuild : DefaultTask() {
targetDir.deleteRecursively()
sourceDir.copyRecursively(targetDir, overwrite = true)
}
writeCompiledClasses(reportsDir.toFile())
}
}
private fun writeCompiledClasses(reportsDir: java.io.File) {
val report =
reportsDir
.listFiles { f -> f.name.startsWith(COMPILATION_REPORT_PREFIX) }
?.maxByOrNull { it.lastModified() }
?: throw GradleException("Expected to find $COMPILATION_REPORT_PREFIX*.txt in $reportsDir")
// Method lines look like `336 2232 apple.security.AppleProvider$Service.newInstance(...): ...`
// (offset, size, qualified method name, signature).
val methodLine = Regex("""^\s*\d+\s+\d+\s+([^\s(]+)\(""")
val classNames = sortedSetOf<String>()
report.useLines { lines ->
for (line in lines) {
val method = methodLine.find(line)?.groupValues?.get(1) ?: continue
// Nested, hidden, and lambda classes all live in their top-level class' source file.
classNames.add(method.substringBeforeLast('.').substringBefore('$').substringBefore('/'))
}
}
if (classNames.isEmpty()) {
throw GradleException("Found no compiled methods in $report")
}
val file = compiledClassesFile.get().asFile
file.parentFile.mkdirs()
file.writeText(classNames.joinToString("\n", postfix = "\n"))
}
private companion object {
const val COMPILATION_REPORT_PREFIX = "universe_compilation_"
}
}
@@ -76,3 +76,11 @@ val installGraalVmAmd64 =
dependsOn(verifyGraalVmAmd64)
graalVm = buildInfo.graalVmAmd64
}
// Picked up by GitHub Actions and uploaded as a build artifact
tasks.withType<NativeImageBuild>().configureEach {
compiledClassesFile =
layout.buildDirectory.file(
"compiled-classes/${project.name}-${project.version}-${buildInfo.targetMachine.targetName}.txt"
)
}
+1 -1
View File
@@ -253,7 +253,7 @@ val buildSharedLibrary =
if (buildInfo.os.isMacOS) {
frameworks.addAll("Foundation", "CoreServices")
linkerFlags.addAll("-current_version", project.version.toString())
linkerFlags.addAll("-current_version", project.version.toString().substringBefore("-"))
linkerFlags.addAll("-compatibility_version", "0.1.0")
// prevent JNI symbols from being exported and clobbering the symbol table
val exportedSymbolsFile = file("src/main/c/pkl.exported_symbols")