class DotNetProject

Public Class Methods

new(name,type,language) click to toggle source
# File lib/dotnet_project.rb, line 7
def initialize(name,type,language)
    @name=name
    @type=type
    @language=language
    setup
end

Public Instance Methods

language() click to toggle source
# File lib/dotnet_project.rb, line 22
def language
    @language
end
name() click to toggle source
# File lib/dotnet_project.rb, line 14
def name
    @name
end
projectExtension() click to toggle source
# File lib/dotnet_project.rb, line 26
def projectExtension
    return "fsproj" if @language=="F#"
    "csproj"
end
setup() click to toggle source
# File lib/dotnet_project.rb, line 31
def setup
    if(@type=="classlib")
        FileUtils.mkdir(@name)if(!Dir.exist?(@name))
        if(!File.exist?("#{@name}/#{@name}.#{projectExtension}"))
            Dir.chdir(@name) do
                puts `dotnet new classlib -lang #{@language}`
            end
        end
        FileUtils.mkdir("#{@name}.Test")if(!Dir.exist?("#{@name}.Test"))
        if(!File.exist?("#{@name}.Test/#{@name}.Test.#{projectExtension}"))
            Dir.chdir("#{@name}.Test") do
                puts `dotnet new nunit -lang #{@language}`
                puts `dotnet add reference ../#{@name}/#{@name}.#{projectExtension}`
            end
        end
    end

    if(!File.exist?("#{name}.sln"))
        puts `dotnet new sln -n #{name}`
        puts `dotnet sln #{name}.sln add #{name}/#{name}.#{projectExtension}`
        puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.#{projectExtension}`
    end

    if(!File.exist?('.gitignore'))
        File.open('.gitignore','w'){|f| f.write(GITIGNORE)}
    end

    if(!File.exist?('.gitlab-ci.yml'))
        File.open('.gitlab-ci.yml','w'){|f| f.write(GITLABCIYML.gsub("NAME",name))}
    end
end
type() click to toggle source
# File lib/dotnet_project.rb, line 18
def type
    @type
end