raykit 0.0.304 → 0.0.305
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/raykit +4 -2
- data/lib/raykit/command.rb +238 -241
- data/lib/raykit/console.rb +256 -260
- data/lib/raykit/dir.rb +39 -36
- data/lib/raykit/dotnet.rb +90 -90
- data/lib/raykit/environment.rb +77 -77
- data/lib/raykit/git/commit.rb +12 -13
- data/lib/raykit/git/directory.rb +142 -147
- data/lib/raykit/git/files.rb +43 -42
- data/lib/raykit/git/repositories.rb +75 -77
- data/lib/raykit/git/repository.rb +90 -93
- data/lib/raykit/log.rb +39 -37
- data/lib/raykit/logevent.rb +30 -28
- data/lib/raykit/logging.rb +47 -47
- data/lib/raykit/msbuild.rb +19 -11
- data/lib/raykit/nugetpackage.rb +8 -8
- data/lib/raykit/project.rb +261 -274
- data/lib/raykit/rake.rb +29 -31
- data/lib/raykit/runner.rb +37 -37
- data/lib/raykit/secrets.rb +30 -30
- data/lib/raykit/sourceImport.rb +62 -63
- data/lib/raykit/sourceImports.rb +35 -38
- data/lib/raykit/string.rb +14 -12
- data/lib/raykit/tasks.rb +46 -48
- data/lib/raykit/text.rb +24 -22
- data/lib/raykit/timer.rb +24 -22
- data/lib/raykit/version.rb +79 -86
- data/lib/raykit/vstest.rb +17 -15
- data/lib/raykit/zip.rb +35 -37
- data/lib/raykit.rb +14 -14
- metadata +11 -11
data/lib/raykit/dotnet.rb
CHANGED
@@ -1,106 +1,106 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Raykit
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
FileUtils.mkdir("#{name}.Test")if(!Dir.exist?("#{name}.Test"))
|
15
|
-
Dir.chdir("#{name}.Test") do
|
16
|
-
puts `dotnet new nunit -lang C#`
|
17
|
-
puts `dotnet add reference ../#{name}/#{name}.csproj`
|
18
|
-
end
|
4
|
+
class DotNet
|
5
|
+
# initialize a C# library
|
6
|
+
def self.initialize_csharp_lib(name)
|
7
|
+
puts `dotnet new sln --name #{name}` unless File.exist?("#{name}.sln")
|
8
|
+
unless Dir.exist?(name)
|
9
|
+
FileUtils.mkdir(name)
|
10
|
+
Dir.chdir(name) do
|
11
|
+
puts `dotnet new classlib -lang C#`
|
12
|
+
end
|
13
|
+
# puts `dotnet new sln`
|
14
|
+
puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj`
|
19
15
|
|
20
|
-
|
21
|
-
|
16
|
+
FileUtils.mkdir("#{name}.Test") unless Dir.exist?("#{name}.Test")
|
17
|
+
Dir.chdir("#{name}.Test") do
|
18
|
+
puts `dotnet new nunit -lang C#`
|
19
|
+
puts `dotnet add reference ../#{name}/#{name}.csproj`
|
22
20
|
end
|
23
21
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
puts `dotnet add reference ../#{name}/#{name}.fsproj`
|
39
|
-
end
|
22
|
+
puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj`
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# initialize an F# library
|
27
|
+
def self.initialize_fsharp_lib(name)
|
28
|
+
puts `dotnet new sln --name #{name}` unless File.exist?("#{name}.sln")
|
29
|
+
unless Dir.exist?(name)
|
30
|
+
FileUtils.mkdir(name)
|
31
|
+
Dir.chdir(name) do
|
32
|
+
puts `dotnet new classlib -lang F#`
|
33
|
+
end
|
34
|
+
# puts `dotnet new sln`
|
35
|
+
puts `dotnet sln #{name}.sln add #{name}/#{name}.fsproj`
|
40
36
|
|
41
|
-
|
42
|
-
|
37
|
+
FileUtils.mkdir("#{name}.Test") unless Dir.exist?("#{name}.Test")
|
38
|
+
Dir.chdir("#{name}.Test") do
|
39
|
+
puts `dotnet new nunit -lang F#`
|
40
|
+
puts `dotnet add reference ../#{name}/#{name}.fsproj`
|
43
41
|
end
|
44
42
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
puts `dotnet add reference ../#{name}/#{name}.csproj`
|
59
|
-
end
|
43
|
+
puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.fsproj`
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# initialize a C# console application
|
48
|
+
def self.initialize_csharp_console(name)
|
49
|
+
unless Dir.exist?(name)
|
50
|
+
FileUtils.mkdir(name)
|
51
|
+
Dir.chdir(name) do
|
52
|
+
puts `dotnet new console -lang C#`
|
53
|
+
end
|
54
|
+
puts `dotnet new sln`
|
55
|
+
puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj`
|
60
56
|
|
61
|
-
|
62
|
-
|
57
|
+
FileUtils.mkdir("#{name}.Test") unless Dir.exist?("#{name}.Test")
|
58
|
+
Dir.chdir("#{name}.Test") do
|
59
|
+
puts `dotnet new nunit -lang C#`
|
60
|
+
puts `dotnet add reference ../#{name}/#{name}.csproj`
|
63
61
|
end
|
64
62
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
puts `dotnet sln #{name}.sln add #{name}.Library/#{name}.Library.csproj`
|
77
|
-
puts `dotnet sln #{name}.sln add #{name}.Library.Test/#{name}.Library.Test.csproj`
|
63
|
+
puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj`
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# initialize a C# wpf application
|
68
|
+
def self.initialize_csharp_wpf_application(name)
|
69
|
+
puts `dotnet new sln --name #{name}`
|
70
|
+
unless Dir.exist?(name)
|
71
|
+
FileUtils.mkdir(name)
|
72
|
+
Dir.chdir(name) do
|
73
|
+
puts `dotnet new wpf -lang C#`
|
78
74
|
end
|
75
|
+
end
|
76
|
+
puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj`
|
77
|
+
initialize_csharp_lib("#{name}.Library")
|
78
|
+
puts `dotnet sln #{name}.sln add #{name}.Library/#{name}.Library.csproj`
|
79
|
+
puts `dotnet sln #{name}.sln add #{name}.Library.Test/#{name}.Library.Test.csproj`
|
80
|
+
end
|
79
81
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
end
|
87
|
-
puts `dotnet new sln`
|
88
|
-
puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj`
|
89
|
-
end
|
82
|
+
# initialize a C# worker service
|
83
|
+
def self.initialize_csharp_service(name)
|
84
|
+
unless Dir.exist?(name)
|
85
|
+
FileUtils.mkdir(name)
|
86
|
+
Dir.chdir(name) do
|
87
|
+
puts `dotnet new worker -lang C#`
|
90
88
|
end
|
89
|
+
puts `dotnet new sln`
|
90
|
+
puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj`
|
91
|
+
end
|
92
|
+
end
|
91
93
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
package_names << m.first.to_s
|
100
|
-
}
|
101
|
-
end
|
102
|
-
end
|
103
|
-
package_names
|
94
|
+
def self.get_package_names(filename)
|
95
|
+
package_names = []
|
96
|
+
if File.exist?(filename) && filename.include?(".csproj")
|
97
|
+
regex = /<PackageReference Include="([\w.-]+)"/
|
98
|
+
text = IO.read(filename)
|
99
|
+
text.scan(regex).each do |m|
|
100
|
+
package_names << m.first.to_s
|
104
101
|
end
|
102
|
+
end
|
103
|
+
package_names
|
105
104
|
end
|
106
|
-
end
|
105
|
+
end
|
106
|
+
end
|
data/lib/raykit/environment.rb
CHANGED
@@ -1,89 +1,89 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pathname"
|
2
4
|
|
3
5
|
module Raykit
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
# Provides functionality related to the development environment
|
7
|
+
class Environment
|
8
|
+
# Normalize a directory or filename to use forward slashes
|
9
|
+
def self.normalize_path(name)
|
10
|
+
name.gsub('\\', "/")
|
11
|
+
end
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
# The user home directory
|
23
|
-
def self.home_dir
|
24
|
-
return normalize_path(ENV["USERPROFILE"]) if(ENV.include?("USERPROFILE"))
|
25
|
-
normalize_path(ENV['HOME'])
|
26
|
-
end
|
13
|
+
# The root directory for the development environment.
|
14
|
+
# May be set using the environment variable DEV_ROOT,
|
15
|
+
# otherwise defaults to the user home directory
|
16
|
+
def self.root_dir
|
17
|
+
if ENV["DEV_ROOT"].nil?
|
18
|
+
Environment.home_dir
|
19
|
+
else
|
20
|
+
normalize_path(ENV["DEV_ROOT"])
|
21
|
+
end
|
22
|
+
end
|
27
23
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
# Get, and create if it does not exist, a specific development directory
|
32
|
-
def self.get_dev_dir(name)
|
33
|
-
dir = Pathname.new("#{Environment::root_dir}/#{name}")
|
34
|
-
dir.mkpath
|
35
|
-
dir.to_s().gsub('//','/')
|
36
|
-
end
|
24
|
+
# The user home directory
|
25
|
+
def self.home_dir
|
26
|
+
return normalize_path(ENV["USERPROFILE"]) if ENV.include?("USERPROFILE")
|
37
27
|
|
38
|
-
|
39
|
-
|
40
|
-
end
|
41
|
-
# Get the size of a directory and its contents
|
42
|
-
def self.get_dir_size(dir)
|
43
|
-
Dir.glob(File.join(dir, '**', '*'))
|
44
|
-
.map{ |f| File.size(f) }
|
45
|
-
.inject(:+)
|
46
|
-
end
|
28
|
+
normalize_path(ENV["HOME"])
|
29
|
+
end
|
47
30
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
machine = machine.split('.')[0] if machine.include?('.')
|
52
|
-
return machine.strip
|
53
|
-
end
|
54
|
-
|
55
|
-
def self.user
|
56
|
-
ENV['USERNAME']
|
57
|
-
end
|
31
|
+
def self.log_dir
|
32
|
+
get_dev_dir("log")
|
33
|
+
end
|
58
34
|
|
59
|
-
|
60
|
-
|
61
|
-
|
35
|
+
# Get, and create if it does not exist, a specific development directory
|
36
|
+
def self.get_dev_dir(name)
|
37
|
+
dir = Pathname.new("#{Environment.root_dir}/#{name}")
|
38
|
+
dir.mkpath
|
39
|
+
dir.to_s.gsub("//", "/")
|
40
|
+
end
|
62
41
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
42
|
+
def self.get_work_dir(url)
|
43
|
+
"#{Raykit::Environment.get_dev_dir("work")}/#{url.gsub("://", "/").gsub(".git", "")}"
|
44
|
+
end
|
45
|
+
|
46
|
+
# Get the size of a directory and its contents
|
47
|
+
def self.get_dir_size(dir)
|
48
|
+
Dir.glob(File.join(dir, "**", "*"))
|
49
|
+
.map { |f| File.size(f) }
|
50
|
+
.inject(:+)
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.machine
|
54
|
+
return ENV["COMPUTERNAME"] unless ENV["COMPUTERNAME"].nil?
|
55
|
+
|
56
|
+
machine = `hostname`
|
57
|
+
machine = machine.split(".")[0] if machine.include?(".")
|
58
|
+
machine.strip
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.user
|
62
|
+
ENV["USERNAME"]
|
63
|
+
end
|
67
64
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
65
|
+
def self.local_application_data
|
66
|
+
"#{ENV["USERPROFILE"]}/AppData/Local".gsub('\\', "/")
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.admin?
|
70
|
+
rights = `whoami /priv`
|
71
|
+
rights.include?("SeCreateGlobalPrivilege")
|
72
|
+
end
|
73
|
+
|
74
|
+
def self.which(name)
|
75
|
+
return name if File.exist?(name)
|
76
|
+
|
77
|
+
["", ".exe", ".bat", ".cmd"].each do |ext|
|
78
|
+
aname = name + ext
|
79
|
+
return aname if File.exist?(aname)
|
80
|
+
|
81
|
+
ENV["PATH"].split(File::PATH_SEPARATOR).each do |path|
|
82
|
+
apath = "#{path.gsub('\\', "/")}/#{aname}".gsub("//", "/")
|
83
|
+
return apath if File.exist?(apath)
|
85
84
|
end
|
86
|
-
|
85
|
+
end
|
86
|
+
""
|
87
87
|
end
|
88
|
+
end
|
88
89
|
end
|
89
|
-
|
data/lib/raykit/git/commit.rb
CHANGED
@@ -1,17 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
module Raykit
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
attr_accessor :branch
|
8
|
-
attr_accessor :commit_id
|
4
|
+
module Git
|
5
|
+
# Functionality to manage a git commit
|
6
|
+
class Commit
|
7
|
+
attr_accessor :url, :branch, :commit_id
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
9
|
+
def initialize(url, branch, commit_id)
|
10
|
+
@url = url
|
11
|
+
@branch = branch
|
12
|
+
@commit_id = commit_id
|
13
|
+
end
|
16
14
|
end
|
17
|
-
end
|
15
|
+
end
|
16
|
+
end
|