dev_tasks 0.0.33 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4249d898f3f655e115d83bbc99395e84dd56be6
4
- data.tar.gz: 958832d8c1463c0f4962b5d9cf001b583e0f88d3
3
+ metadata.gz: 23a98457c480a7ce7cef8540ac4f523297e9d4ba
4
+ data.tar.gz: 2d3cba361183a0bb22ac5a4126a55db863aa9b7c
5
5
  SHA512:
6
- metadata.gz: a31f8a599324fa3bf6dec518303faedacc6d9bec6ed902f89980d8bfcd57f1a639ad74a5e504ebcdf4eb7d5d86968554d38644847c7ebfded560ef459a07b9c9
7
- data.tar.gz: a3daf7ee50ce894a1bced60a40253305bf40b03115062b30378f140d987e0ee8821540e043b1fe59e2899dece8c891afc9341122289699675759e7863e05f71b
6
+ metadata.gz: 8f3c65ef3d772edc925ca44a6415de4bbdfc000b625dc25ba2a7e55741e3ee8aedb6e07a1a892938bfdc98dbacad4792e7d6b0b1f0483c683b1cc70f3113d55b
7
+ data.tar.gz: 05f68fdd7f2b52e280581ff6b90d79b51270d3368325bf4b9dcf1036ce8e1c312d728a5daf1efce498dbe88364c83af32dd5f630b3fd3913b7e8c33f7c9525ae
data/lib/artifacts.rb CHANGED
@@ -1,11 +1,12 @@
1
1
  require_relative('./dependencies.rb')
2
2
 
3
- class Artifacts < Hash
3
+ class Artifacts < Array
4
4
  def initialize
5
5
  # gem, dev_tasks-0.0.7.gem
6
6
  Dir.glob('*.gemspec') {|f|
7
7
  spec=Gem::Specification.load(f)
8
- self[spec.name]="#{spec.name}-#{spec.version.to_s}.gem"
8
+ artifact="#{spec.name}-#{spec.version.to_s}.gem"
9
+ self << artifact if(!self.include?(artifact))
9
10
  }
10
11
 
11
12
  # C# dll, bin/Net4.0/QcNet.dll
@@ -16,20 +17,13 @@ class Artifacts < Hash
16
17
  outputPath=text[/Release[.\w\W]+<OutputPath>([\w\.\\]+)</,1]
17
18
  if(!assemblyName.nil? && !outputPath.nil? && !assemblyName.include?("Test"))
18
19
  cs_dll = "#{outputPath}\\#{assemblyName}.dll".gsub("\\\\","\\").gsub('/','\\').gsub('\\','/')
19
- self[assemblyName]=cs_dll
20
+ self << cs_dll if(!self.include?(cs_dll))
20
21
 
21
22
  # add in file dependencies
22
- deps = Dependencies.get_dependencies_from_file p
23
- if(!deps.nil? && deps.has_key?(:file))
24
- deps[:file].each {|d|
25
-
26
- # d include to directory from which it was referenced, Visual Studio copies this to
27
- # the location of cs_dll
28
- cs_dll_dep=d.gsub(File.dirname(d),File.dirname(cs_dll)).gsub('\\','/')
29
- name=d.gsub('\\','/').split('/').last.gsub('.dll','')
30
- self["#{assemblyName} #{name}"] = cs_dll_dep
31
- }
32
- end
23
+ Dependencies.csharp_file_dependencies(File.read(p)).each{|dep|
24
+ cs_dll_dep=d.gsub(File.dirname(dep),File.dirname(cs_dll)).gsub('\\','/')
25
+ self << cs_dll_dep if(!self.include?(cs_dll_dep))
26
+ }
33
27
  end
34
28
  }
35
29
  end
data/lib/dependencies.rb CHANGED
@@ -1,86 +1,68 @@
1
+ # The discover method defines the following keys as appropriate:
2
+ # :ruby a string array of discovered require statements
3
+ # for example,
4
+ # given rb file containing
5
+ # require 'json'
6
+ # require 'yaml'
7
+ # the resulting dependies would be
8
+ # dep[:ruby]=['json','yaml']
9
+ #
10
+ # C# dependencies are returned as a hash, as they are seperated into
11
+ # two groups, :system and :file
12
+ #
13
+ #
1
14
  class Dependencies < Hash
2
15
 
3
16
  def initialize
4
- initialize_ruby_dependencies
5
- initialize_csharp_dependencies
17
+ discover
6
18
  end
7
19
 
8
- def initialize_ruby_dependencies
9
- ruby_deps = Array.new
20
+ def discover
21
+ ruby_deps=Array.new
22
+ cs_system_deps=Array.new
23
+ cs_file_deps=Array.new
10
24
  Dir.glob("**/*.rb").each{|f|
11
- text=File.read(f)
12
- text.scan(/require '([\w\/]+)/).each{|r|
13
- ruby_deps << r.first.to_s if !ruby_deps.include? r
14
- }
25
+ text=File.read(f)
26
+ ruby_deps.zip(Dependencies.ruby_dependencies(text)).flatten.compact
27
+ cs_system_deps.zip(Dependencies.csharp_system_dependencies(text)).flatten.compact
28
+ cs_file_deps.zip(Dependencies.csharp_file_dependencies(text)).flatten.compact
15
29
  }
16
- if ruby_deps.length > 0
17
- ruby_deps = ruby_deps.sort
18
- self["ruby"]=ruby_deps
30
+ self[:ruby]=ruby_deps.sort if(ruby_deps.length>0)
31
+ if(cs_system_deps.length > 0 || cs_file_deps.length > 0)
32
+ self["C#"]=Hash.new
33
+ self["C#"][:system]=cs_system_deps.sort if(cs_system_deps.length > 0)
34
+ self["C#"][:file]=cs_file_deps.sort if(cs_file_deps.length > 0)
19
35
  end
20
36
  end
21
37
 
22
- def initialize_csharp_dependencies
23
- cs_dep_hash=Hash.new
24
- #includes = Array.new
25
- #hints = Array.new
26
- Dir.glob("**/*.csproj").each{|f|
27
- #cs_proj_dep = Dependencies.get_dependencies_from_file f
28
- text=File.read(f)
29
- text.scan(/<Reference Include="([\w\.-]+)"/).each{|r|
30
- cs_dep_hash[r.first.to_s]=r.first.to_s if !cs_dep_hash.has_key? r.first.to_s
31
- }
32
- text.scan(/<HintPath>([\w\.\\\s-]+)</).each{|r|
33
- hint = r.first.to_s
34
- include = hint.split('\\').last
35
- cs_dep_hash.delete include.gsub(".dll","")
36
- cs_dep_hash[include]=hint
37
- }
38
+ def self.ruby_dependencies source
39
+ deps=Array.new
40
+ deps=Array.new
41
+ source.scan(/require '([\w\/]+)/).each{|m|
42
+ dep=m.first.to_s
43
+ deps << dep if(!deps.include?(dep))
38
44
  }
39
- cs_deps = Hash.new
40
- cs_dep_hash.each do |include,hint|
41
- if(include==hint)
42
- cs_deps[:system]=Array.new if !cs_deps.has_key?(:system)
43
- cs_deps[:system]<< hint
44
- else
45
- cs_deps[:file]=Array.new if !cs_deps.has_key?(:file)
46
- cs_deps[:file] << hint
47
- end
48
- end
49
- if cs_deps.length > 0
50
- cs_deps[:system]=cs_deps[:system].sort# = cs_deps.sort
51
- cs_deps[:file]=cs_deps[:file]
52
- self["C#"]=cs_deps
53
- end
45
+ deps
54
46
  end
55
47
 
56
- def self.get_dependencies_from_file filename
57
- cs_dep_hash=Hash.new
58
- text=File.read(filename)
59
- text.scan(/<Reference Include="([\w\.-]+)"/).each{|r|
60
- cs_dep_hash[r.first.to_s]=r.first.to_s if !cs_dep_hash.has_key? r.first.to_s
61
- }
62
- text.scan(/<HintPath>([\w\.\\\s-]+)</).each{|r|
63
- hint = r.first.to_s
64
- include = hint.split('\\').last
65
- cs_dep_hash.delete include.gsub(".dll","")
66
- cs_dep_hash[include]=hint
48
+ def self.csharp_system_dependencies source
49
+ deps=Array.new
50
+ deps=Array.new
51
+ source.scan(/<Reference Include="([\w\.-]+)"[\s]+\//).each{|m|
52
+ dep=m.first.to_s
53
+ deps << dep if(!deps.include?(dep))
67
54
  }
55
+ deps
56
+ end
68
57
 
69
- cs_deps = Hash.new
70
- cs_dep_hash.each do |include,hint|
71
- if(include==hint)
72
- cs_deps[:system]=Array.new if !cs_deps.has_key?(:system)
73
- cs_deps[:system]<< hint
74
- else
75
- cs_deps[:file]=Array.new if !cs_deps.has_key?(:file)
76
- cs_deps[:file] << hint
77
- end
78
- end
79
- if cs_deps.length > 0
80
- cs_deps[:system]=cs_deps[:system].sort
81
- cs_deps[:file]=cs_deps[:file]
82
- end
83
- cs_deps
58
+ def self.csharp_file_dependencies source
59
+ deps=Array.new
60
+ deps=Array.new
61
+ source.scan(/<HintPath>([\w\.\\\s-]+)</).each{|m|
62
+ dep=m.first.to_s
63
+ deps << dep if(!deps.include?(dep))
64
+ }
65
+ deps
84
66
  end
85
67
 
86
68
  def show
data/lib/dev_tasks.rb CHANGED
@@ -18,7 +18,7 @@ class DevTasks < Hash
18
18
  #hash = JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
19
19
  #self[:dev_tasks_gem]=JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
20
20
 
21
- self[:name]=Rake.application.original_dir.split('/').last
21
+ self[:name]=pwd.split('/').last#Rake.application.original_dir.split('/').last
22
22
  self[:scm]=Environment.scm
23
23
  self[:branch]=Environment.branch
24
24
  self[:relative_directory]=Environment.relative_directory
data/lib/environment.rb CHANGED
@@ -28,7 +28,6 @@ class Environment < Hash
28
28
 
29
29
  def self.context
30
30
  dir =Environment.working_directory.gsub(Environment.dev_root + '/','')
31
- puts "dir=" + dir
32
31
  return dir.split('/').first
33
32
  end
34
33
 
data/lib/publish.rb CHANGED
@@ -7,12 +7,12 @@ class Publish < Array
7
7
  def initialize
8
8
  if(Environment.scm=='git')
9
9
  artifacts=Artifacts.new
10
- artifacts.each {|k,v|
10
+ artifacts.each {|artifact|
11
11
  dest_dir = Environment.dev_root + "/dep/" + Environment.relative_directory + '/' + Environment.branch
12
- dest = dest_dir + "/" + v
12
+ dest = dest_dir + "/" + artifact
13
13
  dest_dir=File.dirname(dest)
14
14
  self.add "<%FileUtils.mkdir_p('#{dest_dir}')%>" if (!Dir.exists?(dest_dir))
15
- self.add "<%FileUtils.cp('#{v}','#{dest}')%>"
15
+ self.add "<%FileUtils.cp('#{artifact}','#{dest}')%>"
16
16
  }
17
17
  end
18
18
  end
data/lib/spec.json CHANGED
@@ -1 +1 @@
1
- {"name":"dev_tasks","version":"0.0.33"}
1
+ {"name":"dev_tasks","version":"0.0.34"}
data/lib/test.rb CHANGED
@@ -3,7 +3,7 @@ class Test < Array
3
3
  def initialize
4
4
  # rspec tests, 'rspec --pattern="**/*.spec"'
5
5
  if(Dir.glob("**/*spec.rb").length > 0)
6
- self.add 'rspec --pattern="**/*.spec"'
6
+ self.add 'rspec'
7
7
  end
8
8
  # nunit tests, 'nunit-console.exe "C::\\Projects\\MyProjects\\bin\\Release\\MyLib.Test.dll"'
9
9
  if File.exist? Test.nunit_console
data/lib/upgrade.rb CHANGED
@@ -3,12 +3,9 @@ require_relative('./environment.rb')
3
3
  class Upgrade < Array
4
4
 
5
5
  def initialize
6
- puts "Upgrade discovery"
7
6
  if(Environment.scm=='git' && Environment.branch=='develop')
8
7
  Dir.glob('dep/**/*.dll').each {|f|
9
8
  src=Environment.dev_root + "/" + f
10
- puts "source: " + src
11
- puts " dest: " + f + " " + File.mtime(f).to_s
12
9
  if(File.exist?(src) && File.mtime(src) > File.mtime(f))
13
10
  self.add "<%FileUtils.cp('#{src}','#{f}')%>"
14
11
  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.33
4
+ version: 0.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lou Parslow