trigger: branches: include: - master paths: include: - "Fab2ApprovalSystem/*" exclude: - "**/*.yaml" - "**/*.yml" - "SQL/*" - "references/*" - "packages/*" - "Kendo/*" variables: buildConfiguration: "Release" targetFrameworkVersion: "v4.8" coreVersion: "na" assemblyTitle: "Fab2ApprovalSystem" architecture: "x64" msBuild: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" stages: - stage: Development displayName: Development pool: name: Mesa-FabApproval demands: Fab2ApprovalSystem-Dev variables: ASPNETCORE_ENVIRONMENT: "Development" configuration: "Debug" jobs: - job: Debug steps: - script: | set gitCommit=$(Build.SourceVersion) set gitCommitSeven=%gitCommit:~0,7% echo %gitCommitSeven% echo ##vso[task.setvariable variable=GitCommitSeven;]%gitCommitSeven% echo $(GitCommitSeven) displayName: GitCommitSeven - script: | echo BuildId: $(Build.BuildId) echo Build reason: $(Build.Reason) echo Repo Id: $(Build.Repository.Id) echo Repo name: $(Build.Repository.Name) echo Source version: $(Build.SourceVersion) echo Core version: $(CoreVersion) echo Build configuration: $(BuildConfiguration) echo Configuration: $(Configuration) echo Target Framework version: $(TargetFrameworkVersion) echo Assembly title: $(AssemblyTitle) echo MSBuild: $(msBuild) displayName: "Echo Check" - script: | mklink /J ".vscode\.UserSecrets" "%AppData%\Microsoft\UserSecrets\f2da5035-aba9-4676-9f8d-d6689f84663d" mklink /J "DMO" "..\Fab2ApprovalSystem\DMO" mklink /J "Jobs" "..\Fab2ApprovalSystem\Jobs" mklink /J "JobSchedules" "..\Fab2ApprovalSystem\JobSchedules" mklink /J "Misc" "..\Fab2ApprovalSystem\Misc" mklink /J "Models" "..\Fab2ApprovalSystem\Models" mklink /J "PdfGenerator" "..\Fab2ApprovalSystem\PdfGenerator" mklink /J "Utilities" "..\Fab2ApprovalSystem\Utilities" mklink /J "ViewModels" "..\Fab2ApprovalSystem\ViewModels" workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Symbolic Link of Type Junction" - script: | dotnet user-secrets init dotnet user-secrets set BuildNumber $(Build.BuildId) dotnet user-secrets set GitCommitSeven $(GitCommitSeven) dotnet user-secrets list workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Safe storage of app secrets" - script: dotnet build --configuration $(buildConfiguration) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Build" - script: dotnet build --configuration $(buildConfiguration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Build" - script: dotnet test --configuration $(buildConfiguration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Test" - script: dotnet clean --configuration $(buildConfiguration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Clean" - script: dotnet clean --configuration $(buildConfiguration) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Clean" - script: echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt workingDirectory: Fab2ApprovalMKLink displayName: "Force Fail" enabled: "false" - script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=D:/nupkg $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Restore" - script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Build" - script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedBuildConfiguration=$(BuildConfiguration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath="D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)" /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Pack"