dev_tasks 0.0.114 → 0.0.115

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.
@@ -8,6 +8,7 @@ require_relative './push.rb'
8
8
  require_relative './setup.rb'
9
9
  require_relative './upgrade.rb'
10
10
  require_relative './timer.rb'
11
+ require_relative './verify.rb'
11
12
 
12
13
  class Commands < Hash
13
14
  attr_accessor :build
@@ -20,13 +21,16 @@ class Commands < Hash
20
21
  self[:test] = Test.new
21
22
  self[:add] = Add.new
22
23
  self[:commit] = Commit.new
23
- self[:publish] = Publish.new
24
24
  self[:push] = Push.new
25
+ self[:verify] = Verify.new
26
+ self[:publish] = Publish.new
25
27
  end
26
28
 
27
29
  def update
28
30
  self[:upgrade].update
29
31
  self[:setup].update
32
+ self[:verify].update
33
+ self[:publish].update
30
34
  end
31
35
 
32
36
  def execute_command command
@@ -22,15 +22,14 @@ class DevTasks < Hash
22
22
 
23
23
  def initialize
24
24
  @timer = Timer.new
25
- #hash = JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
26
- #self[:dev_tasks_gem]=JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
27
25
  self[:name]=pwd.split('/').last#Rake.application.original_dir.split('/').last
28
26
  self[:svn_exports]=SvnExports.new
29
27
  self[:scm]=Environment.scm
28
+ self[:scm_origin]=Environment.scm_origin
30
29
  self[:branch]=Environment.branch
31
30
  self[:src_glob]="**/{*.{rb,feature,spec,cs,c,m,cpp,cxx,h,hpp,i,jam,csproj,vcproj,snk,vcxproj,xcodeproj,plist,xib,sln,filters,xaml,resx,settings,config},Jamfile,.semver,Gemfile,README,LICENSE}"
32
31
  self[:newest_src_file]=Dir.glob(self[:src_glob]).max_by {|f| File.mtime(f)}
33
- self[:command_order]=['pull','upgrade','setup','add','build','test','commit','publish','push']
32
+ self[:command_order]=['pull','upgrade','setup','add','build','test','commit','push','verify','publish']
34
33
  self[:relative_directory]=Environment.relative_directory
35
34
  self[:working_directory]=Environment.working_directory
36
35
  self[:context]=Environment.context
@@ -79,7 +78,6 @@ class DevTasks < Hash
79
78
  def execute_task task
80
79
  sym_task = task.to_sym
81
80
  timer=Timer.new
82
- #start_time=Time.now
83
81
  Console.announce_task_start task
84
82
  if(!self[:commands].has_key?(sym_task))
85
83
  puts "no commands discovered for task " + task
@@ -87,8 +85,6 @@ class DevTasks < Hash
87
85
  self[:commands][sym_task].each {|c| self[:commands].execute_command(c) }
88
86
  end
89
87
  elapsed = timer.elapsed
90
- #end_time=Time.now
91
- #elapsed=end_time-start_time
92
88
  if elapsed > 30
93
89
  elapsed_str="[" + "%.0f" %(elapsed) + "s]"
94
90
  Console.announce_task_end task, elapsed_str
@@ -110,16 +106,6 @@ class DevTasks < Hash
110
106
  dev_task_defaults << key
111
107
  end
112
108
  end
113
-
114
- #if(!Rake::Task.task_defined?('dev_tasks_default'))
115
- # tasklist=""
116
- # dev_task_defaults.each{|t|
117
- # tasklist = tasklist + "," if tasklist.length > 0
118
- # tasklist = tasklist + ":" + t.to_s
119
- # }
120
- # ruby="desc 'dev_tasks_default task [#{tasklist}]';task :dev_tasks_default => [#{tasklist}] do;puts '[:dev_task_default] completed in ' + DEV_TASKS.timer.elapsed_str;end"
121
- # eval(ruby)
122
- #end
123
109
  end
124
110
 
125
111
 
@@ -10,6 +10,29 @@ class Environment < Hash
10
10
  "none"
11
11
  end
12
12
 
13
+ def self.scm_origin
14
+ if(Dir.exists?(".git"))
15
+ `git remote show origin`.scan(/Fetch URL: ([\w:\/.-]+)/).each{|m|
16
+ return m.first.to_s
17
+ }
18
+ end
19
+ if(Dir.exists?(".svn"))
20
+ `svn info`.scan(/URL: ([\w:\/.-]+)/).each{|m|
21
+ return m.first.to_s
22
+ }
23
+ end
24
+ ""
25
+ end
26
+
27
+ def self.svn_latest_revision
28
+ if(Dir.exists?(".svn"))
29
+ `svn info`.scan(/Last Changed Rev: ([\d]+)/).each{|m|
30
+ return m.first.to_s
31
+ }
32
+ end
33
+ ""
34
+ end
35
+
13
36
  def self.dev_root
14
37
  ["DEV_HOME","DEV_ROOT","USERPROFILE","HOME"].each {|v|
15
38
  return ENV[v].gsub('\\','/') unless ENV[v].nil?
@@ -1,7 +1,6 @@
1
1
  require_relative('./environment.rb')
2
2
  require_relative('./artifacts.rb')
3
3
 
4
-
5
4
  class Publish < Array
6
5
 
7
6
  def initialize
@@ -17,6 +16,30 @@ class Publish < Array
17
16
  end
18
17
  end
19
18
 
19
+ def update
20
+ if(defined?(DEV_TASKS))
21
+ if(DEV_TASKS).has_key?(:publish_path)
22
+ if(DEV_TASKS[:publish_path].contains?('svn://'))
23
+ lastestRev=Environment.svn_latest_revision
24
+ svn_publish_uri="#{DEV_TASKS[:publish_path]}/#{DEV_TASKS[:relative_path]}@latestRev"
25
+ local_dir="#{Environment.dev_root}/tmp/#{DEV_TASKS[:relative_path]}@latestRev"
26
+ FileUtils.mkdir_p(File.dirname(local_dir)) if(!File.exists(File.dirname(local_dir)))
27
+ dep_dir="#{Environment.dev_root}/dep/#{DEV_TASKS[:relative_directory]}@#{latestRev}@"
28
+ if(!`svn info #{svn_publish_uri}`.contains?('URL:'))
29
+ add "svn mkdir #{svn_publish_uri} --parents"
30
+ add "svn checkout #{svn_publish_uri} #{local_dir}@"
31
+ DEV_TASKS[:artifacts].each{|a|
32
+ f="#{Environment.dev_root}/tmp/#{a}"
33
+ add "<%File.cp('#{dep_dir}/#{a}','#{local_dir}/#{a}'%>"
34
+ add "svn add #{local_dir}/#{a} --parents"
35
+ }
36
+ add "svn commit #{local_dir} -m\"publish\""
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
20
43
  def add command
21
44
  self << command if(!include?(command))
22
45
  end
@@ -1 +1 @@
1
- {"name":"dev_tasks","version":"0.0.114"}
1
+ {"name":"dev_tasks","version":"0.0.115"}
@@ -0,0 +1,26 @@
1
+ require_relative('./environment.rb')
2
+
3
+ class Verify < Array
4
+
5
+ def initialize
6
+ update
7
+ end
8
+
9
+ def update
10
+ if(defined?(DEV_TASKS))
11
+ if(Environment.scm=='svn')
12
+ lastestRev=Environment.svn_latest_revision
13
+ uri=DEV_TASKS[:scm_origin]+"@"+latestRev
14
+ dep_dir="#{Environment.dev_root}/dep/#{DEV_TASKS[:relative_directory]}@#{latestRev}@"
15
+ if(!File.exists?(dep_dir))
16
+ add "svn export #{uri} #{dep_dir}"
17
+ add "<%Environment.rake('#{dep_dir}','default',true)%>"
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ def add command
24
+ self << command if(!include?(command))
25
+ end
26
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dev_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.114
4
+ version: 0.0.115
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -118,6 +118,7 @@ files:
118
118
  - lib/text.rb
119
119
  - lib/timer.rb
120
120
  - lib/upgrade.rb
121
+ - lib/verify.rb
121
122
  - lib/spec.json
122
123
  - spec/dependencies_spec.rb
123
124
  - spec/dev_tasks_spec.rb