resources:
- repo: self
  clean: true
queue:
  name: Hosted Mac Internal
name: macOS_$(Build.SourceBranchName)_$(Build.BuildId)
steps:
#- task: <task type name>@<version>
#  inputs:
#    <task specific inputs>
#  displayName: '<display name of task>'
- task: ShellScript@2
  inputs:
    scriptPath: 'tools/releaseBuild/setReleaseTag.sh'
    args: '-ReleaseTag $(ReleaseTagVar) -Variable "ReleaseTagVar"'
  displayName: 'Calculate Release Tag'
- task: ShellScript@2
  inputs:
    scriptPath: 'tools/installpsh-osx.sh'
  displayName: 'Install pwsh'
- task: ShellScript@2
  inputs:
    scriptPath: 'tools/releaseBuild/macOS/createPowerShell.sh'
  displayName: 'Create /PowerShell'
- powershell: |
    Write-Host "##vso[task.setvariable variable=PowerShellRoot]/PowerShell"
    git clone $env:BUILD_REPOSITORY_LOCALPATH /PowerShell
  displayName: Clone PowerShell Repo to /PowerShell
- task: ShellScript@2
  inputs:
    scriptPath: 'tools/releaseBuild/macOS/PowerShellPackageVsts.sh'
    args: '-location $(PowerShellRoot) -BootStrap'
  displayName: 'Bootstrap VM'
- powershell: |
   Import-Module $(Build.SourcesDirectory)/build.psm1 -Force
   New-NugetConfigFile -NugetFeedUrl $(AzDevOpsFeed) -UserName $(AzDevOpsFeedUserName) -ClearTextPAT $(AzDevOpsFeedPAT) -FeedName AzDevOpsFeed -Destination "$(PowerShellRoot)/src/Modules"

   if(-not (Test-Path "$(PowerShellRoot)/src/Modules/nuget.config"))
   {
       throw "nuget.config is not created"
   }
  displayName: 'Add nuget.config for AzDevOps feed for PSGallery modules '
- powershell: |
    $env:AZDEVOPSFEEDPAT = '$(AzDevOpsFeedPAT)'
    $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -ExtraPackage "tar" -location $(PowerShellRoot) -Build
    $env:AZDEVOPSFEEDPAT = $null
  displayName: 'Build and Package'
