environment:
  host:
    os: 'windows'
    flavor: 'server'
    version: '2016'
  runtime:
    provider: 'appcontainer'
    image: 'cdpxwin.azurecr.io/user/powertoys/vs2019:3.0'
    source_mode: 'map'

version:
  name: 'PowerToys'
  major: 1
  minor: 0

signing_options:
  profile: 'external_distribution'

package_sources:
  nuget:
    feeds:
      'Nuget': 'https://api.nuget.org/v3/index.json'
      'PipelineBuildSupplement': 'https://msazure.pkgs.visualstudio.com/_packaging/PipelineBuildSupplement/nuget/v3/index.json'

restore:
  commands:
    - !!defaultcommand
      name: 'Restore Power Toys Telemetry'
      command: '.pipelines\restore-telemetry.cmd'  
    - !!defaultcommand
      name: 'Restore Power Toys'
      command: '.pipelines\restore.cmd'
    - !!defaultcommand
      name: 'Restore Installer'
      command: '.pipelines\restore-installer.cmd'


build:
  commands:
    - !!buildcommand
      name: 'Build Power Toys'
      command: '.pipelines\build.cmd'
      artifacts:
        - from: 'x64/Release'
          to: 'Build_Output'
          include:
          - 'PowerToys.exe'
          - 'PowerToysSettings.exe'
          - 'modules\FancyZonesEditor.exe'
          - 'modules\fancyzones.dll'
          - 'modules\shortcut_guide.dll'
          signing_options:
            sign_inline: true  # This does signing a soon as this command completes
    - !!buildcommand
      name: 'Build Power Toys Installer'
      command: '.pipelines\build-installer.cmd'
      artifacts:
        - from: 'installer\PowerToysSetup\x64\Release'
          to: 'Build_Installer_Output'
          include:
            - 'PowerToysSetup.msi'
          signing_options:
            sign_inline: true  # This does signing a soon as this command completes

static_analysis_options:                             
  binskim_options:  
    files_to_scan:
      - from: 'installer/packages'
        exclude:
        exclude:
        - 'WiX.3.11.1/**/*.dll'
        - 'Wix.3.11.1/**/*.exe'
  moderncop_options:           
    files_to_scan:
      - from: 'src'          
        exclude:                           
        - '**/just.config.js'
        - '**/webpack.config.js'
        - '**/webpack.serve.config.js'
        - '**/dist/bundle.js' 
        