55 lines
1.6 KiB
PowerShell
55 lines
1.6 KiB
PowerShell
$AppName = Read-Host -Prompt 'Input your project (folder) name'
|
|
$TargetFolder="../$AppName"
|
|
Write-Host "Creating a new project '$AppName' in '$TargetFolder'"
|
|
$confirmation = Read-Host "Are you sure you want to proceed? [y/N]"
|
|
if ($confirmation -ne 'y') {
|
|
Write-Host "Closing.."
|
|
Start-Sleep -Seconds 2
|
|
Exit
|
|
}
|
|
New-Item -ItemType Directory -Force -Path $TargetFolder
|
|
Push-Location $TargetFolder
|
|
git init
|
|
# solution
|
|
dotnet new sln -n Solution
|
|
dotnet new gitignore
|
|
dotnet new globaljson
|
|
dotnet new nugetconfig
|
|
# domain project
|
|
dotnet new classlib -n Domain
|
|
dotnet sln add Domain
|
|
# unit test project
|
|
dotnet new nunit -n Domain.Tests
|
|
dotnet add Domain.Tests package NSubstitute
|
|
dotnet sln add Domain.Tests
|
|
dotnet add Domain.Tests reference Domain
|
|
# wiring project
|
|
dotnet new classlib -n Wiring
|
|
dotnet sln add Wiring
|
|
dotnet add Wiring reference Domain
|
|
dotnet add Wiring package Autofac
|
|
# adapters project
|
|
dotnet new classlib -n Adapters
|
|
dotnet sln add Adapters
|
|
dotnet add Adapters reference Domain
|
|
# use webapi and/or console
|
|
# webapi project
|
|
#dotnet new webapi -n WebApi
|
|
#dotnet sln add WebApi
|
|
#dotnet add WebApi reference Domain
|
|
#dotnet add WebApi reference Wiring
|
|
# console project
|
|
dotnet new console -n ConsoleApp
|
|
dotnet sln add ConsoleApp
|
|
dotnet add ConsoleApp reference Domain
|
|
dotnet add ConsoleApp reference Wiring
|
|
Pop-Location
|
|
|
|
# copy content files
|
|
Copy-Item -Path "files/AssemblyInfo.cs" -Destination "$TargetFolder/Domain"
|
|
Copy-Item -Path "files/DomainPorts.cs" -Destination "$TargetFolder/Domain"
|
|
Copy-Item -Path "files/IAdapterResolver.cs" -Destination "$TargetFolder/Domain"
|
|
Copy-Item -Path "files/Wiring.cs" -Destination "$TargetFolder/Wiring"
|
|
|
|
Write-Host "Finished"
|