onnxruntime/tools/ci_build/github/azure-pipelines/templates/java-api-artifacts-package-and-publish-steps-windows.yml
Dmitri Smirnov af0750ba1b
Java GPu artifact naming (#4179)
Modify gradle build so artifactID has _gpu for GPU builds.
  Pass USE_CUDA flag on CUDA build
  Adjust publishing pipelines to extract POM from a correct path.

Co-Authored-By: @Craigacp
2020-06-10 11:15:48 -07:00

60 lines
3.4 KiB
YAML

# sets up common build tools for the windows build machines before build
parameters:
buildConfig: 'RelWithDebInfo'
artifactName: 'onnxruntime-java-win-x64'
version: ''
comitId: ''
steps:
- task: CmdLine@2
inputs:
script: |
@echo on
set NATIVE_FOLDER=$(Build.BinariesDirectory)\${{parameters.artifactName}}\stage\ai\onnxruntime\native\win-x64
mkdir %NATIVE_FOLDER%
echo "Directories created"
copy .\java\build\libs\*.jar $(Build.BinariesDirectory)\${{parameters.artifactName}}
pushd $(Build.BinariesDirectory)\${{parameters.artifactName}}
if ${{parameters.artifactName}} == onnxruntime-java-win-x64 (
set artifact_id=onnxruntime
) else (
set artifact_id=onnxruntime_gpu
)
jar xf onnxruntime-${{parameters.version}}.jar META-INF\maven\com.microsoft.onnxruntime\%artifact_id%\pom.xml
move META-INF\maven\com.microsoft.onnxruntime\%artifact_id%\pom.xml onnxruntime-${{parameters.version}}.pom
rd /s /q META-INF
popd
copy .\${{parameters.buildConfig}}\onnxruntime.pdb %NATIVE_FOLDER%
copy .\${{parameters.buildConfig}}\onnxruntime4j_jni.pdb %NATIVE_FOLDER%
copy $(Build.SourcesDirectory)\docs\Privacy.md $(Build.BinariesDirectory)\${{parameters.artifactName}}\stage\Privacy.md
copy $(Build.SourcesDirectory)\ThirdPartyNotices.txt $(Build.BinariesDirectory)\${{parameters.artifactName}}\stage\ThirdPartyNotices.txt
@echo ${{parameters.commitId}} > $(Build.BinariesDirectory)\${{parameters.artifactName}}\stage\GIT_COMMIT_ID
pushd $(Build.BinariesDirectory)\${{parameters.artifactName}}\stage
jar uf $(Build.BinariesDirectory)\${{parameters.artifactName}}\onnxruntime-${{parameters.version}}.jar ai\onnxruntime\native\win-x64\onnxruntime.pdb
jar uf $(Build.BinariesDirectory)\${{parameters.artifactName}}\onnxruntime-${{parameters.version}}.jar ai\onnxruntime\native\win-x64\onnxruntime4j_jni.pdb
jar uf $(Build.BinariesDirectory)\${{parameters.artifactName}}\onnxruntime-${{parameters.version}}.jar Privacy.md ThirdPartyNotices.txt GIT_COMMIT_ID
popd
pushd $(Build.SourcesDirectory)\java\build\classes\java\test
jar cvf $(Build.BinariesDirectory)\${{parameters.artifactName}}\testing.jar .
popd
pushd $(Build.SourcesDirectory)\java\build\resources\test
rd /s /q ai\onnxruntime\native
jar uvf $(Build.BinariesDirectory)\${{parameters.artifactName}}\testing.jar .
popd
rd /s /q $(Build.BinariesDirectory)\${{parameters.artifactName}}\stage
dir /s /b $(Build.BinariesDirectory)\${{parameters.artifactName}}
workingDirectory: '$(Build.BinariesDirectory)\${{parameters.buildConfig}}'
displayName: 'Add symbols and notices'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)\${{parameters.artifactName}}'
includeRootFolder: true
archiveType: 'zip' # Options: zip, 7z, tar, wim
archiveFile: '$(Build.ArtifactStagingDirectory)\${{parameters.artifactName}}.zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)\${{parameters.artifactName}}.zip'
artifactName: 'drop-${{parameters.artifactName}}'