Skip to content

Commit d3b537f

Browse files
authored
Merge pull request #35 from Raiffeisen-DGTL/refactoring/upgrade-framework-version
Upgrade .NET Version to net5.0
2 parents ce634d4 + c82e869 commit d3b537f

File tree

1,127 files changed

+7517
-6214
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,127 files changed

+7517
-6214
lines changed

.github/workflows/default.yml

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
name: Default ViennaNET release pipeline
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches:
6+
- master
7+
- 'feature/**'
8+
- 'bug/**'
9+
- 'hotfix/**'
10+
- 'refactoring/**'
11+
release:
12+
types:
13+
- released
14+
jobs:
15+
default:
16+
name: Default Job
17+
runs-on: ubuntu-latest
18+
env:
19+
PROJECT_KEY: 'Raiffeisen-DGTL_ViennaNET'
20+
PROJECT_NAME: 'ViennaNET.sln'
21+
22+
steps:
23+
- name: Setup GitVersion
24+
uses: gittools/actions/gitversion/[email protected]
25+
with:
26+
versionSpec: '5.x'
27+
28+
- name: Setup JDK 11
29+
uses: actions/setup-java@v1
30+
with:
31+
java-version: 1.11
32+
33+
- name: Setup .NET Core
34+
uses: actions/setup-dotnet@v1
35+
with:
36+
dotnet-version: '5.0.x'
37+
38+
- name: Checkout source code
39+
uses: actions/checkout@v2
40+
with:
41+
fetch-depth: 0
42+
43+
- name: Cache SonarCloud packages
44+
uses: actions/cache@v1
45+
with:
46+
path: ~/sonar/cache
47+
key: ${{ runner.os }}-sonar
48+
restore-keys: ${{ runner.os }}-sonar
49+
50+
- name: Cache SonarCloud scanner
51+
id: cache-sonar-scanner
52+
uses: actions/cache@v1
53+
with:
54+
path: ./.sonar/scanner
55+
key: ${{ runner.os }}-sonar-scanner
56+
restore-keys: ${{ runner.os }}-sonar-scanner
57+
58+
- name: Install SonarCloud scanner
59+
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
60+
run: |
61+
mkdir -p -v ./.sonar/scanner
62+
dotnet tool update dotnet-sonarscanner --tool-path ./.sonar/scanner
63+
64+
- name: Calculate version
65+
uses: gittools/actions/gitversion/[email protected]
66+
67+
- name: Begin SonarCloud scanner
68+
env:
69+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
71+
SONAR_ORG: 'raiffeisen-dgtl'
72+
SONAR_HOST_URL: https://sonarcloud.io
73+
run: |
74+
./.sonar/scanner/dotnet-sonarscanner begin \
75+
/k:$PROJECT_KEY \
76+
/o:$SONAR_ORG \
77+
/v:$GITVERSION_SEMVER \
78+
/n:$PROJECT_NAME \
79+
/d:sonar.login=$SONAR_TOKEN \
80+
/d:sonar.host.url=$SONAR_HOST_URL \
81+
/d:sonar.cs.nunit.reportsPaths="**/TestResult/TestResults*.xml" \
82+
/d:sonar.cs.opencover.reportsPaths="**/TestResult/coverage.opencover.xml"
83+
84+
- name: Restore dependencies
85+
run: dotnet restore
86+
87+
- name: Build
88+
run: |
89+
dotnet build $PROJECT_NAME \
90+
-c Release \
91+
--no-restore \
92+
--nologo \
93+
/p:Company=Raiffeisenbank \
94+
/p:Product=ViennaNET \
95+
/p:AssemblyVersion=$GITVERSION_ASSEMBLYSEMVER \
96+
/p:FileVersion=$GITVERSION_ASSEMBLYSEMFILEVER \
97+
/p:InformationalVersion=$GITVERSION_INFORMATIONALVERSION
98+
99+
- name: Test
100+
run: |
101+
dotnet test $PROJECT_NAME \
102+
-c Release \
103+
-r '${{ github.workspace }}/reports' \
104+
--no-build \
105+
--nologo \
106+
--logger "nunit;LogFilePath=TestResult-{assembly}.xml" \
107+
/p:CollectCoverage=true \
108+
/p:CoverletOutputFormat=\"opencover\" \
109+
/p:CoverletOutput=TestResult/
110+
111+
- name: End sonarscanner
112+
env:
113+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
114+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
115+
run: ./.sonar/scanner/dotnet-sonarscanner end /d:sonar.login=$SONAR_TOKEN
116+
117+
- name: Pack
118+
if: github.event_name == 'release'
119+
run: dotnet pack $PROJECT_NAME -c Release -o ./nupkgs --nologo --no-build -p:PackageVersion=$GITVERSION_NUGETVERSIONV2
120+
121+
- name: Push nuget packages
122+
if: github.event_name == 'release'
123+
env:
124+
NUGET_URL: https://api.nuget.org/v3/index.json
125+
run: dotnet nuget push ./nupkgs/**/*.nupkg -s $NUGET_URL -k ${{secrets.NUGETKEY}} --skip-duplicate --no-symbols true

.github/workflows/main.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/publish.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ bin
2121

2222
NuGet.Config
2323

24-
*/TestResult/*
24+
**/TestResult/**/*.*
2525

2626
.idea

README.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Repo, containing .NET Standard based infrastructure libs
2+
3+
[![Build&Test](https://github.com/Raiffeisen-DGTL/ViennaNET/workflows/Build&Test/badge.svg?branch=master)](https://github.com/Raiffeisen-DGTL/ViennaNET/actions?query=workflow%3ABuild%26Test)
4+
5+
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Raiffeisen-DGTL_ViennaNET&metric=alert_status)](https://sonarcloud.io/dashboard?id=Raiffeisen-DGTL_ViennaNET) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=Raiffeisen-DGTL_ViennaNET&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=Raiffeisen-DGTL_ViennaNET) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=Raiffeisen-DGTL_ViennaNET&metric=security_rating)](https://sonarcloud.io/dashboard?id=Raiffeisen-DGTL_ViennaNET) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=Raiffeisen-DGTL_ViennaNET&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=Raiffeisen-DGTL_ViennaNET)
6+
7+
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=Raiffeisen-DGTL_ViennaNET&metric=coverage)](https://sonarcloud.io/dashboard?id=Raiffeisen-DGTL_ViennaNET)
8+
9+
10+
## Table of contents
11+
12+
### ArcSight
13+
* [ViennaNET.ArcSight][1] - library with ArcSight connection logic
14+
* [ViennaNET.ArcSight.DefaultConfiguration][2] - assembly integration into the project through SimpleInjector
15+
16+
### Mediator (inner bus)
17+
* [ViennaNET.Mediator][3] - implementation of the internal message bus
18+
* [ViennaNET.Mediator.DefaultConfiguration][4] - assembly integration into the project through SimpleInjector
19+
20+
### Messaging
21+
* [ViennaNET.Messaging][5] - classes and interfaces providing a common functionality for working with queues
22+
* [ViennaNET.Messaging.DefaultConfiguration][6] - integration through SimpleInjector
23+
24+
> ActiveMQ:
25+
> * [ViennaNET.Messaging.ActiveMQQueue][7] - work with the ActiveMQ queue
26+
> * [ViennaNET.Messaging.ActiveMQQueue.DefaultConfiguration][8] - integration through SimpleInjector
27+
28+
> IBM MQ:
29+
> * [ViennaNET.Messaging.MQSeriesQueue][9] - work with the IBM MQ Series queue
30+
> * [ViennaNET.Messaging.MQSeriesQueue.DefaultConfiguration][10] - integration through SimpleInjector
31+
32+
> Kafka:
33+
> * [ViennaNET.Messaging.KafkaQueue][11] - work with the Kafka queue
34+
> * [ViennaNET.Messaging.KafkaQueue.DefaultConfiguration][12] - integration through SimpleInjector
35+
36+
> RabbitMQ:
37+
> * [ViennaNET.Messaging.RabbitMQQueue][13] - work with the RabbitMQ queue
38+
> * [ViennaNET.Messaging.RabbitMQQueue.DefaultConfiguration][14] - integration through SimpleInjector
39+
40+
### ORM
41+
* [ViennaNET.Orm][15] - DAL, wrapper over NHibernate
42+
* [ViennaNET.Orm.DefaultConfiguration][16] - assembly integration into the project through SimpleInjector
43+
44+
> DB2:
45+
> * [ViennaNET.Orm.DB2.Win][17] - driver for connecting to IBM DB2 under Windows
46+
> * [ViennaNET.Orm.DB2.Lnx][18] - driver for connecting to IBM DB2 under Linux
47+
48+
> MSSql:
49+
> * [ViennaNET.Orm.MSSQL][19] - connection of the MS SQL driver
50+
> * [ViennaNET.Orm.MSSQL.DefaultConfiguration][20] - assembly integration into the project through SimpleInjector
51+
52+
> Oracle:
53+
> * [ViennaNET.Orm.Oracle][21] - connecting the Oracle driver
54+
> * [ViennaNET.Orm.Oracle.DefaultConfiguration][22] - assembly integration into the project through SimpleInjector
55+
56+
> PostgreSQL:
57+
> * [ViennaNET.Orm.PostgreSql][23] - connecting the PostgreSql driver
58+
> * [ViennaNET.Orm.PostgreSql.DefaultConfiguration][24] - assembly integration into the project through SimpleInjector
59+
60+
> SQLite:
61+
> * [ViennaNET.Orm.SQLite][25] - connecting the SQLite driver
62+
> * [ViennaNET.Orm.SQLite.DefaultConfiguration][26] - assembly integration into the project through SimpleInjector
63+
64+
### Redis
65+
* [ViennaNET.Redis][27] - services for working with Redis
66+
* [ViennaNET.Redis.DefaultConfiguration][28] - assembly integration into the project through SimpleInjector
67+
68+
### Security
69+
* [ViennaNET.Security][29] - base security interface abstractions library
70+
* [ViennaNET.Security.Jwt][30] - token factory
71+
72+
### Useful Utilities
73+
* [ViennaNET.Utils][31] - contains useful extension methods and attributes
74+
* [ViennaNET.Validation][32] - implementation of validation services
75+
* [ViennaNET.Specifications][33] - library for creating and using specifications
76+
* [ViennaNET.Sagas][34] - basic implementation of the sagas mechanism
77+
78+
### WebApi
79+
* [ViennaNET.WebApi][35] - WebApi-service builder with common AspNetCore & Swagger features enabled
80+
* [ViennaNET.HttpClient][36] - Http-client builder, integrated in standard AspNetCore DI-container
81+
82+
83+
## Quickstart
84+
85+
## Examples
86+
* [Simple empty microservice example][37]
87+
* [Example of microservice with Mediator and SimpleInjector][38]
88+
* [Example of microservice with validation][39]
89+
* [Example of microservice with database][40]
90+
* [Example of microservice with simple saga implementation][41]
91+
* [Example of microservice with messaging][42]
92+
93+
## Description
94+
* [ViennaNET part1 (WebApi, Mediator, Validation, Redis, Specifications)][43]
95+
* [ViennaNET part2 (Sagas, Orm, Messaging, CallContext)][44]
96+
97+
## [Video materials][45]
98+
99+
100+
## Let's contribute
101+
102+
* [Open issues][46]
103+
* [Codestyle conventions][47]
104+
* [ReleaseNotes][48]
105+
* [Contributors][49]
106+
107+
[1]: <src/ViennaNET.ArcSight/> "Руководство по пакету ViennaNET.ArcSight"
108+
[2]: <src/ViennaNET.ArcSight.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ArcSight в DI"
109+
[3]: <src/ViennaNET.Mediator/> "Руководство по пакету ViennaNET.Mediator"
110+
[4]: <src/ViennaNET.Mediator.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента Mediator в DI"
111+
[5]: <src/ViennaNET.Messaging/> "Руководство по пакету ViennaNET.Messaging"
112+
[6]: <src/ViennaNET.Messaging.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента Messaging в DI"
113+
[7]: <src/ViennaNET.Messaging.ActiveMQQueue/> "Руководство по пакету ViennaNET.Messaging.ActiveMQQueue"
114+
[8]: <src/ViennaNET.Messaging.ActiveMQQueue.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента Messaging.ActiveMQQueue в DI"
115+
[9]: <src/ViennaNET.Messaging.MQSeriesQueue/> "Руководство по пакету ViennaNET.Messaging.MQSeriesQueue"
116+
[10]: <src/ViennaNET.Messaging.MQSeriesQueue.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента Messaging.MQSeriesQueue в DI"
117+
[11]: <src/ViennaNET.Messaging.KafkaQueue/> "Руководство по пакету ViennaNET.Messaging.KafkaQueue"
118+
[12]: <src/ViennaNET.Messaging.KafkaQueue.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента Messaging.KafkaQueue в DI"
119+
[13]: <src/ViennaNET.Messaging.RabbitMQQueue/> "Руководство по пакету ViennaNET.Messaging.RabbitMQQueue"
120+
[14]: <src/ViennaNET.Messaging.RabbitMQQueue.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента Messaging.RabbitMQQueue в DI"
121+
[15]: <src/ViennaNET.Orm/> "Руководство по пакету ViennaNET.Orm"
122+
[16]: <src/ViennaNET.Orm.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ViennaNET.Orm в DI"
123+
[17]: <src/ViennaNET.Orm.DB2.Win.DefaultConfiguration/> "Пакет SimpleInjector для регистрации клиента ViennaNET.Orm.DB2.Win в DI"
124+
[18]: <src/ViennaNET.Orm.DB2.Lnx.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ViennaNET.Orm.DB2.Lnx в DI"
125+
[19]: <src/ViennaNET.Orm.MSSQL/> "Руководство по пакету ViennaNET.Orm.MSSQL"
126+
[20]: <src/ViennaNET.Orm.MSSQL.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ViennaNET.Orm.MSSQL в DI"
127+
[21]: <src/ViennaNET.Orm.Oracle/> "Руководство по пакету ViennaNET.Orm.Oracle"
128+
[22]: <src/ViennaNET.Orm.Oracle.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ViennaNET.Orm.Oracle в DI"
129+
[23]: <src/ViennaNET.Orm.PostgreSql/> "Руководство по пакету ViennaNET.Orm.PostgreSql"
130+
[24]: <src/ViennaNET.Orm.PostgreSql.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ViennaNET.Orm.PostgreSql в DI"
131+
[25]: <src/ViennaNET.Orm.SQLite/> "Руководство по пакету ViennaNET.Orm.SQLite"
132+
[26]: <src/ViennaNET.Orm.SQLite.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ViennaNET.Orm.SQLite в DI"
133+
[27]: <src/ViennaNET.Redis/> "Руководство по пакету ViennaNET.Redis"
134+
[28]: <src/ViennaNET.Redis.DefaultConfiguration> "Пакет SimpleInjector для регистрации клиента ViennaNET.Redis в DI"
135+
[29]: <src/ViennaNET.Security> "Контекст безопасности"
136+
[30]: <src/ViennaNET.Security.Jwt> "Контекст безопасности JWT"
137+
[31]: <src/ViennaNET.Utils> "Некоторые вспомогательные программы"
138+
[32]: <src/ViennaNET.Validation> "Компонент предоставляющий Api для создания валидаторов"
139+
[33]: <src/ViennaNET.Specifications> "Компонент предоставляющий Api для созданя спецификаций"
140+
[34]: <src/ViennaNET.Sagas> "Компонент предоставляющий Api для создания саги"
141+
[35]: <src/ViennaNET.WebApi> "ViennaNET.WebApi"
142+
[36]: <src/ViennaNET.HttpClient> "ViennaNET.HttpClient"
143+
[37]: <src/Examples/1-empty-service> "Пример создания простой WebApi службы на основе ViennaNET"
144+
[38]: <src/Examples/2-mediator> "Пример использования ViennaNET.Mediator"
145+
[39]: <src/Examples/3-validation> "Пример использования ViennaNET.Validation"
146+
[40]: <src/Examples/4-orm> "Пример использования ViennaNET.Orm"
147+
[41]: <src/Examples/5-saga> "Пример использования ViennaNET.Sagas"
148+
[42]: <src/Examples/6-messaginga> "Пример использования ViennaNET.Messaging"
149+
[43]: <https://habr.com/ru/company/raiffeisenbank/blog/494830/> "ViennaNET part1"
150+
[44]: <https://habr.com/ru/company/raiffeisenbank/blog/516540/> "ViennaNET part2"
151+
[45]: <https://github.com/Raiffeisen-DGTL/ViennaNET/wiki/Video-materials> "Video materials"
152+
[46]: <https://github.com/Raiffeisen-DGTL/ViennaNET/issues> "Open issues"
153+
[47]: <https://github.com/Raiffeisen-DGTL/ViennaNET/wiki/Codestyle-conventions> "Codestyle conventions"
154+
[48]: <ReleaseNotes.md> "Release notes"
155+
[49]: <https://github.com/Raiffeisen-DGTL/ViennaNET/wiki/Contributors> "Contributors"

0 commit comments

Comments
 (0)