# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net

trigger:
- master
pr: none

pool:
  vmImage: 'windows-latest'

variables:
  artemisSolution: '**/Artemis.sln'
  rgbSolution: '**/RGB.NET.sln'
  pluginProjects: '**/Artemis.Plugins.*.csproj'
  BuildId: $(Build.BuildId)
  BuildNumber: $(Build.BuildNumber)
  SourceBranch: $(Build.SourceBranch)
  SourceVersion: $(Build.SourceVersion)
  
steps:
- checkout: self
  path: s/Artemis

- task: DotNetCoreCLI@2
  displayName: 'dotnet build Artemis'
  inputs:
    command: 'build'
    projects: '$(artemisSolution)'
    feedsToUse: 'config'
    nugetConfigPath: '$(Pipeline.Workspace)/s/Artemis/src/NuGet.Config'

- task: PowerShell@2
  displayName: "DockFX build"
  inputs:
    targetType: 'inline'
    script: |
      choco install docfx -y
      docfx.exe .\docfx_project\docfx.json
    workingDirectory: '$(Pipeline.Workspace)/s/Artemis/docfx'

- task: FtpUpload@2
  displayName: "DockFX FTP upload"
  inputs:
    credentialsOption: 'inputs'
    serverUrl: 'ftp://www360.your-server.de'
    username: '$(ftp_user)'
    password: '$(ftp_password)'
    rootDirectory: '$(Pipeline.Workspace)/s/Artemis/docfx/docfx_project/_site'
    filePatterns: '**'
    remoteDirectory: '/docs'
    clean: true
    preservePaths: true
    trustSSL: false