lib/raykit/dotnet.rb
module Raykit class DotNet # initialize a C# library def self.initialize_csharp_lib(name) puts `dotnet new sln --name #{name}` if(!File.exist?("#{name}.sln")) if(!Dir.exists?(name)) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new classlib -lang C#` end #puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` FileUtils.mkdir("#{name}.Test")if(!Dir.exist?("#{name}.Test")) Dir.chdir("#{name}.Test") do puts `dotnet new nunit -lang C#` puts `dotnet add reference ../#{name}/#{name}.csproj` end puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj` end end # initialize an F# library def self.initialize_fsharp_lib(name) puts `dotnet new sln --name #{name}` if(!File.exist?("#{name}.sln")) if(!Dir.exists?(name)) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new classlib -lang F#` end #puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.fsproj` FileUtils.mkdir("#{name}.Test")if(!Dir.exist?("#{name}.Test")) Dir.chdir("#{name}.Test") do puts `dotnet new nunit -lang F#` puts `dotnet add reference ../#{name}/#{name}.fsproj` end puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.fsproj` end end # initialize a C# console application def self.initialize_csharp_console(name) if(!Dir.exists?(name)) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new console -lang C#` end puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` FileUtils.mkdir("#{name}.Test")if(!Dir.exist?("#{name}.Test")) Dir.chdir("#{name}.Test") do puts `dotnet new nunit -lang C#` puts `dotnet add reference ../#{name}/#{name}.csproj` end puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj` end end # initialize a C# wpf application def self.initialize_csharp_wpf_application(name) puts `dotnet new sln --name #{name}` if(!Dir.exists?(name)) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new wpf -lang C#` end end puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` initialize_csharp_lib("#{name}.Library") puts `dotnet sln #{name}.sln add #{name}.Library/#{name}.Library.csproj` puts `dotnet sln #{name}.sln add #{name}.Library.Test/#{name}.Library.Test.csproj` end # initialize a C# worker service def self.initialize_csharp_service(name) if(!Dir.exists?(name)) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new worker -lang C#` end puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` end end end end