dev 1.0.247 → 2.0.0
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.
- data/LICENSE +4 -4
- data/lib/dev.rb +8 -60
- metadata +26 -69
- data/README +0 -103
- data/bin/devgem +0 -71
- data/lib/dev/Array.rb +0 -17
- data/lib/dev/BoostBuild.rb +0 -94
- data/lib/dev/Commands.rb +0 -185
- data/lib/dev/Database.rb +0 -134
- data/lib/dev/Dep.rb +0 -117
- data/lib/dev/Deps.rb +0 -44
- data/lib/dev/Environment.rb +0 -142
- data/lib/dev/Hash.rb +0 -92
- data/lib/dev/MsBuild.rb +0 -17
- data/lib/dev/Paths.rb +0 -50
- data/lib/dev/Project.rb +0 -175
- data/lib/dev/Scm.rb +0 -125
- data/lib/dev/Svn.rb +0 -55
- data/lib/dev/SystemCall.rb +0 -288
- data/lib/dev/Tasks.rb +0 -140
- data/lib/dev/cmd/Build.rb +0 -112
- data/lib/dev/cmd/Commit.rb +0 -19
- data/lib/dev/cmd/Compile.rb +0 -35
- data/lib/dev/cmd/DeepPull.rb +0 -56
- data/lib/dev/cmd/Info.rb +0 -16
- data/lib/dev/cmd/Pull.rb +0 -46
- data/lib/dev/cmd/Replace.rb +0 -69
- data/lib/dev/cmd/Setup.rb +0 -28
- data/lib/dev/cmd/Test.rb +0 -34
- data/lib/dev/cmd/Update.rb +0 -10
data/lib/dev/Deps.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class Deps < Hash
|
3
|
-
def refresh
|
4
|
-
puts_debug "Dev::Deps.refresh"
|
5
|
-
start_time=Time.now
|
6
|
-
self.each{ |k,v|
|
7
|
-
if !v.nil? && v.kind_of?(Hash)
|
8
|
-
v[:dir]=get_dir(v) if !v.has_key?(:dir)
|
9
|
-
v[:rev]=get_rev(v) if !v.has_key?(:rev) && !get_rev(v).nil?
|
10
|
-
v[:uri]=get_uri(v)
|
11
|
-
end
|
12
|
-
}
|
13
|
-
puts_debug "Deps refresh elapsed time " + (Time.now-start_time).to_s
|
14
|
-
end
|
15
|
-
|
16
|
-
def get_dir(h)
|
17
|
-
uri=Dev::Environment.expand_string_variables(h[:uri])
|
18
|
-
uri_words=uri.split('/')
|
19
|
-
while(uri_words.length > 3) do
|
20
|
-
uri_words.shift
|
21
|
-
end
|
22
|
-
return uri_words.join('/')
|
23
|
-
end
|
24
|
-
|
25
|
-
def get_rev(h)
|
26
|
-
if(h.has_key?(:uri) && h[:uri].include?('@') && !h[:uri].include?("@REV"))
|
27
|
-
return h[:uri].split('@')[1]
|
28
|
-
end
|
29
|
-
if(h.has_key?(:dir) && h[:dir].include?('@') && !h[:dir].include?("@REV"))
|
30
|
-
return h[:dir].split('@')[1]
|
31
|
-
end
|
32
|
-
nil
|
33
|
-
end
|
34
|
-
|
35
|
-
def get_uri(h)
|
36
|
-
uri=h[:uri]
|
37
|
-
if(uri.include?("@REV") && h.has_key?(:rev) && !h[:rev].nil?)
|
38
|
-
uri=uri.gsub("@REV","@#{h[:rev]}")
|
39
|
-
end
|
40
|
-
return uri
|
41
|
-
end
|
42
|
-
|
43
|
-
end # class Deps
|
44
|
-
end # module Dev
|
data/lib/dev/Environment.rb
DELETED
@@ -1,142 +0,0 @@
|
|
1
|
-
puts_debug "read " + __FILE__
|
2
|
-
|
3
|
-
module Dev
|
4
|
-
|
5
|
-
class Environment
|
6
|
-
def self.replace_text_in_glob(glob,search,replace)
|
7
|
-
Dir.glob(glob).each{ |f| replace_text_in_file(f,search,replace) }
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.copy_from_template(source_directory,target_directory,glob_pattern,search,replace)
|
11
|
-
Dir.chdir(source_directory) do
|
12
|
-
Dir.glob("**/*") {|f|
|
13
|
-
if(!File.directory?(f))
|
14
|
-
target_file = target_directory + "/" + f.gsub(search,replace)
|
15
|
-
if(!File.exist?(target_file))
|
16
|
-
FileUtils.mkdir_p(File.dirname(target_file)) if(!Dir.exist?(File.dirname(target_file)))
|
17
|
-
FileUtils.cp(f,target_file)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
}
|
21
|
-
end
|
22
|
-
Dir.glob(glob_pattern) { |f|
|
23
|
-
Dev::Environment::replace_text_in_file(f,search,replace)
|
24
|
-
}
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.replace_text_in_file(filename,search,replace)
|
28
|
-
puts_debug "replace_text_in_file(#{filename},#{search.to_s},#{replace.to_s})"
|
29
|
-
text1 = File.read(filename)
|
30
|
-
text2 = text1.gsub(search) { |str| str=replace }
|
31
|
-
unless text1==text2
|
32
|
-
File.open(filename,"w") { |f| f.puts text2 }
|
33
|
-
puts " replaced text in #{filename}"
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.user_profile
|
38
|
-
["USERPROFILE","HOME"].each {|v|
|
39
|
-
return ENV[v].gsub('\\','/') unless ENV[v].nil?
|
40
|
-
}
|
41
|
-
dir="~"
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.dev_root
|
45
|
-
["DEV_HOME","DEV_ROOT","USERPROFILE","HOME"].each {|v|
|
46
|
-
return ENV[v].gsub('\\','/') unless ENV[v].nil?
|
47
|
-
}
|
48
|
-
dir="~"
|
49
|
-
dir=ENV["HOME"] unless ENV["HOME"].nil?
|
50
|
-
dir=ENV["USERPROFILE"].gsub('\\','/') unless ENV["USERPROFILE"].nil?
|
51
|
-
dir=ENV["DEV_ROOT"].gsub('\\','/') unless ENV["DEV_ROOT"].nil?
|
52
|
-
|
53
|
-
return dir if(RUBY_VERSION == "1.8.7")
|
54
|
-
|
55
|
-
# reg_exp = /(\/(wrk|dep|exp)\/[.\w\d-]+\/[.\w\d-]+\/[.\w\d-@]+)/ if(RUBY_VERSION != "1.8.6")
|
56
|
-
# unless(Rake.original_dir().match(reg_exp).nil?)
|
57
|
-
# wrk_rel = Rake.original_dir().match(reg_exp)[1] if Rake.original_dir().match(reg_exp).length > 0
|
58
|
-
# if(!wrk_rel.nil? && wrk_rel.length > 0)
|
59
|
-
# dir = Rake.original_dir().gsub(wrk_rel,"");
|
60
|
-
# return dir
|
61
|
-
# end
|
62
|
-
|
63
|
-
# reg_exp = /(\/(Dropbox)\/[.\w\d-]+\/[.\w\d-]+\/[.\w\d-@]+)/
|
64
|
-
# unless(Rake.original_dir().match(reg_exp).nil?)
|
65
|
-
# wrk_rel = Rake.original_dir().match(reg_exp)[1] if Rake.original_dir().match(reg_exp).length > 0
|
66
|
-
# if(!wrk_rel.nil? && wrk_rel.length > 0)
|
67
|
-
# dir = Rake.original_dir().gsub(wrk_rel,"");
|
68
|
-
# return dir
|
69
|
-
# end
|
70
|
-
# end
|
71
|
-
|
72
|
-
#end
|
73
|
-
return dir
|
74
|
-
end
|
75
|
-
|
76
|
-
def self.expand_string_variables(str)
|
77
|
-
eval("\"#{str.gsub('"','\"')}\"")
|
78
|
-
end
|
79
|
-
|
80
|
-
def self.s_to_hash(str)
|
81
|
-
# check for hash
|
82
|
-
hash=nil
|
83
|
-
if(str.strip.index('{')==0 && str.strip.index('}')==str.strip.length-1)
|
84
|
-
begin
|
85
|
-
eval("hash=#{str.strip}")
|
86
|
-
rescue
|
87
|
-
hash=nil
|
88
|
-
end
|
89
|
-
end
|
90
|
-
hash
|
91
|
-
end
|
92
|
-
|
93
|
-
def self.user
|
94
|
-
return ENV['USER'] if !ENV['USER'].nil? #on Unix
|
95
|
-
return ENV['USERNAME'] if !ENV['USERNAME'].nil? #on Windows
|
96
|
-
return "unknown"
|
97
|
-
end
|
98
|
-
|
99
|
-
def self.machine
|
100
|
-
if !ENV['COMPUTERNAME'].nil?
|
101
|
-
return ENV['COMPUTERNAME']
|
102
|
-
end
|
103
|
-
|
104
|
-
machine = `hostname`
|
105
|
-
machine = machine.split('.')[0] if machine.include?('.')
|
106
|
-
return machine.strip
|
107
|
-
#return "unknown"
|
108
|
-
end
|
109
|
-
def self.expand_command(command); Dev::Environment.expand_project_variables(command); end
|
110
|
-
def self.expand_project_variables(str)
|
111
|
-
if str.kind_of?(Hash)
|
112
|
-
expandedHash = Hash.new
|
113
|
-
str.each do |name,value|
|
114
|
-
expandedHash[name]=expand_project_variables(value)
|
115
|
-
end
|
116
|
-
return expandedHash
|
117
|
-
end
|
118
|
-
|
119
|
-
if str.kind_of?(Array)
|
120
|
-
expandedArray= Array.new
|
121
|
-
str.each{|e|expandedArray << expand_project_variable(e) }
|
122
|
-
return expandedArray
|
123
|
-
end
|
124
|
-
|
125
|
-
if str.kind_of?(String)
|
126
|
-
result=Dev::Environment.expand_string_variables(str) # expands ruby variables, e.g. '#{name}' to 'widget'
|
127
|
-
if result.include?('<') && result.include?('>')
|
128
|
-
result.scan(/(<[\w,]+>)/).each { |pvar| # expand project variables, e.g. '<name>' to 'widget
|
129
|
-
key = pvar[0].gsub("<","").gsub(">","") # '<paths,nunit>' to 'C:/wherever/NUnit.exe'
|
130
|
-
value=DEV.get_value(key)
|
131
|
-
result = result.gsub(pvar[0],value)
|
132
|
-
}
|
133
|
-
end
|
134
|
-
return result
|
135
|
-
end
|
136
|
-
|
137
|
-
return str
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
end # module Dev
|
142
|
-
|
data/lib/dev/Hash.rb
DELETED
@@ -1,92 +0,0 @@
|
|
1
|
-
class Hash
|
2
|
-
|
3
|
-
# remove all auto generated entries
|
4
|
-
def strip_auto_entries
|
5
|
-
self.each { |k,v| self.delete k if !v.nil? && v.kind_of?(Hash) && v.has_key?(:auto) && v[:auto] }
|
6
|
-
end
|
7
|
-
|
8
|
-
def get_value(key)
|
9
|
-
return Hash.get_hash_value(self,key)
|
10
|
-
end
|
11
|
-
|
12
|
-
def set_value(key,value)
|
13
|
-
Hash.set_hash_value(self,key,value)
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.get_hash_value(hash,key)
|
17
|
-
return hash[key] if(hash.has_key?(key))
|
18
|
-
if key.kind_of?(String)
|
19
|
-
if key.include?(',')
|
20
|
-
keys=key.split(',')
|
21
|
-
value=get_hash_value(hash,keys.shift)
|
22
|
-
unless value.nil?
|
23
|
-
if value.kind_of?(Hash)
|
24
|
-
return Hash.get_hash_value(value,keys.join(','))
|
25
|
-
end
|
26
|
-
end
|
27
|
-
else
|
28
|
-
value=nil
|
29
|
-
ruby="value=hash[:#{key}]"
|
30
|
-
eval(ruby)
|
31
|
-
return value
|
32
|
-
end
|
33
|
-
end
|
34
|
-
nil
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.set_hash_value(hash,key,value)
|
38
|
-
if key.kind_of?(String)
|
39
|
-
if key.include?(',')
|
40
|
-
keys=key.split(',')
|
41
|
-
hval=get_hash_value(hash,keys[0])
|
42
|
-
if(hval.nil?)
|
43
|
-
ruby="hash[:#{keys[0]}]=Hash.new"
|
44
|
-
eval(ruby)
|
45
|
-
end
|
46
|
-
hval=get_hash_value(hash,keys[0])
|
47
|
-
if hval.kind_of?(Hash)
|
48
|
-
keys.shift
|
49
|
-
if keys.length == 1
|
50
|
-
Hash.set_hash_value(hval,keys[0],value)
|
51
|
-
else
|
52
|
-
Hash.set_hash_value(hval,keys.join(','),value)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
else
|
56
|
-
eval("hash[:#{key}]=value")
|
57
|
-
end
|
58
|
-
else
|
59
|
-
hash[key]=value
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
def self.print_hash(indent,hash)
|
64
|
-
max_length=0
|
65
|
-
hash.each { |name,value| max_length=name.to_s.length if name.to_s.length > max_length }
|
66
|
-
max_length=max_length+1
|
67
|
-
index=0
|
68
|
-
hash.each do |name,value|
|
69
|
-
|
70
|
-
prefix = "#{indent}#{name.to_s}".rjust(max_length)
|
71
|
-
if value.kind_of?(Hash)
|
72
|
-
print_hash(prefix+",",value)
|
73
|
-
elsif value.kind_of?(Array)
|
74
|
-
value.each do |v|
|
75
|
-
if v.kind_of?(Hash)
|
76
|
-
#puts Rainbow(prefix).foreground(:yellow).bright
|
77
|
-
puts prefix
|
78
|
-
print_hash( prefix + " ".rjust(max_length),v)
|
79
|
-
end
|
80
|
-
puts prefix + " " + v.to_s if v.kind_of?(String)
|
81
|
-
#puts Rainbow(prefix).foreground(:yellow).bright + " " + Rainbow(v.to_s).foreground(:green) if v.kind_of?(String)
|
82
|
-
prefix = indent + " ".rjust(max_length-1)
|
83
|
-
end
|
84
|
-
else
|
85
|
-
puts prefix + " " + value.to_s
|
86
|
-
#puts Rainbow(prefix).foreground(:yellow).bright + " " + Rainbow(value.to_s).foreground(:green)
|
87
|
-
end
|
88
|
-
index+=1
|
89
|
-
indent=" ".rjust(indent.length)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
data/lib/dev/MsBuild.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe vc9/mci.sln /toolsversion:3.5 /property:Configuration=Release /property:Platform=Win32 /l:FileLogger,Microsoft.Build.Engine;logfile=.\log\mci.sln-Release-Build.log
|
3
|
-
# C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
|
4
|
-
#
|
5
|
-
|
6
|
-
module Dev
|
7
|
-
class MsBuild
|
8
|
-
|
9
|
-
def self.extract_platforms(filename)
|
10
|
-
results = Array::new
|
11
|
-
text=File.read(filename)
|
12
|
-
text.scan(/(\w+)<\/Platform/).each{ | var_match | results << var_match[0].to_s if !results.include?(var_match[0].to_s)}
|
13
|
-
results
|
14
|
-
end
|
15
|
-
|
16
|
-
end # class MsBuild
|
17
|
-
end # moduleDev
|
data/lib/dev/Paths.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class Paths < Hash
|
3
|
-
def initialize
|
4
|
-
["v4.0.30319","v3.5","v3.0","v2.0.50727"].each { |v|
|
5
|
-
f="C:/WINDOWS/Microsoft.NET/Framework/#{v}/MSBuild.exe"
|
6
|
-
self[:msbuild]=f if File.exists?(f) && self[:msbuild].nil?
|
7
|
-
f="C:/WINDOWS/Microsoft.NET/Framework/#{v}/RegAsm.exe"
|
8
|
-
self[:regasm]=f if File.exists?(f) && self[:regasm].nil?
|
9
|
-
}
|
10
|
-
|
11
|
-
initialize_nunit
|
12
|
-
initialize_vs
|
13
|
-
end
|
14
|
-
|
15
|
-
def initialize_vs
|
16
|
-
dev="C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/IDE/devenv.exe"
|
17
|
-
self[:vs8]=dev if File.exists?(dev) && self[:vs8].nil?
|
18
|
-
dev="C:/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/devenv.exe"
|
19
|
-
self[:vs9]=dev if File.exists?(dev) && self[:vs9].nil?
|
20
|
-
dev="C:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/devenv.exe"
|
21
|
-
self[:vs10]=dev if File.exists?(dev) && self[:vs10].nil?
|
22
|
-
dev="C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/devenv.exe"
|
23
|
-
self[:vs11]=dev if File.exists?(dev) && self[:vs11].nil?
|
24
|
-
dev="C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/devenv.exe"
|
25
|
-
self[:vs12]=dev if File.exists?(dev) && self[:vs12].nil?
|
26
|
-
end
|
27
|
-
|
28
|
-
def initialize_nunit
|
29
|
-
puts_debug "Paths::initialize_nunit"
|
30
|
-
nunit=""
|
31
|
-
nunitx86=""
|
32
|
-
|
33
|
-
["2.6.3/bin","2.6.0.12051/bin","2.5.10.11092/bin/net-2.0"].each{ |v|
|
34
|
-
if nunit.length==0
|
35
|
-
Dir.glob("#{Dev::Environment.dev_root}/dep/*/NUnit/#{v}/nunit-console.exe").each{|f|
|
36
|
-
if nunit.length==0
|
37
|
-
puts_debug("NUnit file located: #{f}")
|
38
|
-
nunitx86=f.gsub("nunit-console.exe","nunit-console-x86.exe")
|
39
|
-
nunit=f if(File.exists?(nunitx86))
|
40
|
-
nunitx86="" if(!File.exists?(nunitx86))
|
41
|
-
end
|
42
|
-
}
|
43
|
-
end
|
44
|
-
}
|
45
|
-
|
46
|
-
self[:nunit]=nunit
|
47
|
-
self[:nunitx86]=nunitx86
|
48
|
-
end
|
49
|
-
end # class Paths
|
50
|
-
end # module Dev
|
data/lib/dev/Project.rb
DELETED
@@ -1,175 +0,0 @@
|
|
1
|
-
puts_debug "read " + __FILE__
|
2
|
-
|
3
|
-
require 'semver'
|
4
|
-
require 'rake'
|
5
|
-
|
6
|
-
module Dev
|
7
|
-
class Project < Hash
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
defaults.each { |name,value| self[name]=value }
|
11
|
-
if(RUBY_VERSION != "1.8.7")
|
12
|
-
db = Dev::Database.new
|
13
|
-
db.set_branch_uri(self[:fullname],self[:scm_uri])
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def defaults
|
18
|
-
puts_debug "Dev::Project.defaults begin"
|
19
|
-
system_call = Dev::SystemCall.new("semver init") if(!File.exist?(".semver"))
|
20
|
-
h=Hash.new
|
21
|
-
puts_debug "Dev::Project.defaults :scm_uri"
|
22
|
-
h[:scm_uri] = Scm.get_default_scm_uri if !Scm.get_default_scm_uri.nil?
|
23
|
-
puts_debug "Dev::Project.defaults :scm_type"
|
24
|
-
h[:scm_type] = Scm.get_default_scm_type if !Scm.get_default_scm_type.nil?
|
25
|
-
h[:directory]=Rake.original_dir()
|
26
|
-
h[:fullname]=get_default_value_fullname
|
27
|
-
h[:group]=get_default_value_group
|
28
|
-
h[:name]=get_default_value_name
|
29
|
-
h[:version]= "#{SemVer.find.major}.#{SemVer.find.minor}.#{SemVer.find.patch}"
|
30
|
-
h[:src_glob]="**/{*.{rb,feature,spec,cs,c,m,cpp,cxx,h,hpp,i,jam,csproj,vcproj,snk,vcxproj,xcodeproj,plist,xib,sln,filters,xaml,xml,resx,settings,txt,png,bmp,ico,config},Jamfile,.semver,Gemfile,README,LICENSE}"
|
31
|
-
h[:src_glob]="**/{*.{rb,feature,spec,cs,c,m,cpp,cxx,h,hpp,i,jam,csproj,vcproj,snk,vcxproj,xcodeproj,plist,pch,strings,storyboard,xib,sln,filters,xaml,xml,resx,settings,txt,png,bmp,ico,config},Jamfile,.semver,Gemfile,README,LICENSE}" if RUBY_PLATFORM.include?("darwin")
|
32
|
-
puts_debug "Dev::Project.defaults :dev_root"
|
33
|
-
h[:dev_root]= "#{Dev::Environment.dev_root}"
|
34
|
-
#h[:user_profile]= "#{Dev::Environment.user_profile}"
|
35
|
-
puts_debug "Dev::Project.defaults default_toolset"
|
36
|
-
default_toolset = Dev::BoostBuild.defaultToolset
|
37
|
-
if !default_toolset.nil?
|
38
|
-
puts_debug "Dev::Project.defaults :toolset"
|
39
|
-
h[:toolset] = default_toolset
|
40
|
-
ENV["VisualStudioVersion"]="11.0" if h[:toolset]=="msvc-11.0"
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
puts_debug "Dev::Project.defaults :type"
|
45
|
-
h[:type]="gem"
|
46
|
-
puts_debug "Dev::Project.defaults B"
|
47
|
-
if(defined?(DEV_FILE_COUNT))
|
48
|
-
h[:type]=get_default_value_type
|
49
|
-
h[:file_count]=Hash.new
|
50
|
-
["rb","spec","feature","cs","cpp","h","hpp","vcxproj","csproj"].each{ |ext|
|
51
|
-
count=Dir.glob("**/*.#{ext}").count
|
52
|
-
h[:file_count][ext.to_sym]=count if count > 0
|
53
|
-
}
|
54
|
-
end
|
55
|
-
|
56
|
-
puts_debug "Dev::Project.defaults C"
|
57
|
-
h[:paths] = Dev::Paths.new
|
58
|
-
h[:dep]=Deps.new
|
59
|
-
puts_debug "Dev::Project.defaults end"
|
60
|
-
return h
|
61
|
-
end
|
62
|
-
|
63
|
-
def refresh
|
64
|
-
puts_debug "Dev::Project.refresh"
|
65
|
-
start_time=Time.now
|
66
|
-
self[:dep].refresh
|
67
|
-
#update_default_values
|
68
|
-
#db = Dev::Database.new
|
69
|
-
#db.set_branch_uri(self[:fullname],self[:scm_uri])
|
70
|
-
puts_debug "DEV refresh elapsed time " + (Time.now-start_time).to_s
|
71
|
-
|
72
|
-
begin
|
73
|
-
updateProductsDB
|
74
|
-
rescue
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
def updateProductsDB
|
79
|
-
filename = Dev::Environment.user_profile + "/Development.sql"
|
80
|
-
if(File.exists?(filename) && !DEV[:scm_uri].nil? && DEV[:scm_uri].length > 0)
|
81
|
-
db = SQLite3::Database.new filename
|
82
|
-
insert = true
|
83
|
-
id=nil
|
84
|
-
db.execute("select * from Products where name='" + DEV[:fullname] + "';") do |row|
|
85
|
-
id=row[0]
|
86
|
-
name=row[1].to_s
|
87
|
-
uri=row[2].to_s
|
88
|
-
insert = false if(name==DEV[:fullname] && uri==DEV[:scm_uri])
|
89
|
-
end
|
90
|
-
if(insert)
|
91
|
-
sid="null"
|
92
|
-
sid=id.to_s if !id.nil?
|
93
|
-
sql="insert or replace into Products VALUES(" + sid + ",'" + DEV[:fullname].to_s + "','" + DEV[:scm_uri].to_s + "');"
|
94
|
-
puts_debug "sql=#{sql}"
|
95
|
-
db.execute(sql)
|
96
|
-
db.close
|
97
|
-
db=nil
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
def get_default_value_name
|
103
|
-
dirs=::Rake.original_dir().split('/')
|
104
|
-
return dirs[dirs.length-2] if(dirs.length > 3)
|
105
|
-
return nil
|
106
|
-
end
|
107
|
-
|
108
|
-
def get_default_value_fullname
|
109
|
-
wrk="#{Dev::Environment.dev_root}/wrk/"
|
110
|
-
if(Rake.original_dir.include?(wrk))
|
111
|
-
name=Rake.original_dir.gsub(wrk,"")
|
112
|
-
return name if(name.split('/').length==3)
|
113
|
-
end
|
114
|
-
nil
|
115
|
-
end
|
116
|
-
|
117
|
-
def get_default_value_group
|
118
|
-
dirs=Rake.original_dir().split('/')
|
119
|
-
return dirs[dirs.length-3] if(dirs.length > 3)
|
120
|
-
return "unknown"
|
121
|
-
end
|
122
|
-
|
123
|
-
def get_default_value_type
|
124
|
-
Dir.glob("**/*.{cpp,hpp}").each { |f| return "c++" }
|
125
|
-
Dir.glob("**/*.{c,h}").each { |f| return "c" }
|
126
|
-
Dir.glob("**/*.{cs}").each { |f| return "C#" }
|
127
|
-
Dir.glob("**/*.{gemspec}").each { |f| return "gem" }
|
128
|
-
return "ruby"
|
129
|
-
end
|
130
|
-
|
131
|
-
def loc_cmd
|
132
|
-
cmd="countloc --recurse ."
|
133
|
-
cmd="countloc --recurse --mode ruby ." if self[:type]=="ruby" || self[:type]=="gem"
|
134
|
-
cmd="countloc --recurse --mode csharp ." if self[:type]=="C#"
|
135
|
-
cmd="countloc --recurse --mode cpp ." if self[:type]=="c++"
|
136
|
-
return cmd
|
137
|
-
end
|
138
|
-
|
139
|
-
def loc
|
140
|
-
system(loc_cmd)
|
141
|
-
end
|
142
|
-
|
143
|
-
def loc_total
|
144
|
-
# parse the output for TOTAL LOC
|
145
|
-
call=Dev::SystemCall.new(loc_cmd)
|
146
|
-
words=Array.new
|
147
|
-
words=call.output.split if !call.nil? && !call.output.nil?
|
148
|
-
if(words.length>6)
|
149
|
-
return words[words.length-6]
|
150
|
-
end
|
151
|
-
"?"
|
152
|
-
end
|
153
|
-
|
154
|
-
def context
|
155
|
-
Dev::Environment.user + "." + Dev::Environment.machine
|
156
|
-
end
|
157
|
-
|
158
|
-
def stamp_task(name)
|
159
|
-
File.open("#{name}.taskstamp." + context,"w") { |f| f.write(Time.now.to_s) }
|
160
|
-
end
|
161
|
-
|
162
|
-
def dep?
|
163
|
-
return self[:directory].include?("#{self[:dev_root]}/dep/")
|
164
|
-
end
|
165
|
-
|
166
|
-
def wrk?
|
167
|
-
return self[:directory].include?("#{self[:dev_root]}/wrk/")
|
168
|
-
end
|
169
|
-
|
170
|
-
end
|
171
|
-
end # module Dev
|
172
|
-
|
173
|
-
puts_debug "creating DEV instance"
|
174
|
-
DEV=Dev::Project.new#(nil,true)
|
175
|
-
DEV[:start_time]=Time.now
|