dev 1.0.16 → 1.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/lib/dev/Project.rb +5 -7
  2. data/lib/dev/Scm.rb +4 -0
  3. data/lib/dev/Svn.rb +51 -0
  4. metadata +16 -15
data/lib/dev/Project.rb CHANGED
@@ -174,13 +174,11 @@ class Project < Hash
174
174
  end # unless dep_hash.nil?
175
175
  end
176
176
 
177
- #def push
178
- # loop over all 'rakeable' dependencies, if there is a local working copy, rake them
179
-
180
- # upgrade dependencies
181
-
182
- # rake this project
183
- #end
177
+ def pull
178
+ array_method("pull")
179
+ puts " updating revision variables"
180
+ Dev::Svn::update_revision_variables("rakefile.rb")
181
+ end
184
182
 
185
183
  def info
186
184
  [ "file_count","loc" ].each do |k|
data/lib/dev/Scm.rb CHANGED
@@ -24,5 +24,9 @@ class Scm
24
24
  File.rename(local_tmp,local) if File.exist?(local_tmp)
25
25
  end
26
26
  end
27
+
28
+ def self.update(local)
29
+ end
30
+
27
31
  end # class Scm
28
32
  end # module Dev
data/lib/dev/Svn.rb ADDED
@@ -0,0 +1,51 @@
1
+ module Dev
2
+ class Svn
3
+
4
+ def self.last_changed_revision(url)
5
+ call=Dev::SystemCall.new("svn info #{url}")
6
+ if call.status == 0
7
+ call.output.each_line { |line|
8
+ words=line.split(':')
9
+ return words[1].strip if(words.length==2 && words[0] == "Last Changed Rev")
10
+ }
11
+ end
12
+ return "0"
13
+ end
14
+
15
+ def self.update_revision_variable(filename,variable_name,url)
16
+ if File.exist?(filename)
17
+ revision=Dev::Svn::last_changed_revision(url)
18
+ replace="#{variable_name}='#{revision}'"
19
+ text=File.read(filename)
20
+ unless text.include?(replace)
21
+ unless revision == "0"
22
+ puts " updating " + filename + " with " + replace
23
+ search=Regexp.new("#{variable_name}='[\\d]+'")
24
+ Dev::Environment.replace_text_in_file(filename,search,"#{variable_name}='#{revision}'")
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ def self.update_revision_variables(filename)
31
+ if File.exist?(filename)
32
+ text=File.read(filename)
33
+ # extract potential variable names of form
34
+ text.scan(/([A-Z_]+)='[\d]+'/).each{ | var_match |
35
+ #puts "found var_match: " + var_match[0].to_s
36
+ varname = var_match[0].to_s
37
+ # extract potential urls that use the variable name
38
+ # '([.\w:\/-]+)@#{INTERFACE_REV}'
39
+ uri_search=Regexp.new("'([.\\w:\\/-]+)@" + '#{' + "#{varname}" + '}' + "'")
40
+ #puts uri_search.to_s
41
+ text.scan(uri_search).each { |uri_match|
42
+ #puts "found uri_match: " + uri_match.to_s
43
+ uri=uri_match[0].to_s
44
+ update_revision_variable(filename,varname,uri)
45
+ }
46
+ }
47
+ end
48
+ end
49
+
50
+ end # class Svn
51
+ end # module Dev
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.16
4
+ version: 1.0.17
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: &22307916 !ruby/object:Gem::Requirement
16
+ requirement: &3143628 !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: *22307916
24
+ version_requirements: *3143628
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: semver
27
- requirement: &22307412 !ruby/object:Gem::Requirement
27
+ requirement: &3142968 !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: *22307412
35
+ version_requirements: *3142968
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: countloc
38
- requirement: &22306968 !ruby/object:Gem::Requirement
38
+ requirement: &3142476 !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: *22306968
46
+ version_requirements: *3142476
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rainbow
49
- requirement: &22306284 !ruby/object:Gem::Requirement
49
+ requirement: &3141780 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *22306284
57
+ version_requirements: *3141780
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rspec
60
- requirement: &22305648 !ruby/object:Gem::Requirement
60
+ requirement: &3140208 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *22305648
68
+ version_requirements: *3140208
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: cucumber
71
- requirement: &22305228 !ruby/object:Gem::Requirement
71
+ requirement: &3139200 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *22305228
79
+ version_requirements: *3139200
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: bundler
82
- requirement: &22304796 !ruby/object:Gem::Requirement
82
+ requirement: &3138528 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *22304796
90
+ version_requirements: *3138528
91
91
  description: development tasks
92
92
  email: lou.parslow@gmail.com
93
93
  executables:
@@ -102,6 +102,7 @@ files:
102
102
  - lib/dev/Hash.rb
103
103
  - lib/dev/Project.rb
104
104
  - lib/dev/Scm.rb
105
+ - lib/dev/Svn.rb
105
106
  - lib/dev/SystemCall.rb
106
107
  - lib/dev/Tasks.rb
107
108
  - lib/dev.rb