<commit_before># .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

name: 3.1.$(Rev:r).$(DayOfYear)

trigger:
  branches:
    include:
      - develop

jobs:
  - job: 'develop'
    pool:
      vmImage: 'windows-2019'

    variables:
      solution: 'Gorgon.sln'
      buildPlatform: 'Any CPU'
      buildConfiguration: 'Debug'

    steps:
      - task: CmdLine@2
        displayName: 'Updating version to $(Build.BuildNumber)'
        inputs:
          script: 'CsProjVersionUpdater.exe $(Build.BuildNumber)'

      - task: NuGetToolInstaller@1
        inputs:
          checkLatest: true

      - task: NuGetCommand@2
        inputs:
          restoreSolution: '$(solution)'

      - task: DownloadSecureFile@1
        inputs:
          secureFile: GorgonFull.snk

      - task: CmdLine@2
        displayName: 'Signing code...'
        inputs:
          script: 'ProjectSigner.exe $(Agent.TempDirectory)\GorgonFull.snk -y'

      - task: VSBuild@1
        inputs:
          clean: true
          solution: '$(solution)'
          platform: '$(buildPlatform)'
          configuration: '$(buildConfiguration)'
          msbuildArgs: '/p:SourceLinkCreate=true'

      - task: CopyFiles@2
        displayName: 'Copying Core to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Core/bin/$(buildConfiguration)/netstandard2.0'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          CleanTargetFolder: true
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Windows specific to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Windows/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          CleanTargetFolder: true
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying FileSystem to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.FileSystem/bin/$(buildConfiguration)/netstandard2.0'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Input to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Input/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Core Graphics to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Graphics.Core/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Fonts to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Graphics.Fonts/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Imaging to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Graphics.Imaging/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying 2D to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Renderers/Gorgon2D/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Animation to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib/net472'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Animation/bin/$(buildConfiguration)'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying 2D Animation to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib/net472'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Renderers/Animation.Gorgon2D/bin/$(buildConfiguration)'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying 2D IO to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib/net472'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Renderers/IO.Gorgon2D/bin/$(buildConfiguration)'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Plugins to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/PlugIns'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/PlugIns/Bin/$(buildConfiguration)/'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          CleanTargetFolder: true
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/PlugIns'

      - task: CopyFiles@2
        displayName: 'Copying Tools to $(Build.ArtifactStagingDirectory)/Gorgon/Tools'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Tools/Editor/Gorgon.Editor/bin/$(buildConfiguration)/net472'
          Contents: |
            **/?(*.exe|*.dll|*.config|Gorgon.Editor.API.xml|Readme.txt)
            !**/TextViewerExample.*
          CleanTargetFolder: true
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/Tools'
          
      - task: CopyFiles@2
        displayName: 'Copying nuget files to artifacts'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/nuget/debug'<commit_msg>More yaml fixes.<commit_after># .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

name: 3.1.$(Rev:r).$(DayOfYear)

trigger:
  branches:
    include:
      - develop

jobs:
  - job: 'develop'
    pool:
      vmImage: 'windows-2019'

    variables:
      solution: 'Gorgon.sln'
      buildPlatform: 'Any CPU'
      buildConfiguration: 'Debug'

    steps:
      - task: CmdLine@2
        displayName: 'Updating version to $(Build.BuildNumber)'
        inputs:
          script: 'CsProjVersionUpdater.exe $(Build.BuildNumber)'

      - task: NuGetToolInstaller@1
        inputs:
          checkLatest: true

      - task: NuGetCommand@2
        inputs:
          restoreSolution: '$(solution)'

      - task: DownloadSecureFile@1
        inputs:
          secureFile: GorgonFull.snk

      - task: CmdLine@2
        displayName: 'Signing code...'
        inputs:
          script: 'ProjectSigner.exe $(Agent.TempDirectory)\GorgonFull.snk -y'

      - task: VSBuild@1
        inputs:
          clean: true
          solution: '$(solution)'
          platform: '$(buildPlatform)'
          configuration: '$(buildConfiguration)'
          msbuildArgs: '/p:SourceLinkCreate=true'

      - task: CopyFiles@2
        displayName: 'Copying Core to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Core/bin/$(buildConfiguration)/netstandard2.0'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          CleanTargetFolder: true
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Windows specific to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Windows/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'          
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying FileSystem to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.FileSystem/bin/$(buildConfiguration)/netstandard2.0'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Input to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Input/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Core Graphics to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Graphics.Core/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Fonts to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Graphics.Fonts/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Imaging to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Graphics.Imaging/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying 2D to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Renderers/Gorgon2D/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Animation to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Animation/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying 2D Animation to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Renderers/Animation.Gorgon2D/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying 2D IO to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Gorgon/Gorgon.Renderers/IO.Gorgon2D/bin/$(buildConfiguration)/net472'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'

      - task: CopyFiles@2
        displayName: 'Copying Plugins to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/PlugIns'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/PlugIns/Bin/$(buildConfiguration)/'
          Contents: '**/?(*.dll|*.xml|Gorgon*.pdb)'
          CleanTargetFolder: true
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/PlugIns'

      - task: CopyFiles@2
        displayName: 'Copying Tools to $(Build.ArtifactStagingDirectory)/Gorgon/Tools'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/Tools/Editor/Gorgon.Editor/bin/$(buildConfiguration)/net472'
          Contents: |
            **/?(*.exe|*.dll|*.config|Gorgon.Editor.API.xml|Readme.txt)
            !**/TextViewerExample.*
          CleanTargetFolder: true
          TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/Tools'
          
      - task: CopyFiles@2
        displayName: 'Copying nuget files to artifacts'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)/nuget/debug'
{'fraction_non_alphanumeric': 0.1429281101412249, 'fraction_numerical': 0.00936768149882904, 'mean_word_length': 3.139835487661575, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 26}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3358451', 'n_tokens_mistral': 4321, 'n_tokens_neox': 4162, 'n_words': 603}