dev 1.0.16 → 1.0.17

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.
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