Skip to content

Commit

Permalink
NET Core 3.1, Nuke, Azure Pipelines, DocFX
Browse files Browse the repository at this point in the history
Major rework for 2.0 version.
  • Loading branch information
alphaleonis committed Nov 15, 2019
1 parent 57f22a0 commit 0519b2c
Show file tree
Hide file tree
Showing 198 changed files with 12,539 additions and 4,956 deletions.
34 changes: 34 additions & 0 deletions .editorconfig
@@ -0,0 +1,34 @@
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 3

[*.cs]
dotnet-sort_system_directives_first = true
dotnet_separate_import_directive_groups = true
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true

# CA1303: Do not pass literals as localized parameters
dotnet_diagnostic.CA1303.severity = none

# CA1305: Specify IFormatProvider
dotnet_diagnostic.CA1305.severity = none

# CA1307: Specify StringComparison
dotnet_diagnostic.CA1307.severity = none

# CA1031: Do not catch general exception types
dotnet_diagnostic.CA1031.severity = none

# CA1814: Prefer jagged arrays over multidimensional
dotnet_diagnostic.CA1814.severity = none

# CA1034: Nested types should not be visible
dotnet_diagnostic.CA1034.severity = none
13 changes: 13 additions & 0 deletions .gitignore
Expand Up @@ -354,3 +354,16 @@ healthchecksdb
MigrationBackup/

# End of https://www.gitignore.io/api/visualstudio

### VisualStudioCode ###
**/.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

### VisualStudioCode Patch ###
# Ignore all local history of files
.history

# End of https://www.gitignore.io/api/visualstudiocode
1 change: 1 addition & 0 deletions .nuke
@@ -0,0 +1 @@
AlphaVSS.sln
111 changes: 111 additions & 0 deletions AlphaVSS.sln
@@ -0,0 +1,111 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29505.145
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2D2D5045-46A9-490F-A79D-78B261C35231}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
src\AlphaVSS.nuspec = src\AlphaVSS.nuspec
src\AlphaVSS.props = src\AlphaVSS.props
src\AlphaVSS.targets = src\AlphaVSS.targets
azure-pipelines.yml = azure-pipelines.yml
CHANGELOG.md = CHANGELOG.md
docs\docfx.json = docs\docfx.json
GitVersion.yml = GitVersion.yml
global.json = global.json
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{202D432F-679C-44A2-A3AE-4100E6BBA0ED}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AlphaVSS.Common", "src\AlphaVSS.Common\AlphaVSS.Common.csproj", "{2276E222-6841-4DA9-B5C9-549E9ADB33BE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AlphaVSS.Platform", "src\AlphaVSS.Platform\AlphaVSS.Platform.vcxproj", "{3A977469-6361-469C-B180-5180CD9A15B4}"
ProjectSection(ProjectDependencies) = postProject
{2276E222-6841-4DA9-B5C9-549E9ADB33BE} = {2276E222-6841-4DA9-B5C9-549E9ADB33BE}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AlphaShadow", "samples\AlphaShadow\AlphaShadow.csproj", "{22958F18-D607-4C5B-9EF0-F143A533B61A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "build\_build.csproj", "{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
core31|x64 = core31|x64
core31|x86 = core31|x86
core31d|x64 = core31d|x64
core31d|x86 = core31d|x86
net45|x64 = net45|x64
net45|x86 = net45|x86
net45d|x64 = net45d|x64
net45d|x86 = net45d|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31|x64.ActiveCfg = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31|x64.Build.0 = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31|x86.ActiveCfg = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31|x86.Build.0 = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31d|x64.ActiveCfg = Debug|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31d|x64.Build.0 = Debug|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31d|x86.ActiveCfg = Debug|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.core31d|x86.Build.0 = Debug|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45|x64.ActiveCfg = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45|x64.Build.0 = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45|x86.ActiveCfg = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45|x86.Build.0 = Release|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45d|x64.ActiveCfg = Debug|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45d|x64.Build.0 = Debug|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45d|x86.ActiveCfg = Debug|Any CPU
{2276E222-6841-4DA9-B5C9-549E9ADB33BE}.net45d|x86.Build.0 = Debug|Any CPU
{3A977469-6361-469C-B180-5180CD9A15B4}.core31|x64.ActiveCfg = core31|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.core31|x64.Build.0 = core31|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.core31|x86.ActiveCfg = core31|Win32
{3A977469-6361-469C-B180-5180CD9A15B4}.core31|x86.Build.0 = core31|Win32
{3A977469-6361-469C-B180-5180CD9A15B4}.core31d|x64.ActiveCfg = core31d|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.core31d|x64.Build.0 = core31d|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.core31d|x86.ActiveCfg = core31d|Win32
{3A977469-6361-469C-B180-5180CD9A15B4}.core31d|x86.Build.0 = core31d|Win32
{3A977469-6361-469C-B180-5180CD9A15B4}.net45|x64.ActiveCfg = net45|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.net45|x64.Build.0 = net45|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.net45|x86.ActiveCfg = net45|Win32
{3A977469-6361-469C-B180-5180CD9A15B4}.net45|x86.Build.0 = net45|Win32
{3A977469-6361-469C-B180-5180CD9A15B4}.net45d|x64.ActiveCfg = net45d|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.net45d|x64.Build.0 = net45d|x64
{3A977469-6361-469C-B180-5180CD9A15B4}.net45d|x86.ActiveCfg = net45d|Win32
{3A977469-6361-469C-B180-5180CD9A15B4}.net45d|x86.Build.0 = net45d|Win32
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31|x64.ActiveCfg = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31|x64.Build.0 = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31|x86.ActiveCfg = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31|x86.Build.0 = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31d|x64.ActiveCfg = Debug|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31d|x64.Build.0 = Debug|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31d|x86.ActiveCfg = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.core31d|x86.Build.0 = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45|x64.ActiveCfg = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45|x64.Build.0 = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45|x86.ActiveCfg = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45|x86.Build.0 = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45d|x64.ActiveCfg = Debug|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45d|x64.Build.0 = Debug|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45d|x86.ActiveCfg = Release|Any CPU
{22958F18-D607-4C5B-9EF0-F143A533B61A}.net45d|x86.Build.0 = Release|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.core31|x64.ActiveCfg = Debug|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.core31|x86.ActiveCfg = Debug|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.core31d|x64.ActiveCfg = Debug|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.core31d|x86.ActiveCfg = Debug|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.net45|x64.ActiveCfg = Debug|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.net45|x86.ActiveCfg = Debug|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.net45d|x64.ActiveCfg = Debug|Any CPU
{8FFBC249-EDAC-40EA-84A4-FCB66D579A1A}.net45d|x86.ActiveCfg = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{22958F18-D607-4C5B-9EF0-F143A533B61A} = {202D432F-679C-44A2-A3AE-4100E6BBA0ED}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {ECF0CB01-39FE-41E9-A5AE-BD7D5C76530A}
VisualSVNWorkingCopyRoot = ..\..
EndGlobalSection
EndGlobal
20 changes: 20 additions & 0 deletions ChangeLog.md
@@ -1,3 +1,23 @@
Version 2.0.0
-------------

### Breaking Changes

* Now requires Visual C++ Redistributables for Visual Studio 2019
* No longer supports .NET 4.0
* `VssUtils` has been removed and is replaced with `VssFactoryProvider`
* `IVssImplementation` has been replaced by `IVssFactory` and `IVssInfoProvider`
* Old APM Begin/End style asynchronous methods have been deprecated. Use new Async-methods instead.
* Supports only .NET Framework version 4.5 and later, as well as .NET Core 3.1
* `OSVersionName`, `ProcessorArchitecture` and `OperatingSystemInfo` classes have been removed.

### New features

* Supports .NET Core 3.1
* Supports TPL style async methods with support for `CancellationToken` instead of the old Asynchronous Programming Model (APM)
* Supports extension point for loading of platform specific assemblies. (See `IVssAssemblyResolver` and `VssFactoryProvider`)


Version 1.4.0
-------------
* Now requires Visual C++ Redistributable for Visual Studio 2017
Expand Down
13 changes: 1 addition & 12 deletions GitVersion.yml
@@ -1,15 +1,4 @@
assembly-versioning-scheme: MajorMinor
mode: ContinuousDelivery
branches:
feature:
regex: features?[/-]
mode: ContinuousDeployment
tag: useBranchName
increment: Inherit
prevent-increment-of-merged-branch-version: false
track-merge-target: false
tracks-release-branches: false
is-release-branch: false
mode: ContinuousDeployment
ignore:
sha: []
merge-message-formats: {}
31 changes: 22 additions & 9 deletions azure-pipelines.yml
Expand Up @@ -3,17 +3,30 @@
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml


trigger:
- master

pool:
vmImage: 'ubuntu-latest'
pool: Default
# vmImage: 'windows-latest'

steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
jobs:
- job: Nuke
displayName: Nuke
workspace:
clean: all
steps:
# - task: UseDotNet@2
# displayName: 'Use .NET Core SDK 3.1'
# inputs:
# packageType: sdk
# version: 3.1.x
# includePreviewVersions: true
# installationPath: $(Agent.ToolsDirectory)

- script: |
echo Add other tasks to build, test, and deploy your project.
echo See https://aka.ms/yaml
displayName: 'Run a multi-line script'
- task: PowerShell@2
inputs:
displayName: 'Nuke Build'
filePath: '$(Build.SourcesDirectory)/build.ps1'
arguments: '--target distbuild'
workingDirectory: '$(Build.SourcesDirectory)'
68 changes: 68 additions & 0 deletions build.ps1
@@ -0,0 +1,68 @@
[CmdletBinding()]
Param(
[Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)]
[string[]]$BuildArguments
)

Write-Output "PowerShell $($PSVersionTable.PSEdition) version $($PSVersionTable.PSVersion)"

Set-StrictMode -Version 2.0; $ErrorActionPreference = "Stop"; $ConfirmPreference = "None"; trap { exit 1 }
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent

###########################################################################
# CONFIGURATION
###########################################################################

$BuildProjectFile = "$PSScriptRoot\build\_build.csproj"
$TempDirectory = "$PSScriptRoot\\.tmp"

$DotNetGlobalFile = "$PSScriptRoot\\global.json"
$DotNetInstallUrl = "https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1"
$DotNetChannel = "Current"

$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1
$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1

###########################################################################
# EXECUTION
###########################################################################

function ExecSafe([scriptblock] $cmd) {
& $cmd
if ($LASTEXITCODE) { exit $LASTEXITCODE }
}

# If global.json exists, load expected version
if (Test-Path $DotNetGlobalFile) {
$DotNetGlobal = $(Get-Content $DotNetGlobalFile | Out-String | ConvertFrom-Json)
if ($DotNetGlobal.PSObject.Properties["sdk"] -and $DotNetGlobal.sdk.PSObject.Properties["version"]) {
$DotNetVersion = $DotNetGlobal.sdk.version
}
}

# If dotnet is installed locally, and expected version is not set or installation matches the expected version
if ($null -ne (Get-Command "dotnet" -ErrorAction SilentlyContinue) -and `
(!(Test-Path variable:DotNetVersion) -or $(& dotnet --version) -eq $DotNetVersion)) {
$env:DOTNET_EXE = (Get-Command "dotnet").Path
}
else {
$DotNetDirectory = "$TempDirectory\dotnet-win"
$env:DOTNET_EXE = "$DotNetDirectory\dotnet.exe"

# Download install script
$DotNetInstallFile = "$TempDirectory\dotnet-install.ps1"
New-Item -ItemType Directory -Path $TempDirectory | Out-Null
(New-Object System.Net.WebClient).DownloadFile($DotNetInstallUrl, $DotNetInstallFile)

# Install by channel or version
if (!(Test-Path variable:DotNetVersion)) {
ExecSafe { & $DotNetInstallFile -InstallDir $DotNetDirectory -Channel $DotNetChannel -NoPath }
} else {
ExecSafe { & $DotNetInstallFile -InstallDir $DotNetDirectory -Version $DotNetVersion -NoPath }
}
}

Write-Output "Microsoft (R) .NET Core SDK version $(& $env:DOTNET_EXE --version)"

ExecSafe { & $env:DOTNET_EXE build $BuildProjectFile /nodeReuse:false }
ExecSafe { & $env:DOTNET_EXE run --project $BuildProjectFile --no-build -- $BuildArguments }
10 changes: 10 additions & 0 deletions build/.editorconfig
@@ -0,0 +1,10 @@
[*.cs]
dotnet_style_qualification_for_field = false:warning
dotnet_style_qualification_for_property = false:warning
dotnet_style_qualification_for_method = false:warning
dotnet_style_qualification_for_event = false:warning
dotnet_style_require_accessibility_modifiers = never:warning

csharp_style_expression_bodied_properties = true:warning
csharp_style_expression_bodied_indexers = true:warning
csharp_style_expression_bodied_accessors = true:warning
File renamed without changes.

0 comments on commit 0519b2c

Please sign in to comment.