diff --git a/.gitattributes b/.gitattributes
index f0a7a5a6..396eeb99 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -8,4 +8,9 @@
*.DotSettings text
*.yml text
*.cmd text
+*.sh text
*.md text
+*.json text
+*.config text
+*.props text
+*.targets text
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..114049d5
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,10 @@
+# Changelog
+
+## v1.0 - 2018.09.15
+- Set TargetFramework to net472.
+- Switch to SDK-style project format and dotnet core build tooling.
+- Use [Vostok.Logging.Abstractions](https://github.com/vostok/logging.abstractions) as a logging framework facade.
+- Use [Nerdbank.GitVersioning](https://github.com/AArnott/Nerdbank.GitVersioning) to automate generation of assembly
+ and nuget package versions.
+- Update [GroBuf](https://github.com/skbkontur/GroBuf) dependency to v1.4.2.
+- Update [GrobExp.Compiler](https://github.com/skbkontur/GrobExp.Compiler) dependency to v1.2.1.
diff --git a/Directory.Build.props b/Directory.Build.props
index 74e410f3..ce9c32a5 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -12,4 +12,8 @@
$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb
+
+
+
+
\ No newline at end of file
diff --git a/Directory.Build.targets b/Directory.Build.targets
index cb19e7ec..77e2db32 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -7,4 +7,17 @@
+
+
+ $(AssemblyName)
+ Igor Chevdar, Michael Samoylenko, Anton Chaplygin
+ expression tree code generation
+ Code generation mechanics for documents conversion and validation
+ git
+ https://github.com/skbkontur/GrobExp.Mutators
+ $(RepositoryUrl)
+ $(RepositoryUrl)/releases/tag/v$(MajorMinorVersion)-release
+
+
+
\ No newline at end of file
diff --git a/Mutators.Tests/Mutators.Tests.csproj b/Mutators.Tests/Mutators.Tests.csproj
index 80f6120f..8c9cb841 100644
--- a/Mutators.Tests/Mutators.Tests.csproj
+++ b/Mutators.Tests/Mutators.Tests.csproj
@@ -2,12 +2,12 @@
false
- net471
+ net472
-
-
+
+
diff --git a/Mutators/ConverterCollection.cs b/Mutators/ConverterCollection.cs
index e23fc1f6..5c62f47a 100644
--- a/Mutators/ConverterCollection.cs
+++ b/Mutators/ConverterCollection.cs
@@ -157,7 +157,7 @@ private void LogConverterCompilation(MutatorsContext context, Stopwatch sw)
var mutatorsContextTypeName = context.GetType().Name;
foreach (var propertyInfo in context.GetType().GetProperties())
logProperties.Add($"{mutatorsContextTypeName}.{propertyInfo.Name}", propertyInfo.GetValue(context));
- logger.Log(new LogEvent(LogLevel.Info, DateTimeOffset.UtcNow, "{ConverterCollectionName} was compiled in {CompilationTimeMilliseconds} ms", logProperties));
+ logger.Info("{ConverterCollectionName} was compiled in {CompilationTimeMilliseconds} ms", logProperties);
}
private static TypeCode GetTypeCode(Type type)
diff --git a/Mutators/Mutators.csproj b/Mutators/Mutators.csproj
index 2e6dabe7..07688944 100644
--- a/Mutators/Mutators.csproj
+++ b/Mutators/Mutators.csproj
@@ -1,25 +1,15 @@
- net471
+ net472
GrobExp.Mutators
GrobExp.Mutators
- $(AssemblyName)
- 1.0.0
- $(VersionPrefix)-rc-003
- $(VersionPrefix).0
- Igor Chevdar, Michael Samoylenko, Anton Chaplygin
- expression tree code generation
- Code generation mechanics for documents conversion and validation
- git
- https://github.com/skbkontur/grobexp-mutators
- $(RepositoryUrl)
-
-
-
+
+
+
diff --git a/README.md b/README.md
index bc6a1dd6..2349bcc1 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,8 @@
# Code generation mechanics for documents conversion and validation
[![NuGet Status](https://img.shields.io/nuget/v/GrobExp.Mutators.svg)](https://www.nuget.org/packages/GrobExp.Mutators/)
-[![Build status](https://ci.appveyor.com/api/projects/status/rqyf5ndta4770afq?svg=true)](https://ci.appveyor.com/project/vostok/grobexp-mutators)
\ No newline at end of file
+[![Build status](https://ci.appveyor.com/api/projects/status/rqyf5ndta4770afq?svg=true)](https://ci.appveyor.com/project/skbkontur/grobexp-mutators)
+
+## Release Notes
+
+See [CHANGELOG](CHANGELOG.md).
diff --git a/appveyor.yml b/appveyor.yml
index 80a638c0..c6807339 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,7 +1,29 @@
+version: '{build}'
+
+skip_commits:
+ files:
+ - '**/*.md'
+
image: Visual Studio 2017
init:
- cmd: git config --global core.autocrlf false
+ - ps: |
+ $ErrorActionPreference = "Stop"
+ $tagName = $env:APPVEYOR_REPO_TAG_NAME
+ if ($tagName -match '^v\d+\.\d+') # tag name starts with 'vX.Y'
+ {
+ $env:SHOULD_PUBLISH_NUGET_PACKAGE = "true"
+ Write-Host "Will publish nuget package for $tagName tag" -ForegroundColor "Green"
+ if ($tagName -match '^v\d+\.\d+-release$') # tag name matches 'vX.Y-release'
+ {
+ $env:SHOULD_CREATE_RELEASE = "true"
+ Write-Host "Will create release for $tagName tag" -ForegroundColor "Green"
+ }
+ }
+
+nuget:
+ disable_publish_on_pr: true
before_build:
- cmd: dotnet --info
@@ -9,6 +31,28 @@ before_build:
build_script:
- cmd: dotnet build --configuration Release ./GrobExp.Mutators.sln
+ - cmd: dotnet pack --no-build --configuration Release ./GrobExp.Mutators.sln
test_script:
- cmd: dotnet test --no-build --verbosity normal --configuration Release --filter TestCategory!=Failing ./Mutators.Tests/Mutators.Tests.csproj
+
+artifacts:
+ - path: './Mutators/bin/Release/*.nupkg'
+
+deploy:
+ - provider: NuGet
+ server: https://nuget.org
+ api_key:
+ secure: dzTnT0xSlPrHnrG06cj354nTN4lXWhfh4ZCJ1910I3VnNdvbx0rQFLTyJ5l1+bgB
+ skip_symbols: true
+ on:
+ SHOULD_PUBLISH_NUGET_PACKAGE: true
+
+ - provider: GitHub
+ tag: $(APPVEYOR_REPO_TAG_NAME)
+ auth_token:
+ secure: y8dDOcAtq4U1MTDJFX8f23xsvyFU1u4bhwr9Lzbkf2revNWPPTifBkWghris9v8i
+ draft: false
+ prerelease: false
+ on:
+ SHOULD_CREATE_RELEASE: true
diff --git a/global.json b/global.json
index 386035de..c0dbd1a0 100644
--- a/global.json
+++ b/global.json
@@ -1,5 +1,5 @@
{
"sdk": {
- "version": "2.1.300"
+ "version": "2.1.400"
}
}
\ No newline at end of file
diff --git a/nuget.config b/nuget.config
index 4e6379e4..d8f90e26 100644
--- a/nuget.config
+++ b/nuget.config
@@ -2,6 +2,6 @@
-
+
\ No newline at end of file
diff --git a/version.json b/version.json
new file mode 100644
index 00000000..09a0a989
--- /dev/null
+++ b/version.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
+ "version": "1.0",
+ "assemblyVersion": {
+ "precision": "build"
+ },
+ "publicReleaseRefSpec": [
+ "^refs/heads/master$",
+ "^refs/tags/v\\d+\\.\\d+"
+ ],
+ "nugetPackageVersion": {
+ "semVer": 2
+ },
+ "cloudBuild": {
+ "setVersionVariables": true,
+ "buildNumber": {
+ "enabled": false
+ }
+ }
+}
\ No newline at end of file