Class: Raykit::DotNet

Inherits:
Object
  • Object
show all
Defined in:
lib/raykit/dotnet.rb

Class Method Summary collapse

Class Method Details

.get_package_names(filename) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/raykit/dotnet.rb', line 92

def self.get_package_names(filename)
    package_names = Array.new
    if(File.exist?(filename))
        if(filename.include?('.csproj'))
            regex=/<PackageReference Include="([\w.-]+)"/
            text=IO.read(filename)
            text.scan(regex).each{|m|
                package_names << m.first.to_s
            }
        end
    end
    package_names
end

.initialize_csharp_console(name) ⇒ Object

initialize a C# console application



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/raykit/dotnet.rb', line 46

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_csharp_lib(name) ⇒ Object

initialize a C# library



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/raykit/dotnet.rb', line 4

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_csharp_service(name) ⇒ Object

initialize a C# worker service



81
82
83
84
85
86
87
88
89
90
# File 'lib/raykit/dotnet.rb', line 81

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

.initialize_csharp_wpf_application(name) ⇒ Object

initialize a C# wpf application



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/raykit/dotnet.rb', line 66

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_fsharp_lib(name) ⇒ Object

initialize an F# library



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/raykit/dotnet.rb', line 25

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