dev 1.0.9 → 1.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,10 +10,17 @@ puts_debug "read " + __FILE__.foreground(:green)
10
10
  module Dev
11
11
 
12
12
  class Environment
13
+ def self.replace_text_in_glob(glob,search,replace)
14
+ Dir.glob(glob).each{ |f| replace_text_in_file(f,search,replace) }
15
+ end
16
+
13
17
  def self.replace_text_in_file(filename,search,replace)
14
18
  text1 = File.read(filename)
15
19
  text2 = text1.gsub(search) { |str| str=replace }
16
- File.open(filename,"w") { |f| f.puts text2 } unless text1==text2
20
+ unless text1==text2
21
+ File.open(filename,"w") { |f| f.puts text2 }
22
+ puts "replaced text in #{filename}"
23
+ end
17
24
  end
18
25
 
19
26
  def self.dev_root
@@ -21,7 +28,6 @@ class Environment
21
28
  dir=ENV["HOME"] unless ENV["HOME"].nil?
22
29
  dir=ENV["USERPROFILE"].gsub('\\','/') unless ENV["USERPROFILE"].nil?
23
30
  dir=ENV["DEV_ROOT"].gsub('\\','/') unless ENV["DEV_ROOT"].nil?
24
-
25
31
  return dir
26
32
  end
27
33
 
data/lib/dev/Project.rb CHANGED
@@ -26,7 +26,7 @@ class Project < Hash
26
26
  # expand the command here....
27
27
  command=expand_command(c)
28
28
  if c.include?('<%') && c.include?('%>')
29
- puts "Command: " + c
29
+ #puts "Command: " + c
30
30
  eval(c.gsub("<%","").gsub("%>",""))
31
31
  else
32
32
  call=Dev::SystemCall.new(command)
@@ -77,6 +77,29 @@ class Project < Hash
77
77
  "?"
78
78
  end
79
79
 
80
+ def replace
81
+ hash=self[:replace]
82
+ unless hash.nil?
83
+ hash.each do |k,v|
84
+ unless v.nil?
85
+ # v[:file], v[:search], v[:replace],v[:glob]
86
+ file=v[:file]
87
+ search=v[:search]
88
+ replace=v[:replace]
89
+ glob=v[:glob]
90
+ unless search.nil? || replace.nil?
91
+ unless file.nil?
92
+ Dev::Environment.replace_text_in_file(file,search,replace)
93
+ end
94
+ unless glob.nil?
95
+ Dev::Environment.replace_text_in_glob(glob,search,replace)
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
102
+
80
103
  def features
81
104
  if self[:type]=="C#" && File.exists?("bin/x86/Release/#{self[:name]}.Features.dll")
82
105
  call=Dev::SystemCall.new(expand_project_variables("<paths,nunit> /nologo bin/x86/Release/#{self[:name]}.Features.dll"))
@@ -117,16 +140,23 @@ class Project < Hash
117
140
  value="C#" if key=="type"
118
141
 
119
142
 
120
-
143
+ value="**/*.{rb,feature,semver}" if key=="src_glob"
121
144
  value="**/*.{cs,xaml,rb,resx,settings,feature,semver}" if key=="src_glob" && self[:type]=="C#"
145
+ value="**/*.{c,cpp,h,hpp,semver}" if key=="src_glob" && (self[:type]=="C++" || self[:type]=="c++" || self[:type]=="cpp")
122
146
  value="**/*.{rb,feature,semver}" if key=="src_glob" && self[:type]=="ruby"
123
147
  value="**/*.{rb,feature,gemspec,semver}" if key=="src_glob" && self[:type]=="gem"
124
- value=Dir.glob(self[:src_glob]).length.to_s if key=="file_count"
148
+ #value=Dir.glob(self[:src_glob]).length.to_s if key=="file_count"
125
149
  value=loc_total if key=="loc"
126
150
  value="svn" if key=="scm_type" && File.exists?(".svn")
127
151
  value="git" if key=="scm_type" && File.exists?(".git")
128
152
  value="#{version.major}.#{version.minor}.#{version.patch}" if key=="version"
129
153
 
154
+ if key=="file_count"
155
+ unless Dir.glob(self[:src_glob]).nil?
156
+ value=Dir.glob(self[:src_glob]).length.to_s
157
+ end
158
+ end
159
+
130
160
  hash=Hash.new
131
161
 
132
162
  if(key=="paths")
@@ -211,8 +241,13 @@ class Project < Hash
211
241
  def update_default_values
212
242
  puts_debug "update_default_values"
213
243
 
214
- [ "type","version","dev_root","src_glob","file_count","loc","scm_type",
215
- "paths","setup","compile","test","features","commit" ].each { |k| set_default_value(k) }
244
+ self[:type]="C#" if self[:type].nil?
245
+
246
+ [ "version","dev_root","src_glob","file_count","loc","scm_type",
247
+ "paths","setup","compile","test","features","commit" ].each do |k|
248
+ puts_debug "set_default_value(#{k})"
249
+ set_default_value(k)
250
+ end
216
251
  end
217
252
  end
218
253
  end # module Dev
data/lib/dev/Tasks.rb CHANGED
@@ -44,6 +44,11 @@ task :commit do
44
44
  PROJECT.commit # we want an exception raised here if PROJECT is undefined or nil
45
45
  end
46
46
 
47
+ desc "replace text based on replace: hash entries"
48
+ task :replace do
49
+ PROJECT.replace
50
+ end
51
+
47
52
  desc "count the lines of code"
48
53
  task :loc do
49
54
  PROJECT.loc
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &24372804 !ruby/object:Gem::Requirement
16
+ requirement: &22112892 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *24372804
24
+ version_requirements: *22112892
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: semver
27
- requirement: &24372444 !ruby/object:Gem::Requirement
27
+ requirement: &22110456 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *24372444
35
+ version_requirements: *22110456
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: countloc
38
- requirement: &24371904 !ruby/object:Gem::Requirement
38
+ requirement: &22142736 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *24371904
46
+ version_requirements: *22142736
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rainbow
49
- requirement: &24371508 !ruby/object:Gem::Requirement
49
+ requirement: &22141956 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *24371508
57
+ version_requirements: *22141956
58
58
  description: development tasks
59
59
  email: lou.parslow@gmail.com
60
60
  executables: []