microsoft/onnxruntime-extensions

Public

mirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
223400118478b0d6512ae8491292723cf61c8fe8

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

.pipelines/java_packaging.yml

175lines · modepreview

parameters:
- name: JavaPackagingandPublishing
  displayName: Package and Publish Java Package
  type: boolean
  default: true
stages:
- stage: Java_Packaging_and_Publishing
  jobs:

  - job: Windows_CPU_Java_Packaging
    workspace:
      clean: all
    pool: {name: 'onnxruntime-Win-CPU-2022'}

    steps:
    - task: PowerShell@2
      displayName: 'Set version'
      inputs:
        targetType: 'inline'
        script: |
          $_ExtVersion=(cat version.txt)
          echo "##vso[task.setvariable variable=OrtExtVersion;]$_ExtVersion"
        workingDirectory: '$(Build.SourcesDirectory)'

    - script: |
        call .\build.bat -DOCOS_BUILD_JAVA=ON
      displayName: build the extensions java package

    - task: CopyFiles@2
      displayName: 'Copy Java Files for Windows Arch to Artifact Staging Directory'
      inputs:
        SourceFolder: 'out\Windows\java\build\libs'
        TargetFolder: '$(Build.ArtifactStagingDirectory)'

    - script: |
        cd $(Build.ArtifactStagingDirectory)
        jar xvf onnxruntime-extensions-$(OrtExtVersion).jar
        tree $(Build.ArtifactStagingDirectory) /f
      displayName: Unpack JAR to sign DLL

    - template: templates/win-esrp-dll.yml
      parameters:
        FolderPath: '$(Build.ArtifactStagingDirectory)/ai/onnxruntime/extensions/native/win-x64'
        DisplayName: 'Sign DLL'
        DoEsrp: 'true'

    - publish: $(Build.ArtifactStagingDirectory)/ai/onnxruntime/extensions/native/
      displayName: 'Publish Windows Binaries for Combined JAR'
      artifact: WindowsBinaries

    - template: templates/component-governance-component-detection-steps.yml
      parameters :
        condition : 'succeeded'

    - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
      displayName: 'Clean Agent Directories'
      condition: always()

  - job: Linux_CPU_Java_Packaging
    workspace:
      clean: all
    pool: {name: 'Azure-Pipelines-EO-Ubuntu-2004-aiinfra'}

    steps:
    - task: PowerShell@2
      displayName: 'Set version'
      inputs:
        targetType: 'inline'
        script: |
          $_ExtVersion=(cat version.txt)
          echo "##vso[task.setvariable variable=OrtExtVersion;]$_ExtVersion"
        workingDirectory: '$(Build.SourcesDirectory)'

    - script: |
        sh ./build.sh -DOCOS_BUILD_JAVA=ON
      displayName: build the extensions java package

    - task: CopyFiles@2
      displayName: 'Copy Java Files for $(Agent.OS) Arch to Artifact Staging Directory'
      inputs:
        SourceFolder: 'out/$(Agent.OS)/RelWithDebInfo/java/build/libs'
        TargetFolder: '$(Build.ArtifactStagingDirectory)'

    - script: |
        cd $(Build.ArtifactStagingDirectory)
        echo $(OrtExtVersion)
        jar xvf onnxruntime-extensions-$(OrtExtVersion).jar
        tree $(Build.ArtifactStagingDirectory) /f
      displayName: Unpack JAR

    - publish: $(Build.ArtifactStagingDirectory)/ai/onnxruntime/extensions/native/
      displayName: 'Publish Linux Binaries for Combined JAR'
      artifact: LinuxBinaries

    - template: templates/component-governance-component-detection-steps.yml
      parameters :
        condition : 'succeeded'

    - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
      displayName: 'Clean Agent Directories'
      condition: always()

  - job: MacOS_CPU_Java_Packaging
    dependsOn:
    - Windows_CPU_Java_Packaging
    - Linux_CPU_Java_Packaging
    workspace:
      clean: all
    pool:
      vmImage: 'macOS-13'

    steps:
    - task: PowerShell@2
      displayName: 'Set version'
      inputs:
        targetType: 'inline'
        script: |
          $_ExtVersion=(cat version.txt)
          echo "##vso[task.setvariable variable=OrtExtVersion;]$_ExtVersion"
        workingDirectory: '$(Build.SourcesDirectory)'

    - script: |
        sh ./build.sh -DOCOS_BUILD_JAVA=ON
      displayName: build the extensions java package

    - task: CopyFiles@2
      displayName: 'Copy Java Files for $(Agent.OS) Arch to Artifact Staging Directory'
      inputs:
        SourceFolder: 'out/$(Agent.OS)/RelWithDebInfo/java/build/libs'
        TargetFolder: '$(Build.ArtifactStagingDirectory)'

    - script: |
        cd $(Build.ArtifactStagingDirectory)
        echo $(OrtExtVersion)
        jar xvf onnxruntime-extensions-$(OrtExtVersion).jar
        brew install tree
        tree $(Build.ArtifactStagingDirectory)
      displayName: Unpack JAR to view contents

    - task: DownloadPipelineArtifact@0
      displayName: 'Download Windows Pipeline Artifact'
      inputs:
        artifactName: 'WindowsBinaries'
        targetPath: '$(Build.ArtifactStagingDirectory)/ai/onnxruntime/extensions/native/'

    - task: DownloadPipelineArtifact@0
      displayName: 'Download Linux Pipeline Artifact'
      inputs:
        artifactName: 'LinuxBinaries'
        targetPath: '$(Build.ArtifactStagingDirectory)/ai/onnxruntime/extensions/native/'

    - script: |
        brew install tree
        tree $(Build.ArtifactStagingDirectory)
      displayName: Print contents

    - script: |
        cd $(Build.ArtifactStagingDirectory)
        rm onnxruntime-extensions-$(OrtExtVersion).jar
        jar cmf0 META-INF/MANIFEST.MF onnxruntime-extensions-$(OrtExtVersion).jar  *
      displayName: Combine and pack JAR with Windows, Linux and MacOS Binaries

    - task: PublishPipelineArtifact@1
      displayName: 'Publish MacOS Artifact'
      inputs:
        targetPath: '$(Build.ArtifactStagingDirectory)'
        artifact: 'drop-onnxruntime-extensions-java-cpu'

    - template: templates/component-governance-component-detection-steps.yml
      parameters :
        condition : 'succeeded'

    - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
      displayName: 'Clean Agent Directories'
      condition: always()