diff --git a/ImpostorHQ.Command/Impostor.Commands.Core/Impostor.Commands.Core.csproj b/ImpostorHQ.Command/Impostor.Commands.Core/Impostor.Commands.Core.csproj index b3a531f..5bf0e6b 100644 --- a/ImpostorHQ.Command/Impostor.Commands.Core/Impostor.Commands.Core.csproj +++ b/ImpostorHQ.Command/Impostor.Commands.Core/Impostor.Commands.Core.csproj @@ -11,6 +11,9 @@ false true + + true + diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..d403fdb --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,107 @@ +# Made by Gavin Steinhoff +trigger: + branches: + include: + - main + paths: + exclude: + - ImpostorHQ.Dashboard/* + +pr: + branches: + include: + - main + paths: + exclude: + - ImpostorHQ.Dashboard/* + +pool: + vmImage: 'windows-latest' + +variables: + solution: '**/*.sln' + buildPlatform: 'Any CPU' + buildConfiguration: 'Release' + +steps: +- task: NuGetCommand@2 + displayName: Nuget Restore + inputs: + command: 'restore' + restoreSolution: '**/ImpostorHQ.Plugin.Fashionable.Designer.csproj' + feedsToUse: 'select' +- task: MSBuild@1 + displayName: MS Build + inputs: + solution: '**/ImpostorHQ.Plugin.Fashionable.Designer.csproj' + configuration: '$(buildConfiguration)' +- task: DotNetCoreCLI@2 + displayName: ".Net Restore" + inputs: + command: 'restore' + projects: | + **/*.csproj + !**/ImpostorHQ.Plugin.Fashionable.Designer.csproj + arguments: '--configuration $(buildConfiguration)' + +- task: DotNetCoreCLI@2 + displayName: ".Net Build" + inputs: + command: 'build' + projects: | + **/*.csproj + !**/ImpostorHQ.Plugin.Fashionable.Designer.csproj + arguments: '--configuration $(buildConfiguration) --no-restore' +- task: CopyFiles@2 + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + inputs: + Contents: '**/Impostor.Commands.Core.dll' + TargetFolder: '$(Build.ArtifactStagingDirectory)/ImpostorCommandsCore' + flattenFolders: true +- task: CopyFiles@2 + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + inputs: + Contents: '**/ImpostorHQ.Plugin.Fashionable.dll' + TargetFolder: '$(Build.ArtifactStagingDirectory)/ImpostorHQPlugin' + flattenFolders: true +- task: CopyFiles@2 + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + inputs: + Contents: '**/ImpostorHQ.Plugin.HallOfShame.dll' + TargetFolder: '$(Build.ArtifactStagingDirectory)/ImpostorHQPlugin' + flattenFolders: true +- task: CopyFiles@2 + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + inputs: + Contents: '**/Plugin.Test.dll' + TargetFolder: '$(Build.ArtifactStagingDirectory)/ImpostorHQPlugin' + flattenFolders: true +- task: CopyFiles@2 + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + inputs: + Contents: '**/LogParser.exe' + TargetFolder: '$(Build.ArtifactStagingDirectory)/LogParser' + flattenFolders: true +- task: CopyFiles@2 + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + inputs: + Contents: '**/ImpostorHQ.Plugin.Fashionable.Designer.exe' + TargetFolder: '$(Build.ArtifactStagingDirectory)/FashionableDesigner' + flattenFolders: true + +- publish: '$(Build.ArtifactStagingDirectory)/ImpostorCommandsCore' + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + artifact: ImpostorCommandsCore + +- publish: '$(Build.ArtifactStagingDirectory)/ImpostorHQPlugin' + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + artifact: ImpostorHQPlugins + +- publish: '$(Build.ArtifactStagingDirectory)/LogParser' + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + artifact: LogParser + +- publish: '$(Build.ArtifactStagingDirectory)/FashionableDesigner' + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) + artifact: FashionableDesigner +