-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate-structure.bat
More file actions
129 lines (108 loc) · 4.61 KB
/
create-structure.bat
File metadata and controls
129 lines (108 loc) · 4.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
@echo off
echo Criando estrutura do projeto High Performance SFTP Downloader...
:: Criar diretórios principais
mkdir src 2>nul
mkdir tests 2>nul
:: Criar solution
dotnet new sln -n HighPerformanceSftp
:: Criar projetos
cd src
dotnet new classlib -n HighPerformanceSftp.Domain -f net8.0
dotnet new classlib -n HighPerformanceSftp.Application -f net8.0
dotnet new classlib -n HighPerformanceSftp.Infrastructure -f net8.0
dotnet new console -n HighPerformanceSftp.Console -f net8.0
:: Criar projetos de teste
cd ..\tests
dotnet new xunit -n HighPerformanceSftp.UnitTests -f net8.0
dotnet new xunit -n HighPerformanceSftp.IntegrationTests -f net8.0
:: Adicionar projetos à solution
cd ..
dotnet sln add src/HighPerformanceSftp.Domain/HighPerformanceSftp.Domain.csproj
dotnet sln add src/HighPerformanceSftp.Application/HighPerformanceSftp.Application.csproj
dotnet sln add src/HighPerformanceSftp.Infrastructure/HighPerformanceSftp.Infrastructure.csproj
dotnet sln add src/HighPerformanceSftp.Console/HighPerformanceSftp.Console.csproj
dotnet sln add tests/HighPerformanceSftp.UnitTests/HighPerformanceSftp.UnitTests.csproj
dotnet sln add tests/HighPerformanceSftp.IntegrationTests/HighPerformanceSftp.IntegrationTests.csproj
:: Adicionar referências entre projetos
cd src\HighPerformanceSftp.Application
dotnet add reference ..\HighPerformanceSftp.Domain\HighPerformanceSftp.Domain.csproj
cd ..\HighPerformanceSftp.Infrastructure
dotnet add reference ..\HighPerformanceSftp.Domain\HighPerformanceSftp.Domain.csproj
dotnet add reference ..\HighPerformanceSftp.Application\HighPerformanceSftp.Application.csproj
cd ..\HighPerformanceSftp.Console
dotnet add reference ..\HighPerformanceSftp.Domain\HighPerformanceSftp.Domain.csproj
dotnet add reference ..\HighPerformanceSftp.Application\HighPerformanceSftp.Application.csproj
dotnet add reference ..\HighPerformanceSftp.Infrastructure\HighPerformanceSftp.Infrastructure.csproj
:: Adicionar referências aos projetos de teste
cd ..\..\tests\HighPerformanceSftp.UnitTests
dotnet add reference ..\..\src\HighPerformanceSftp.Domain\HighPerformanceSftp.Domain.csproj
dotnet add reference ..\..\src\HighPerformanceSftp.Application\HighPerformanceSftp.Application.csproj
dotnet add reference ..\..\src\HighPerformanceSftp.Infrastructure\HighPerformanceSftp.Infrastructure.csproj
cd ..\HighPerformanceSftp.IntegrationTests
dotnet add reference ..\..\src\HighPerformanceSftp.Domain\HighPerformanceSftp.Domain.csproj
dotnet add reference ..\..\src\HighPerformanceSftp.Application\HighPerformanceSftp.Application.csproj
dotnet add reference ..\..\src\HighPerformanceSftp.Infrastructure\HighPerformanceSftp.Infrastructure.csproj
:: Instalar pacotes NuGet necessários
cd ..\..\src\HighPerformanceSftp.Infrastructure
dotnet add package SSH.NET
dotnet add package System.Diagnostics.PerformanceCounter
dotnet add package System.Management
dotnet add package Microsoft.Extensions.Logging
dotnet add package System.IO.Pipelines
cd ..\HighPerformanceSftp.Console
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.Json
dotnet add package Microsoft.Extensions.DependencyInjection
dotnet add package Microsoft.Extensions.Hosting
dotnet add package Microsoft.Extensions.Logging
dotnet add package Microsoft.Extensions.Logging.Console
dotnet add package Serilog
dotnet add package Serilog.Extensions.Logging
dotnet add package Serilog.Sinks.Console
dotnet add package Serilog.Sinks.File
cd ..\..\tests\HighPerformanceSftp.UnitTests
dotnet add package FluentAssertions
dotnet add package Moq
dotnet add package xunit
dotnet add package xunit.runner.visualstudio
dotnet add package coverlet.collector
dotnet add package BenchmarkDotNet
cd ..\HighPerformanceSftp.IntegrationTests
dotnet add package Microsoft.AspNetCore.Mvc.Testing
dotnet add package Testcontainers
dotnet add package WireMock.Net
:: Criar diretórios de estrutura
cd ..\..\src\HighPerformanceSftp.Domain
mkdir Interfaces
mkdir Models
mkdir Configuration
mkdir Exceptions
cd ..\HighPerformanceSftp.Application
mkdir Services
mkdir Observers
mkdir Metrics
cd ..\HighPerformanceSftp.Infrastructure
mkdir Repositories
mkdir Strategies
mkdir Memory
mkdir IO
mkdir Extensions
:: Voltar para o diretório raiz
cd ..\..
:: Criar arquivo .gitignore
echo # .NET Core > .gitignore
echo *.swp >> .gitignore
echo *.user >> .gitignore
echo bin/ >> .gitignore
echo obj/ >> .gitignore
echo .vs/ >> .gitignore
echo .vscode/ >> .gitignore
echo TestResults/ >> .gitignore
echo *.log >> .gitignore
:: Criar pasta para logs
mkdir logs 2>nul
echo.
echo Estrutura do projeto criada com sucesso!
echo.
echo Para abrir no Visual Studio, execute: HighPerformanceSftp.sln
pause