Created
February 18, 2024 03:17
-
-
Save rachied/cc761624e8b1339ec099cce191cddbbb to your computer and use it in GitHub Desktop.
Bootstrapper to create new Roslyn Analyzer repository
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
is_empty() { | |
local var="$1" | |
[[ -z "$var" ]] | |
} | |
read -p "Enter repository name: " repository_name | |
if is_empty "$repository_name"; then | |
echo "Error: Repository name cannot be empty." | |
exit 1 | |
fi | |
mkdir "$repository_name" && cd "$repository_name" || exit | |
dotnet new gitignore | |
dotnet new sln -n "$repository_name" | |
dotnet new classlib --framework "netstandard2.0" -n "$repository_name.Analyzers" -o "src/$repository_name.Analyzers" | |
dotnet add "src/$repository_name.Analyzers" package Microsoft.CodeAnalysis | |
dotnet new xunit -o "test/$repository_name.Analyzers.Tests" -n "$repository_name.Analyzers.Tests" | |
dotnet add "test/$repository_name.Analyzers.Tests" package Microsoft.CodeAnalysis.CSharp.Analyzer.Testing.XUnit | |
dotnet add "test/$repository_name.Analyzers.Tests" package Microsoft.CodeAnalysis.CSharp.CodeFix.Testing.XUnit | |
dotnet add "test/$repository_name.Analyzers.Tests" reference "src/$repository_name.Analyzers" | |
dotnet new console -o "test/$repository_name.Analyzers.IntegrationTest" -n "$repository_name.Analyzers.IntegrationTest" | |
dotnet add "test/$repository_name.Analyzers.IntegrationTest" reference "src/$repository_name.Analyzers" | |
dotnet sln add "src/$repository_name.Analyzers" | |
dotnet sln add "test/$repository_name.Analyzers.Tests" | |
dotnet sln add "test/$repository_name.Analyzers.IntegrationTest" | |
echo "Roslyn repo setup completed successfully." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment