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/Array.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
class Array
|
2
|
-
# remove all auto generated entries
|
3
|
-
def strip_auto_entries
|
4
|
-
keep=Array.new
|
5
|
-
self.each { |e|
|
6
|
-
if(!e.nil?)
|
7
|
-
h=nil
|
8
|
-
h=e if e.kind_of?(Hash)
|
9
|
-
h=Dev::Environment.s_to_hash(e)
|
10
|
-
keep << e if(!h.nil? && (!h.has_key?(:auto) || !h[:auto]))
|
11
|
-
keep << e if e.kind_of?(String) && !e.include?('{')
|
12
|
-
end
|
13
|
-
}
|
14
|
-
self.clear
|
15
|
-
keep.each{|e| self << e}
|
16
|
-
end
|
17
|
-
end
|
data/lib/dev/BoostBuild.rb
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class BoostBuild
|
3
|
-
|
4
|
-
@@default_toolset=nil
|
5
|
-
def self.setDefaultToolset toolset
|
6
|
-
@@default_toolset=toolset
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.defaultToolset
|
10
|
-
if(defined?(BOOSTBUILD_DEFAULT_TOOLSET))
|
11
|
-
puts_debug "BOOSTBUILD_DEFAULT_TOOLSET=#{BOOSTBUILD_DEFAULT_TOOLSET}"
|
12
|
-
return BOOSTBUILD_DEFAULT_TOOLSET
|
13
|
-
end
|
14
|
-
return @@default_toolset if !@@default_toolset.nil?
|
15
|
-
begin
|
16
|
-
text=''
|
17
|
-
Dir.chdir(DEV_ROOT) { |dir|
|
18
|
-
text=`b2 --debug-configuration`
|
19
|
-
}
|
20
|
-
toolset=''
|
21
|
-
text.scan(/<toolset>([\.\w-]+)/).each{ | var_match |
|
22
|
-
toolset=var_match[0].to_s
|
23
|
-
}
|
24
|
-
return toolset
|
25
|
-
rescue
|
26
|
-
return nil
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def self.getLibraryProperties(filename)
|
31
|
-
#words=filename.split('-')
|
32
|
-
#flags=words[2] if words.length == 4
|
33
|
-
#flags = flags + "-" + words[3] if words.length == 5
|
34
|
-
#result="<toolset>" + getToolset(words[1]) if words.length==4
|
35
|
-
link="static"
|
36
|
-
link="shared" if filename.index("lib") != 0 && !filename.include?(".a")
|
37
|
-
link="shared" if filename.include?(".so") || filename.include?(".dylib")
|
38
|
-
result = " <link>" + link + " "
|
39
|
-
variant = "release"
|
40
|
-
variant = "debug" if filename.include?("d.") || filename.include?("-gd-")
|
41
|
-
#result = result + " <variant>release " if !flags.include?("d")
|
42
|
-
#result = result + " <variant>debug " if flags.include?("d")
|
43
|
-
result = result + " <variant>#{variant} "
|
44
|
-
threading="single"
|
45
|
-
threading="multi" if filename.include?("-mt")
|
46
|
-
#result = result + " <threading>multi " if flags.include?("mt")
|
47
|
-
#result = result + " <threading>single " if !flags.include?("mt")
|
48
|
-
result = result + " <threading>#{threading} "
|
49
|
-
#result = result + " <runtime-link>static " if flags.include?("s")
|
50
|
-
result = result + " <runtime-debugging>on " if filename.include?('-gd') #if flags.include?("g")
|
51
|
-
result = result + ";"
|
52
|
-
end
|
53
|
-
|
54
|
-
def self.buildJamfile(directory)
|
55
|
-
jamfilename=directory+"/Jamfile"
|
56
|
-
if(File.exists?(jamfilename))
|
57
|
-
puts "Jamfile already exists."
|
58
|
-
return
|
59
|
-
end
|
60
|
-
if(File.exists?(directory))
|
61
|
-
Dir.chdir(directory) do
|
62
|
-
File.open(jamfilename,'w') { |jamfile|
|
63
|
-
Dir.glob("*boost_*").each {|f|
|
64
|
-
jamfile.puts getJamfileLine(f)
|
65
|
-
|
66
|
-
# add extra <link>shared entry for windows
|
67
|
-
line = getJamfileLine(f)
|
68
|
-
if(line.include?("<link>static") && line.include?("-vc") && line.include?(".lib"))
|
69
|
-
line = line.gsub("<link>static","<link>shared")
|
70
|
-
jamfile.puts line
|
71
|
-
end
|
72
|
-
}
|
73
|
-
}
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
def self.getJamfileLine(filename)
|
79
|
-
words=filename.split('-')
|
80
|
-
library = words[0]
|
81
|
-
library = library[3,library.length-3] if library.index("lib") == 0
|
82
|
-
return "lib " + library + " : : <file>./" + filename + " " + getLibraryProperties(filename)
|
83
|
-
end
|
84
|
-
|
85
|
-
def self.getToolset(name)
|
86
|
-
toolset = "msvc"
|
87
|
-
toolset = "darwin-4.2.1" if name=='xgcc42'
|
88
|
-
toolset = "msvc-9.0" if name=='vc90'
|
89
|
-
toolset = "msvc-10.0" if name=='vc100'
|
90
|
-
toolset = "msvc-11.0" if name=='vc110'
|
91
|
-
return toolset
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
data/lib/dev/Commands.rb
DELETED
@@ -1,185 +0,0 @@
|
|
1
|
-
if(RUBY_VERSION=="1.8.7")
|
2
|
-
commandArray=["Compile","Replace","Setup","Test","Commit","Info","Update","Build"]
|
3
|
-
else
|
4
|
-
commandArray=["Compile","Replace","Setup","Test","Commit","Info","Update","Pull","DeepPull","Build"]
|
5
|
-
end
|
6
|
-
commandArray.each { |f|
|
7
|
-
if(RUBY_VERSION=="1.8.7")
|
8
|
-
require("#{DEV_FILEPATH}/dev/cmd/#{f}.rb")
|
9
|
-
else
|
10
|
-
require_relative("cmd/#{f}.rb")
|
11
|
-
end
|
12
|
-
}
|
13
|
-
|
14
|
-
module Dev
|
15
|
-
class Commands < Hash
|
16
|
-
|
17
|
-
def initialize
|
18
|
-
self[:setup]=Dev::Cmd::Setup.new
|
19
|
-
self[:replace]=Dev::Cmd::Replace.new
|
20
|
-
self[:compile]=Dev::Cmd::Compile.new
|
21
|
-
self[:test]=Dev::Cmd::Test.new
|
22
|
-
self[:commit]=Dev::Cmd::Commit.new
|
23
|
-
self[:update]=Dev::Cmd::Update.new
|
24
|
-
if(RUBY_VERSION != "1.8.7")
|
25
|
-
self[:pull]=Dev::Cmd::Pull.new
|
26
|
-
self[:deep_pull]=Dev::Cmd::DeepPull.new
|
27
|
-
end
|
28
|
-
refresh
|
29
|
-
end
|
30
|
-
|
31
|
-
def refresh
|
32
|
-
puts_debug "Dev::Command.refresh"
|
33
|
-
start_time=Time.now
|
34
|
-
self[:setup].refresh(DEV[:dep]) if self[:setup].respond_to?("refresh")
|
35
|
-
self[:replace].refresh(DEV[:dep]) if self[:replace].respond_to?("refresh")
|
36
|
-
self[:compile].refresh if self[:compile].respond_to?("refresh")
|
37
|
-
self[:test].refresh if self[:test].respond_to?("refresh")
|
38
|
-
self[:commit].refresh if self[:commit].respond_to?("refresh")
|
39
|
-
self[:update].refresh if self[:update].respond_to?("refresh")
|
40
|
-
if(RUBY_VERSION != "1.8.7")
|
41
|
-
self[:pull].refresh if self[:pull].respond_to?("refresh")
|
42
|
-
self[:deep_pull].refresh if self[:deep_pull].respond_to?("refresh")
|
43
|
-
end
|
44
|
-
puts_debug "Commands refresh elapsed time " + (Time.now-start_time).to_s
|
45
|
-
end
|
46
|
-
|
47
|
-
def info; Dev::Cmd::Info.execute; end
|
48
|
-
def setup; execute_method "setup"; end
|
49
|
-
def compile; execute_method "compile"; end
|
50
|
-
def test; execute_method "test"; end
|
51
|
-
def push; Dev::Cmd::Push.execute; end
|
52
|
-
def pull; Dev::Cmd::Pull.execute; end
|
53
|
-
def deep_pull; Dev::Cmd::DeepPull.execute; end
|
54
|
-
def update;execute_method("update");end
|
55
|
-
def replace
|
56
|
-
self[:replace].execute if self[:replace].respond_to?("execute")
|
57
|
-
end
|
58
|
-
|
59
|
-
def execute_method(name)
|
60
|
-
string_name=name.to_s
|
61
|
-
puts_debug "method_missing name=" + string_name
|
62
|
-
|
63
|
-
puts " no directives defined for #{string_name}" if self.get_value(string_name).nil? && string_name=="pull"
|
64
|
-
return if(self.get_value(string_name).nil?)
|
65
|
-
puts " no directives defined for #{string_name}" if self.get_value(string_name).length < 1
|
66
|
-
return if self.get_value(string_name).length < 1
|
67
|
-
|
68
|
-
value=self.get_value(string_name)
|
69
|
-
if value.kind_of?(Hash)
|
70
|
-
value.each { |name,value| Dev::Commands.execute_cmd(value); sleep(0.5) }
|
71
|
-
else
|
72
|
-
value.each { |c| Dev::Commands.execute_cmd(c); sleep(0.5) }
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
def execute(c)
|
77
|
-
Dev::Commands::execute_cmd(c)
|
78
|
-
end
|
79
|
-
def self.execute_cmd(c)
|
80
|
-
# expand the command here....
|
81
|
-
command=Dev::Environment.expand_command(c)
|
82
|
-
puts_debug "command: " + command.to_s + " (in Project.execute_cmd)"
|
83
|
-
if c.include?('<%') && c.include?('%>')
|
84
|
-
#puts "Command: " + c
|
85
|
-
eval(c.gsub("<%","").gsub("%>",""))
|
86
|
-
else
|
87
|
-
# is the command a hash?
|
88
|
-
hash=c if c.kind_of?(Hash)
|
89
|
-
# can the command be converted to a hash?
|
90
|
-
hash=Dev::Environment.s_to_hash(command) if hash.nil?
|
91
|
-
call=nil
|
92
|
-
if(hash.nil?)
|
93
|
-
call=Dev::SystemCall.new(command)
|
94
|
-
else
|
95
|
-
call=Dev::SystemCall.new(hash)
|
96
|
-
end
|
97
|
-
call.puts_summary
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
def add
|
102
|
-
unless DEV[:src_glob].nil?
|
103
|
-
scm = Dev::Scm.new
|
104
|
-
return if scm.scm_type == "none"
|
105
|
-
if DEV[:src_glob].kind_of?(Hash)
|
106
|
-
DEV[:src_glob].each do |name,value|
|
107
|
-
puts " adding files " + value.to_s
|
108
|
-
scm.add_file_glob(value)
|
109
|
-
end
|
110
|
-
else
|
111
|
-
puts " adding files " + DEV[:src_glob].to_s
|
112
|
-
scm.add_file_glob(DEV[:src_glob])
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
def commit
|
118
|
-
scm = Dev::Scm.new
|
119
|
-
return if scm.scm_type == "none"
|
120
|
-
puts " no differences detected" unless has_diff
|
121
|
-
execute_method("commit") if has_diff
|
122
|
-
#if File.exists?(".svn")
|
123
|
-
if Scm.get_default_scm_type == "svn"
|
124
|
-
call=Dev::SystemCall.new('svn update')
|
125
|
-
call=Dev::SystemCall.new('svn info')
|
126
|
-
url = call.output.match(/URL: ([\d\w\.\:\/-]+)/)[1]
|
127
|
-
rev = call.output.match(/Last Changed Rev: ([\d]+)/)[1]
|
128
|
-
puts " #{url}@#{rev}"
|
129
|
-
end
|
130
|
-
FileUtils.rm "commit.message" if File.exists?("commit.message")
|
131
|
-
end
|
132
|
-
|
133
|
-
def check
|
134
|
-
puts " default.taskstamp." + DEV.context + " exists." if File.exists?("default.taskstamp."+ DEV.context)
|
135
|
-
puts " default.taskstamp." + DEV.context + " does not exist" unless File.exists?("default.taskstamp." +DEV.context)
|
136
|
-
|
137
|
-
begin
|
138
|
-
hasdiff = has_diff
|
139
|
-
rescue
|
140
|
-
puts "has_diff threw an exception."
|
141
|
-
end
|
142
|
-
|
143
|
-
puts " no differences detected." unless hasdiff
|
144
|
-
puts " detected differences." if hasdiff
|
145
|
-
|
146
|
-
if File.exists?("default.taskstamp."+DEV.context) && !hasdiff
|
147
|
-
#puts " nothing to do"
|
148
|
-
update
|
149
|
-
exit
|
150
|
-
end
|
151
|
-
|
152
|
-
#if !has_diff and File.exists?("default.taskstamp."+context)
|
153
|
-
# puts " no differences detected."
|
154
|
-
# puts " default.taskstamp." + context + " exists."
|
155
|
-
# exit
|
156
|
-
#end
|
157
|
-
#puts " detected differences" if has_diff
|
158
|
-
#puts " default.taskstamp." + context + " does not exist" unless File.exists?("default.taskstamp." + context)
|
159
|
-
end
|
160
|
-
|
161
|
-
def has_diff
|
162
|
-
call=nil
|
163
|
-
|
164
|
-
if DEV[:scm_type] == "git"
|
165
|
-
call=Dev::SystemCall.new('git status')
|
166
|
-
return true if call.output.include?("new file:")
|
167
|
-
return true if call.output.include?("deleted:")
|
168
|
-
return true if call.output.include?("modified:")
|
169
|
-
return false
|
170
|
-
end
|
171
|
-
|
172
|
-
#call=Dev::SystemCall.new('git diff --name-only') if File.exists?(".git")
|
173
|
-
call=Dev::SystemCall.new('svn diff') if Scm.get_default_scm_type == "svn" #if File.exists?(".svn")
|
174
|
-
|
175
|
-
unless call.nil? || call.output.length==0
|
176
|
-
puts_debug call.output
|
177
|
-
return true # differences detected
|
178
|
-
else
|
179
|
-
return false # no differences
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end # class Tasks
|
183
|
-
end # module Dev
|
184
|
-
|
185
|
-
CMD=Dev::Commands.new()
|
data/lib/dev/Database.rb
DELETED
@@ -1,134 +0,0 @@
|
|
1
|
-
if(RUBY_VERSION != "1.8.7")
|
2
|
-
require 'sqlite3'
|
3
|
-
|
4
|
-
module Dev
|
5
|
-
#
|
6
|
-
# Branches table
|
7
|
-
# Name text e.g. google/devgem/trunk
|
8
|
-
# Uri text e.g. https://devgem.googlecode.com/svn/trunk
|
9
|
-
#
|
10
|
-
# create table Branches(Name text,Uri text,UNIQUE(Name));
|
11
|
-
#
|
12
|
-
class Database
|
13
|
-
attr_accessor :db
|
14
|
-
|
15
|
-
def self.filename
|
16
|
-
return Dev::Environment.dev_root + "/dev.db"
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.get_table_names(filename)
|
20
|
-
names=Array.new
|
21
|
-
db = SQLite3::Database.new filename
|
22
|
-
db.execute("select name from sqlite_master where type='table' ORDER BY name") do |row|
|
23
|
-
names << row[0]
|
24
|
-
end
|
25
|
-
return names
|
26
|
-
end
|
27
|
-
|
28
|
-
def initialize
|
29
|
-
filename=Dev::Database.filename
|
30
|
-
table_names=Dev::Database.get_table_names(filename)
|
31
|
-
@db = SQLite3::Database.new filename
|
32
|
-
@db.execute("create table Branches(Name text,Uri text,UNIQUE(Name));") if !table_names.include? "Branches"
|
33
|
-
|
34
|
-
columns=""
|
35
|
-
[:uri,:revision,:dir,:user,:machine,:ruby_version,:ruby_platform,:cmd,:status,:start_time,:end_time,:elapsed,:timeout,:timed_out,:output,:error].each { |s|
|
36
|
-
columns="#{columns}," if columns.length > 0
|
37
|
-
columns="#{columns}#{s.to_s} text"
|
38
|
-
}
|
39
|
-
@db.execute("create table Results(#{columns});") if ! table_names.include? "Results"
|
40
|
-
@db.close
|
41
|
-
@db=nil
|
42
|
-
end
|
43
|
-
|
44
|
-
def set_branch_uri(name,uri)
|
45
|
-
@db = SQLite3::Database.new Dev::Database.filename
|
46
|
-
@db.execute("insert or replace into Branches (Name,Uri) VALUES ('#{name}','#{uri}');")
|
47
|
-
@db.close
|
48
|
-
@db=nil
|
49
|
-
end
|
50
|
-
|
51
|
-
def has_result(h)
|
52
|
-
results=get_results({:machine=>h[:machine],:user=>h[:user],:start_time=>h[:start_time]})
|
53
|
-
return true if results.length > 0
|
54
|
-
return false
|
55
|
-
end
|
56
|
-
|
57
|
-
def add_result(h)
|
58
|
-
columns=""
|
59
|
-
values=""
|
60
|
-
[:uri,:revision,:dir,:user,:machine,:ruby_version,:ruby_platform,:cmd,:status,:start_time,:end_time,:elapsed,:timeout,:timed_out,:output,:error].each { |s|
|
61
|
-
sval=""
|
62
|
-
sval=h[s].to_s if h.has_key?(s)
|
63
|
-
sval.gsub("'","''") # need to escape single quotes for sqlite
|
64
|
-
columns="#{columns}," if columns.length > 0
|
65
|
-
values="#{values}," if values.length > 0
|
66
|
-
columns="#{columns}#{s.to_s}"
|
67
|
-
values="#{values}'#{sval}'"
|
68
|
-
}
|
69
|
-
#puts "insert or replace into Results (#{columns}) VALUES (#{values});"
|
70
|
-
@db = SQLite3::Database.new Dev::Database.filename
|
71
|
-
@db.execute("insert or replace into Results (#{columns}) VALUES (#{values});")
|
72
|
-
@db.close
|
73
|
-
@db=nil
|
74
|
-
end
|
75
|
-
|
76
|
-
def get_results(where_hash)
|
77
|
-
array=Array.new
|
78
|
-
where=""
|
79
|
-
where_hash.each{ |k,v|
|
80
|
-
sval=v.to_s
|
81
|
-
sval.gsub("'","''") # need to escape single quotes for sqlite
|
82
|
-
where="#{where} AND " if where.length > 0
|
83
|
-
where="#{where}#{k.to_s}='#{sval}'"
|
84
|
-
}
|
85
|
-
|
86
|
-
columns=""
|
87
|
-
[:uri,:revision,:dir,:user,:machine,:ruby_version,:ruby_platform,:cmd,:status,:start_time,:end_time,:elapsed,:timeout,:timed_out,:output,:error].each { |s|
|
88
|
-
columns="#{columns}," if columns.length > 0
|
89
|
-
columns="#{columns}#{s.to_s}"
|
90
|
-
}
|
91
|
-
|
92
|
-
@db = SQLite3::Database.new Dev::Database.filename
|
93
|
-
@db.execute("select #{columns} from Results where #{where};") do |row|
|
94
|
-
h=Hash.new
|
95
|
-
index = 0
|
96
|
-
[:uri,:revision,:dir,:user,:machine,:ruby_version,:ruby_platform,:cmd,:status,:start_time,:end_time,:elapsed,:timeout,:timed_out,:output,:error].each { |s|
|
97
|
-
#puts "row[#{index}].to_s=#{row[index].to_s}"
|
98
|
-
h[s]=row[index].to_s
|
99
|
-
index=index+1
|
100
|
-
}
|
101
|
-
array << h if !h.empty?
|
102
|
-
end
|
103
|
-
@db.close
|
104
|
-
@db=nil
|
105
|
-
|
106
|
-
return array
|
107
|
-
end
|
108
|
-
|
109
|
-
def get_branch_uri(name)
|
110
|
-
uri=""
|
111
|
-
@db = SQLite3::Database.new Dev::Database.filename
|
112
|
-
@db.execute("select Uri from Branches where Name='#{name}';") do |row|
|
113
|
-
uri=eval(row[0].to_s)[0]
|
114
|
-
end
|
115
|
-
@db.close
|
116
|
-
@db=nil
|
117
|
-
return uri
|
118
|
-
end
|
119
|
-
|
120
|
-
def find_branches(pattern)
|
121
|
-
names=Array.new
|
122
|
-
sql="select Name from Branches where Name LIKE '#{pattern}';"
|
123
|
-
sql="select Name from Branches;" if pattern.nil? || pattern.length==0
|
124
|
-
@db = SQLite3::Database.new Dev::Database.filename
|
125
|
-
@db.execute(sql) do |row|
|
126
|
-
names << row[0] if(row[0].length > 0)
|
127
|
-
end
|
128
|
-
@db.close
|
129
|
-
@db=nil
|
130
|
-
return names
|
131
|
-
end
|
132
|
-
end # class Database
|
133
|
-
end # module Dev
|
134
|
-
end
|
data/lib/dev/Dep.rb
DELETED
@@ -1,117 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
|
3
|
-
#PROJECT = Dev::Project.new( {
|
4
|
-
# name: 'Musco.Cs.Framework',
|
5
|
-
# type: 'C#',
|
6
|
-
# dep: { nunit:{uri: 'svn://denver-svn/ThirdParty/export/NUnit/2.5.10.11092',
|
7
|
-
# dir: 'ThirdParty/NUnit/2.5.10.11092'},
|
8
|
-
# specflow:{uri: 'svn://denver-svn/ThirdParty/export/SpecFlow/1.8.1',
|
9
|
-
# dir: 'ThirdParty/SpecFlow/1.8.1'},
|
10
|
-
# interface:{uri: 'svn://denver-svn/Musco.Cs/Interface/trunk@#{INTERFACE_REV}',
|
11
|
-
# rake: 'default', cache: 'true' }
|
12
|
-
# } ,
|
13
|
-
# replace: { interface: { glob: '*.csproj',
|
14
|
-
# search: /Musco.Cs\\Interface\\trunk@[\d]+/,
|
15
|
-
# replace: "Musco.Cs\\Interface\\trunk@#{INTERFACE_REV}" } }
|
16
|
-
#} )
|
17
|
-
|
18
|
-
# uri:
|
19
|
-
# dir:
|
20
|
-
# rake:
|
21
|
-
# cache:
|
22
|
-
class Dep < Hash
|
23
|
-
|
24
|
-
# constructor that accepts a hash
|
25
|
-
def initialize(hash)
|
26
|
-
hash.each { |name,value| self[name]=value }
|
27
|
-
end
|
28
|
-
|
29
|
-
def get_rel_dir
|
30
|
-
return Dev::Environment.expand_string_variables(self[:dir]) unless self[:dir].nil?
|
31
|
-
uri=Dev::Environment.expand_string_variables(self[:uri])
|
32
|
-
uri_words=uri.split('/')
|
33
|
-
while(uri_words.length > 3) do
|
34
|
-
uri_words.shift
|
35
|
-
end
|
36
|
-
return uri_words.join('/')
|
37
|
-
end
|
38
|
-
|
39
|
-
def get_dep_dir
|
40
|
-
return Dev::Environment.dev_root + "/dep/" + get_rel_dir
|
41
|
-
end
|
42
|
-
|
43
|
-
def get_wrk_dir
|
44
|
-
return Dev::Environment.dev_root + "/wrk/" + get_rel_dir unless get_rel_dir.include?("@")
|
45
|
-
return Dev::Environment.dev_root + "/wrk/" + get_rel_dir.split("@")[0]
|
46
|
-
end
|
47
|
-
|
48
|
-
def get_export_command(local_dir)
|
49
|
-
unless self[:uri].nil?
|
50
|
-
uri=Dev::Environment.expand_string_variables(self.get_value("uri"))
|
51
|
-
if(uri.include?('github.com'))
|
52
|
-
return "<%Dev::Scm::export('#{uri}','#{local_dir}','git') unless File.exists?('#{local_dir}')%>"
|
53
|
-
end
|
54
|
-
return "<%Dev::Scm::export(\"#{uri}\",\"#{local_dir}\",'svn') unless File.exists?(\"#{local_dir}\")%>"
|
55
|
-
end # unless
|
56
|
-
end
|
57
|
-
|
58
|
-
def get_rake_command
|
59
|
-
end
|
60
|
-
|
61
|
-
def self.clean_dep(rel_dir,age_in_days)
|
62
|
-
Dir.glob("#{Dev::Environment.dev_root}/dep/#{rel_dir}/*").each { |f|
|
63
|
-
if(File.directory?(f))
|
64
|
-
elapsed = Time.now - File.mtime(f)
|
65
|
-
if(elapsed > 60*60*24*age_in_days)
|
66
|
-
puts " removing directory #{f}"
|
67
|
-
FileUtils.rm_rf(f)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
}
|
71
|
-
end
|
72
|
-
|
73
|
-
def self.clobber_dep(rel_dir)
|
74
|
-
Dir.glob("#{Dev::Environment.dev_root}/dep/#{rel_dir}/*").each { |f|
|
75
|
-
if(File.directory?(f))
|
76
|
-
puts " removing directory #{f}"
|
77
|
-
FileUtils.rm_rf(f)
|
78
|
-
end
|
79
|
-
}
|
80
|
-
end
|
81
|
-
|
82
|
-
def setup_commands
|
83
|
-
array = Array.new
|
84
|
-
array << get_export_command(get_dep_dir)
|
85
|
-
array << "<%puts ' #{get_dep_dir} exists.' if File.exist?('#{get_dep_dir}')%>"
|
86
|
-
|
87
|
-
rake=true
|
88
|
-
rake=false if !self.get_value("no_rake").nil? && File.exists?(self.get_value("no_rake"))
|
89
|
-
if(rake)
|
90
|
-
unless self[:rake].nil?
|
91
|
-
array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_dep_dir}', cache:'true', capture_output: true, capture_error: true, auto: true}" unless self.get_value("cache").nil?
|
92
|
-
array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_dep_dir}', capture_output: true, capture_error: true , auto: true}" if self.get_value("cache").nil?
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
return array
|
97
|
-
end
|
98
|
-
|
99
|
-
def pull_commands
|
100
|
-
array = Array.new
|
101
|
-
if(File.exists?(get_wrk_dir))
|
102
|
-
unless self[:rake].nil?
|
103
|
-
array << "{cmd: 'rake pull', dir: '#{get_wrk_dir}'}"
|
104
|
-
#array << "{cmd: 'rake pull', dir: '#{get_wrk_dir}', capture_output: false}"
|
105
|
-
#array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_wrk_dir}'}"
|
106
|
-
rakefile="#{get_wrk_dir}/rakefile.rb"
|
107
|
-
array << "<%Dev::Svn::update_revision_variables('#{rakefile}')%>"
|
108
|
-
array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_wrk_dir}'}"
|
109
|
-
#array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_wrk_dir}', capture_output: false}"
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
return array
|
114
|
-
end
|
115
|
-
|
116
|
-
end # class Dep
|
117
|
-
end # module Dev
|