Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,10 @@ stages:
- input: pipelineArtifact
artifactName: drop-onnxruntime-java-linux-aarch64
targetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-linux-aarch64'

- input: pipelineArtifact
artifactName: drop-onnxruntime-java-osx-arm64
targetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-osx-arm64'
outputs:
- output: pipelineArtifact
targetPath: $(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@ steps:
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: 'onnxruntime-osx-${{ parameters.MacosArch }}'

- template: java-api-artifacts-package-and-publish-steps-posix.yml
parameters:
arch: 'osx-${{ parameters.MacosArch }}'
buildConfig: 'Release'
artifactName: 'onnxruntime-java-osx-${{ parameters.MacosArch }}'
libraryName: 'libonnxruntime.dylib'
nativeLibraryName: 'libonnxruntime4j_jni.dylib'

- template: nodejs-artifacts-package-and-publish-steps-posix.yml
parameters:
arch: arm64
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,20 @@ jobs:
set -e -x
export ONNX_ML=1
export CMAKE_ARGS="-DONNX_GEN_PB_TYPE_STUBS=ON -DONNX_WERROR=OFF"
python3 -m pip install -r '$(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/requirements.txt'
python3 -m pip install -r '$(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/requirements.txt'

- script: |
set -e -x
if ! /usr/libexec/java_home -v 17 >/dev/null 2>&1; then
brew install --cask temurin@17
fi
JAVA_HOME=$(/usr/libexec/java_home -v 17)
echo "JAVA_HOME is set to: $JAVA_HOME"
echo "##vso[task.setvariable variable=JAVA_HOME]$JAVA_HOME"
echo "##vso[task.prependpath]$JAVA_HOME/bin"
displayName: 'Install JDK 17'

- template: mac-cpu-packaging-steps.yml
parameters:
MacosArch: arm64
AdditionalBuildFlags: ${{ parameters.AdditionalBuildFlags }} --build_nodejs --use_coreml --use_webgpu --cmake_extra_defines CMAKE_OSX_ARCHITECTURES=arm64
AdditionalBuildFlags: ${{ parameters.AdditionalBuildFlags }} --build_java --build_nodejs --use_coreml --use_webgpu --cmake_extra_defines CMAKE_OSX_ARCHITECTURES=arm64
1 change: 1 addition & 0 deletions tools/ci_build/github/windows/jar_packaging.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ def run_packaging(package_type: str, build_dir: str):
"platforms": [
{"path": "onnxruntime-java-linux-x64", "lib": "libcustom_op_library.so", "archive_lib": True},
{"path": "onnxruntime-java-linux-aarch64", "lib": "libcustom_op_library.so", "archive_lib": False},
{"path": "onnxruntime-java-osx-arm64", "lib": "libcustom_op_library.dylib", "archive_lib": False},
Comment thread
tianleiwu marked this conversation as resolved.
Outdated
]
},
"gpu": {
Expand Down
12 changes: 10 additions & 2 deletions tools/ci_build/github/windows/jar_packaging_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,19 @@ def _setup_test_directory(package_type: str, version_string: str):
create_empty_file(linux_native_dir / "libonnxruntime_providers_cuda.so")
(linux_dir / "_manifest" / "spdx_2.2").mkdir(parents=True, exist_ok=True)

# --- Additional platforms (for CPU test) ---
# --- macOS and other platforms (for CPU test) ---
if package_type == "cpu":
# Add linux-aarch64 for CPU test
# Add linux-aarch64 and osx-arm64 for CPU test
linux_aarch64_dir = java_artifact_dir / "onnxruntime-java-linux-aarch64"
linux_aarch64_native_dir = linux_aarch64_dir / "ai" / "onnxruntime" / "native" / "linux-aarch64"
linux_aarch64_native_dir.mkdir(parents=True, exist_ok=True)
create_empty_file(linux_aarch64_dir / "libcustom_op_library.so")

osx_arm64_dir = java_artifact_dir / "onnxruntime-java-osx-arm64"
osx_arm64_native_dir = osx_arm64_dir / "ai" / "onnxruntime" / "native" / "osx-arm64"
Comment thread
tianleiwu marked this conversation as resolved.
osx_arm64_native_dir.mkdir(parents=True, exist_ok=True)
create_empty_file(osx_arm64_dir / "libcustom_op_library.dylib")

return tmp_path

return _setup_test_directory
Expand Down Expand Up @@ -128,9 +133,12 @@ def test_cpu_packaging(directory_setup_factory, version_string):
with zipfile.ZipFile(testing_jar_path, "r") as zf:
jar_contents = zf.namelist()
assert "libcustom_op_library.so" in jar_contents
assert "libcustom_op_library.dylib" in jar_contents

Comment thread
tianleiwu marked this conversation as resolved.
# 3. Verify the custom op libraries were removed from the source directories
linux_dir = temp_build_dir / "java-artifact" / "onnxruntime-java-linux-x64"
linux_aarch64_dir = temp_build_dir / "java-artifact" / "onnxruntime-java-linux-aarch64"
osx_arm64_dir = temp_build_dir / "java-artifact" / "onnxruntime-java-osx-arm64"
assert not (linux_dir / "libcustom_op_library.so").exists()
assert not (linux_aarch64_dir / "libcustom_op_library.so").exists()
assert not (osx_arm64_dir / "libcustom_op_library.dylib").exists()
Loading